.edupro-schedule-pro-layout {
    min-height: 100vh;
    display: flex;
    background: #f5f8fc;
    color: #0f172a;
    overflow: visible;
}

.edupro-schedule-pro-main {
    flex: 1;
    min-height: 100vh;
    margin-left: 270px;
    padding: 40px 52px;
    box-sizing: border-box;
}

.edupro-page-head {
    margin-bottom: 34px;
}

.edupro-page-head h1 {
    margin: 0 0 8px;
    font-size: 32px;
    line-height: 1.2;
    color: #061733;
    font-weight: 900;
}

.edupro-page-head p {
    margin: 0;
    color: #526783;
    font-size: 16px;
}

.edupro-schedule-pro-grid {
    display: grid;
    grid-template-columns: 420px minmax(0, 1fr);
    gap: 32px;
    align-items: start;
}

.edupro-create-session-card,
.edupro-class-card,
.edupro-box,
.edupro-session-modal,
.edupro-assignment-modal,
.edupro-question-modal,
.edupro-viewer-modal {
    background: #fff;
    border: 1px solid #d8e1ec;
    border-radius: 16px;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08);
}

.edupro-sidebar-column {
    height: 100%;
}

.edupro-create-session-card {
    padding: 26px;
    position: sticky;
    top: 24px;
}

.edupro-create-session-card h2 {
    margin: 0 0 24px;
    font-size: 20px;
    color: #061733;
    font-weight: 900;
}

.edupro-create-session-card h2 span {
    color: #4f46e5;
}

.edupro-form-group {
    margin-bottom: 18px;
}

.edupro-form-group label {
    display: block;
    font-weight: 900;
    color: #142846;
    margin-bottom: 9px;
    font-size: 14px;
}

.edupro-form-group label b {
    color: #e11d48;
}

.edupro-form-group input,
.edupro-form-group select,
.edupro-form-group textarea,
.edupro-filter-row input,
.edupro-filter-row select,
.edupro-builder-block select,
.option-row input[type="text"],
.blank-row input,
.image-option-row input[type="text"],
.image-option-row input[type="url"],
.pair-row input,
.reorder-row input {
    width: 100%;
    min-height: 48px !important;
    border: 1px solid #bfd0e4;
    border-radius: 12px;
    padding: 0 14px;
    background: #fff;
    color: #061733;
    outline: none;
    box-sizing: border-box;
    font-size: 15px;
    transition: 0.2s;
}

.edupro-form-group textarea {
    padding: 12px 14px;
    resize: vertical;
    line-height: 1.5;
}

.edupro-form-group input:focus,
.edupro-form-group select:focus,
.edupro-form-group textarea:focus,
.edupro-filter-row input:focus,
.edupro-filter-row select:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}

.edupro-time-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.edupro-btn-primary-full,
.edupro-btn-primary,
.edupro-btn-light,
.edupro-btn-dashed {
    min-height: 44px;
    border-radius: 11px;
    padding: 0 18px;
    cursor: pointer;
    font-size: 17px;
    transition: 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.muti-result {
    margin-bottom: 10px;
    display: block;
}

.edupro-btn-primary-full,
.edupro-btn-primary {
    border: 0;
    background: #4f46e5;
    color: #fff;
    box-shadow: 0 10px 20px rgba(79, 70, 229, 0.18);
}

.edupro-btn-primary-full {
    width: 100%;
    background: #9b8cf6;
}

.edupro-btn-primary:hover,
.edupro-btn-primary-full:hover {
    transform: translateY(-1px);
    background: #4338ca;
}

.edupro-btn-light {
    border: 1px solid #bfd0e4;
    background: #fff;
    color: #193455;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
}

.edupro-btn-light:hover {
    border-color: #4f46e5;
    color: #4f46e5;
    background: #f8faff;
}

.edupro-btn-dashed {
    border: 1px dashed #4f46e5;
    background: #eef2ff;
    color: #4f46e5;
}

.edupro-filter-row {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.edupro-filter-row select,
.edupro-filter-row input {
    width: auto;
    min-width: 170px;
}

.edupro-class-card {
    margin-bottom: 24px;
    overflow: hidden;
}

.edupro-class-card-head {
    min-height: 76px;
    padding: 0;
    border-bottom: 1px solid #eef2f7;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #fff;
}

.edupro-class-card-head h2 {
    margin: 0 0 4px;
    font-size: 21px;
    color: #061733;
    font-weight: 900;
}

.edupro-class-card-head p {
    margin: 0;
    color: #526783;
    font-size: 14px;
}

.edupro-class-card-head span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    border-radius: 999px;
    background: #eef2ff;
    color: #4f46e5;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 900;
}

.edupro-session-item {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) 470px;
    gap: 18px;
    align-items: center;
    padding: 18px 24px;
    border-bottom: 1px solid #eef2f7;
}

.edupro-session-item:last-child {
    border-bottom: 0;
}

.edupro-session-date {
    width: 82px;
    height: 68px;
    border-radius: 14px;
    background: #f1f5f9;
    color: #526783;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-weight: 900;
}

.edupro-session-date strong {
    font-size: 13px;
}

.edupro-session-date span {
    font-size: 13px;
    margin-top: 4px;
}

.edupro-session-main-info strong {
    display: block;
    font-size: 17px;
    color: #061733;
    margin-bottom: 6px;
}

.edupro-session-main-info p {
    margin: 0 0 8px;
    color: #526783;
}

.edupro-session-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.edupro-session-badges span {
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    padding: 3px 9px;
    font-size: 12px;
    font-weight: 800;
}

.edupro-session-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.edupro-session-buttons button {
    min-height: 34px;
    border-radius: 8px;
    border: 1px solid #bfd0e4;
    background: #fff;
    color: #193455;
    font-weight: 800;
    cursor: pointer;
    padding: 0 10px;
    font-size: 13px;
}

.edupro-session-buttons button:hover {
    border-color: #4f46e5;
    color: #4f46e5;
}

.edupro-delete-session {
    border-color: #fecdd3 !important;
    color: #e11d48 !important;
}

.edupro-empty,
.edupro-loading {
    padding: 18px;
    margin: 16px;
    background: #f8fafc;
    border-radius: 12px;
    color: #526783;
    font-weight: 700;
}

.edupro-empty {
    margin: 0 !important;
}

.edupro-modal-open {
    overflow: hidden;
}

.edupro-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(6px);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.edupro-modal-overlay.is-open {
    display: flex;
}

.edupro-session-modal {
    width: 100%;
    max-width: 1080px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.edupro-assignment-modal {
    width: 100%;
    max-width: 1100px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.edupro-question-modal {
    width: 100%;
    max-width: 1180px;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.edupro-viewer-modal {
    width: 90vw;
    height: 88vh;
    max-width: 1200px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.edupro-modal-head {
    min-height: 72px;
    padding: 0 24px;
    border-bottom: 1px solid #eef2f7;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.edupro-modal-head h2 {
    margin: 0;
    color: #061733;
    font-size: 22px;
    font-weight: 900;
}

.edupro-modal-head p {
    margin: 4px 0 0;
    color: #526783;
    font-size: 14px;
}

.edupro-modal-close {
    width: 38px;
	padding: 0 !important;
    height: 38px;
    border-radius: 50% !important;
    border: 0;
    background: #f1f5f9;
    color: #94a3b8;
    cursor: pointer;
    font-size: 26px;
    display: flex;
    line-height: 1;
    align-items: center;
    justify-content: center;
}

.edupro-modal-close:hover {
    background: #e2e8f0;
    color: #475569;
}

.edupro-session-actions-top {
    padding: 16px 24px;
    border-bottom: 1px solid #eef2f7;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    background: #fbfdff;
}

.edupro-tabs {
    display: flex;
    gap: 8px;
    padding: 0 24px;
    border-bottom: 1px solid #eef2f7;
    overflow: auto;
}

.edupro-tabs button {
    min-height: 58px;
    border: 0;
    background: transparent;
    font-weight: 900;
    color: #64748b;
    cursor: pointer;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
    padding: 0 10px;
}

.edupro-tabs button.active {
    color: #4f46e5;
    border-bottom-color: #4f46e5;
}

.edupro-modal-body {
    padding: 26px;
    overflow: auto;
}

.edupro-tab-panel {
    display: none;
}

.edupro-tab-panel.active {
    display: block;
}

.edupro-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.edupro-box {
    padding: 20px;
    min-height: 320px;
    box-shadow: none;
}

.edupro-box h3 {
    margin: 0 0 16px;
    color: #061733;
    font-weight: 900;
}

.edupro-mini-item {
    min-height: 48px;
    border: 1px solid #d8e1ec;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 12px;
    margin-bottom: 10px;
    background: #fff;
}

.edupro-mini-item.selected {
    background: #f8fafc;
}

.edupro-mini-item span {
    font-weight: 800;
    color: #334155;
}

.edupro-mini-item button {
    border: 0;
    background: #eef2ff;
    color: #4f46e5;
    border-radius: 8px;
    min-width: 34px;
    min-height: 34px;
    cursor: pointer;
    font-weight: 900;
}

.edupro-mini-item .view-secure-material {
    min-width: auto;
    padding: 0 12px;
}

.edupro-assignment-toolbar {
    margin-bottom: 16px;
}

.edupro-assignment-item {
    border: 1px solid #d8e1ec;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #fff;
}

.edupro-assignment-item strong {
    color: #061733;
    font-size: 16px;
}

.edupro-assignment-item p {
    margin: 6px 0 0;
    color: #526783;
}

.edupro-assignment-item button {
    border: 1px solid #bfd0e4;
    background: #fff;
    color: #193455;
    border-radius: 9px;
    min-height: 38px;
    padding: 0 14px;
    font-weight: 900;
    cursor: pointer;
}

.edupro-assignment-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    white-space: nowrap;
}

.edupro-assignment-item .delete-assignment {
    border-color: #fecaca;
    background: #fff5f5;
    color: #dc2626;
}

.edupro-assignment-item .delete-assignment:hover {
    background: #fee2e2;
    border-color: #fca5a5;
}

.edupro-question-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.edupro-question-head select {
    max-width: 240px;
}

.edupro-question-row {
    border: 1px solid #d8e1ec;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.edupro-question-row strong {
    color: #061733;
}

.edupro-question-row p {
    margin: 8px 0;
    color: #526783;
}

.edupro-question-row span {
    display: inline-flex;
    border-radius: 999px;
    background: #eef2ff;
    color: #4f46e5;
    padding: 3px 9px;
    font-size: 12px;
    font-weight: 900;
}

.edupro-question-row button {
    border: 1px solid #bfd0e4;
    background: #fff;
    color: #193455;
    border-radius: 9px;
    min-height: 38px;
    padding: 0 14px;
    font-weight: 900;
    cursor: pointer;
}

.edupro-switch-line {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 12px 0 20px;
    font-weight: 900;
    color: #142846;
}

.edupro-review-errors {
    border: 1px solid #fecdd3;
    background: #fff1f2;
    color: #9f1239;
    border-radius: 12px;
    padding: 16px;
}

.edupro-review-errors h3 {
    margin: 0 0 10px;
}

.edupro-review-ok {
    border: 1px solid #86efac;
    background: #dcfce7;
    color: #047857;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 20px;
}

.edupro-question-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) 360px;
    gap: 24px;
    overflow: auto;
}

.edupro-builder-block {
    border: 1px solid #d8e1ec;
    background: #f8fafc;
    border-radius: 14px;
    padding: 16px;
    margin-bottom: 18px;
}

.edupro-builder-block h3 {
    margin: 0 0 12px;
    color: #061733;
}

.edupro-help {
    margin: 0 0 12px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.5;
}

.edupro-option-line {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 12px;
    color: #334155;
    font-weight: 800;
}

.option-row,
.image-option-row,
.pair-row,
.blank-row,
.reorder-row {
    display: grid;
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
}

.option-row {
    grid-template-columns: 34px 1fr 42px;
}

.image-option-row {
    grid-template-columns: 34px 1fr 1fr 42px;
}

.pair-row {
    grid-template-columns: 1fr 32px 1fr 42px;
}

.blank-row {
    grid-template-columns: 120px 1fr 1fr 90px 42px;
}

.reorder-row {
    grid-template-columns: 1fr 42px;
}

.option-row input[type="radio"],
.option-row input[type="checkbox"],
.image-option-row input[type="radio"] {
    width: 20px;
    min-height: 20px;
}

.image-option-row input[type="file"] {
    min-height: 48px;
    border: 1px solid #bfd0e4;
    border-radius: 12px;
    padding: 10px;
    background: #fff;
    box-sizing: border-box;
}

.remove-row {
    height: 42px;
    border: 0;
    border-radius: 10px;
    background: #fff1f2;
    color: #e11d48;
    font-size: 30px;
    cursor: pointer;
    font-weight: 400;
}

.edupro-question-preview {
    position: sticky;
    top: 0;
    align-self: start;
    background: #f8fafc;
    border: 1px solid #d8e1ec;
    border-radius: 14px;
    padding: 18px;
    max-height: 70vh;
    overflow: auto;
}

.edupro-question-preview h3 {
    margin: 0 0 14px;
    color: #061733;
}

.preview-card {
    font-size: 14px;
    color: #334155;
    line-height: 1.5;
}

.preview-question {
    background: #fff;
    border: 1px solid #d8e1ec;
    border-radius: 10px;
    padding: 12px;
    margin: 10px 0;
}

.preview-card ul {
    margin: 8px 0 0 18px;
    padding: 0;
}

.edupro-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid #eef2f7;
}

#edupro-secure-viewer {
    flex: 1;
    background: #f8fafc;
}

#edupro-secure-viewer iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.edupro-animate-item {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.45s ease;
}

.edupro-animate-item.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1200px) {
    .edupro-session-item {
        grid-template-columns: 100px 1fr;
    }

    .edupro-session-buttons {
        grid-column: 1/-1;
        justify-content: flex-start;
    }

    .edupro-question-grid {
        grid-template-columns: 1fr;
    }

    .edupro-question-preview {
        position: relative;
        max-height: none;
    }
}

@media (max-width: 1100px) {

    .edupro-schedule-pro-grid,
    .edupro-two-col {
        grid-template-columns: 1fr;
    }

    .edupro-create-session-card {
        position: relative;
        top: auto;
    }

    .edupro-schedule-pro-main {
        margin-left: 0;
        padding: 24px 18px;
    }
}

@media (max-width: 768px) {

    .edupro-time-row,
    .blank-row,
    .image-option-row,
    .pair-row {
        grid-template-columns: 1fr;
    }

    .edupro-session-item {
        grid-template-columns: 1fr;
    }

    .edupro-filter-row {
        flex-direction: column;
    }

    .edupro-filter-row select,
    .edupro-filter-row input {
        width: 100%;
    }

    .edupro-modal-overlay {
        padding: 8px;
    }

    .edupro-modal-body {
        padding: 16px;
    }

    .edupro-tabs {
        padding: 0 12px;
    }

    .edupro-session-actions-top {
        padding: 12px;
    }

    .edupro-session-modal,
    .edupro-assignment-modal,
    .edupro-question-modal {
        max-height: 96vh;
    }

    .edupro-page-head h1 {
        font-size: 28px;
    }
}

/* =========================================================
EduPro Schedule Pro - nổi bật card lớp/ngày học + icon
========================================================= */
.edupro-class-card {
    overflow: hidden;
    margin-bottom: 28px;
    background: #ffffff;
    border: 1px solid #dbe4f0;
    border-radius: 22px;
    box-shadow: 0 12px 32px rgba(31, 41, 55, 0.08);
}

.edupro-class-card-head {
    min-height: 96px;
    padding: 0;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    border-bottom: 1px solid #edf2f7;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.edupro-class-title-row {
    display: flex;
    align-items: center;
    gap: 16px;
}

.edupro-class-title-icon {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    background: linear-gradient(135deg, #eef2ff 0%, #ddd6fe 100%);
    color: #4f46e5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px rgba(79, 70, 229, 0.12);
    flex-shrink: 0;
}

.edupro-class-title-icon svg {
    width: 25px;
    height: 25px;
}

.edupro-class-card-head h2 {
    margin: 0 0 6px;
    font-size: 30px;
    font-weight: 900;
    color: #0b1f44;
    line-height: 1.1;
}

.edupro-class-card-head p {
    margin: 0;
    color: #4f6483;
    font-size: 15px;
    font-weight: 700;
}

.edupro-class-card-head p strong {
    color: #28476f;
    font-weight: 900;
}

.edupro-class-card-head .edupro-class-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef2ff 0%, #e0e7ff 100%);
    color: #4f46e5;
    font-size: 14px;
    font-weight: 900;
    white-space: nowrap;
}

.edupro-class-session-list {
    background: #fff;
}

.edupro-session-item {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    align-items: center;
    padding: 24px 0;
    border-bottom: 1px solid #edf2f7;
    transition: background .2s ease, transform .2s ease;
}

.edupro-session-item:hover {
    background: #fbfdff;
}

.edupro-session-item:last-child {
    border-bottom: 0;
}

.edupro-session-click {
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 24px;
    min-width: 0;
    text-align: left;
    cursor: pointer;
}

.edupro-session-date {
    width: 106px;
    min-width: 106px;
    height: 64px;
    border-radius: 20px;
    background: linear-gradient(135deg, #f3f7fc 0%, #e9eff7 100%);
    color: #4a6080;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.edupro-session-date strong {
    font-size: 14px;
    line-height: 1;
    margin-bottom: 8px;
    color: #60728f;
    font-weight: 900;
}

.edupro-session-date span {
    font-size: 12px;
    color: #60728f;
    font-weight: 800;
    margin-top: 0;
}

.edupro-session-main-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.edupro-session-time {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #0b1f44;
}

.edupro-session-time strong {
    font-size: 20px;
    line-height: 1.05;
    font-weight: 900;
    color: #0b1f44;
    margin: 0;
}

.edupro-inline-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef2ff 0%, #ddd6fe 100%);
    color: #4f46e5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.16);
}

.edupro-inline-icon svg {
    width: 18px;
    height: 18px;
}

.edupro-session-main-info p {
    margin: 0;
    font-size: 14px;
    color: #111;
    max-width: 520px;
    line-height: 1.45;
}

.edupro-session-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 2px;
}

.edupro-session-badges span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
}

.edupro-session-badges span.material.has-data {
    background: #eff6ff;
    color: #2563eb;
}

.edupro-session-badges span.quick.has-data {
    background: #fff7ed;
    color: #ea580c;
}

.edupro-session-badges span.homework.has-data {
    background: #fdf2f8;
    color: #db2777;
}

.edupro-session-badges span.is-empty {
    background: #f1f5f9;
    color: #64748b;
}

.edupro-session-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
}

.edupro-session-buttons button {
    min-height: 42px;
    padding: 0 15px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    transition: all .2s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    border: 1px solid #bfdbfe;
    background: #eef6ff;
    color: #2563eb;
}

.edupro-session-buttons button svg {
    width: 17px;
    height: 17px;
}

.edupro-session-buttons button:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.edupro-session-buttons .edupro-btn-material {
    background: #ecfdf5;
    border-color: #a7f3d0;
    color: #059669;
}

.edupro-session-buttons .edupro-btn-quick {
    background: #fff7ed;
    border-color: #fdba74;
    color: #ea580c;
}

.edupro-session-buttons .edupro-btn-homework {
    background: #fdf2f8;
    border-color: #f9a8d4;
    color: #db2777;
}

.edupro-session-buttons .edupro-delete-session {
    border: 1px solid #fecdd3 !important;
    background: #fff1f2 !important;
    color: #e11d48 !important;
}

.edupro-session-buttons .edupro-delete-session:hover {
    background: #ffe4e6 !important;
}

/* Fix scroll modal thêm câu hỏi */
.edupro-question-modal {
    max-height: 92vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.edupro-question-modal .edupro-modal-head {
    flex-shrink: 0;
}

.edupro-question-modal .edupro-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 26px;
}

/* Nếu form nằm trực tiếp trong modal-body */
.edupro-question-modal form {
    min-height: 0;
}

/* Cho khối grid bên trong được co và scroll đúng */
.edupro-question-grid {
    min-height: 0;
}

/* Review bên phải vẫn cuộn riêng nếu nội dung dài */
.edupro-question-preview {
    max-height: calc(92vh - 170px);
    overflow-y: auto;
}

.edupro-question-modal>form {
    flex: 1;
    overflow-y: auto;
    padding: 26px;
    min-height: 0;
}

/* Select lọc / select trong modal */
.edupro-schedule-page select,
.edupro-session-modal select,
.edupro-question-modal select,
.edupro-form-group select,
#question-skill-filter {
    height: 48px;
    min-height: 48px;
    width: 100%;
    border: 1px solid #bfd0e4;
    border-radius: 12px;
    background-color: #fff;
    color: #142846;
    padding: 0 44px 0 14px;
    font-size: 15px;
    font-weight: 700;
    outline: none;
    box-sizing: border-box;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #64748b 50%),
        linear-gradient(135deg, #64748b 50%, transparent 50%),
        linear-gradient(to right, transparent, transparent);
    background-position:
        calc(100% - 22px) 50%,
        calc(100% - 16px) 50%,
        100% 0;
    background-size:
        6px 6px,
        6px 6px,
        44px 100%;
    background-repeat: no-repeat;
    transition: all 0.2s ease;
}

.edupro-schedule-page select:hover,
.edupro-session-modal select:hover,
.edupro-question-modal select:hover,
.edupro-form-group select:hover,
#question-skill-filter:hover {
    border-color: #8da2c0;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}

.edupro-schedule-page select:focus,
.edupro-session-modal select:focus,
.edupro-question-modal select:focus,
.edupro-form-group select:focus,
#question-skill-filter:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.12);
}

/* Select nhỏ như "Tất cả kỹ năng" */
.edupro-question-filter select,
.edupro-filter-select,
.edupro-question-toolbar select {
    width: auto;
    min-width: 180px;
}

/* File input mặc định làm đẹp hơn */
.edupro-question-modal input[type="file"],
.edupro-session-modal input[type="file"],
.edupro-form-group input[type="file"] {
    width: 100%;
    min-height: 48px;
    border: 1px solid #bfd0e4;
    border-radius: 12px;
    background: #fff;
    padding: 9px 12px;
    color: #64748b;
    font-size: 14px;
    font-weight: 700;
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.2s ease;
}

.edupro-question-modal input[type="file"]:hover,
.edupro-session-modal input[type="file"]:hover,
.edupro-form-group input[type="file"]:hover {
    border-color: #8da2c0;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}

.edupro-question-modal input[type="file"]:focus,
.edupro-session-modal input[type="file"]:focus,
.edupro-form-group input[type="file"]:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.12);
}

/* Nút "Chọn tệp" bên trong file input */
.edupro-question-modal input[type="file"]::file-selector-button,
.edupro-session-modal input[type="file"]::file-selector-button,
.edupro-form-group input[type="file"]::file-selector-button {
    height: 32px;
    margin-right: 12px;
    padding: 0 16px;
    border: 0;
    border-radius: 999px;
    background: #eef2ff;
    color: #4f46e5;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    transition: all 0.2s ease;
}

.edupro-question-modal input[type="file"]::-webkit-file-upload-button,
.edupro-session-modal input[type="file"]::-webkit-file-upload-button,
.edupro-form-group input[type="file"]::-webkit-file-upload-button {
    height: 32px;
    margin-right: 12px;
    padding: 0 16px;
    border: 0;
    border-radius: 999px;
    background: #eef2ff;
    color: #4f46e5;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    transition: all 0.2s ease;
}

.edupro-question-modal input[type="file"]::file-selector-button:hover,
.edupro-session-modal input[type="file"]::file-selector-button:hover,
.edupro-form-group input[type="file"]::file-selector-button:hover,
.edupro-question-modal input[type="file"]::-webkit-file-upload-button:hover,
.edupro-session-modal input[type="file"]::-webkit-file-upload-button:hover,
.edupro-form-group input[type="file"]::-webkit-file-upload-button:hover {
    background: #4f46e5;
    color: #fff;
}

/* Dòng đáp án ảnh / file cho gọn hơn */
.edupro-answer-row.image-answer {
    align-items: center;
    gap: 10px;
}

.edupro-answer-row.image-answer input[type="file"] {
    min-width: 0;
}

/* Nút xóa nhỏ bên phải */
.edupro-remove-answer,
.edupro-remove-pair {
    width: 48px;
    min-width: 48px;
    height: 48px;
    border: 0;
    border-radius: 12px;
    background: #fff1f2;
    color: #e11d48;
    font-size: 18px;
    font-weight: 900;
    cursor: pointer;
    transition: all 0.2s ease;
}

.edupro-remove-answer:hover,
.edupro-remove-pair:hover {
    background: #ffe4e6;
    transform: translateY(-1px);
}

@media (max-width: 1280px) {
    .edupro-session-item {
        grid-template-columns: 1fr;
    }

    .edupro-session-buttons {
        justify-content: flex-start;
        padding-left: 130px;
    }
}

@media (max-width: 768px) {
    .edupro-class-card-head {
        flex-direction: column;
        align-items: flex-start;
        padding: 22px;
    }

    .edupro-class-card-head h2 {
        font-size: 26px;
    }

    .edupro-session-click {
        flex-direction: column;
        align-items: flex-start;
    }

    .edupro-session-date {
        width: 96px;
        min-width: 96px;
        height: 86px;
    }

    .edupro-session-time strong {
        font-size: 22px;
    }

    .edupro-session-buttons {
        padding-left: 0;
    }
}

/* =========================================================
 * EDUPRO SCHEDULE - STATUS + PAGINATION + READONLY
 * ========================================================= */

/* Badge trạng thái trong từng ngày học */
.edupro-session-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin-top: 8px;
    padding: 6px 11px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .01em;
    white-space: nowrap;
}

.edupro-session-status-badge.active {
    background: #eef2ff;
    color: #4f46e5;
    border: 1px solid #c7d2fe;
}

.edupro-session-status-badge.completed {
    background: #dcfce7;
    color: #047857;
    border: 1px solid #86efac;
}

.edupro-session-status-badge.postponed {
    background: #fff7ed;
    color: #ea580c;
    border: 1px solid #fed7aa;
}

/* Card ngày học theo trạng thái */
.edupro-session-item.edupro-session-status-active {
    border-color: #e2e8f0;
    background: #ffffff;
}

.edupro-session-item.edupro-session-status-completed {
    border-color: #bbf7d0 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f0fdf4 100%) !important;
}

.edupro-session-item.edupro-session-status-postponed {
    border-color: #fed7aa !important;
    background: linear-gradient(180deg, #ffffff 0%, #fff7ed 100%) !important;
}

/* Làm card completed/postponed dịu hơn nhưng vẫn dễ nhìn */
.edupro-session-status-completed .edupro-session-time strong,
.edupro-session-status-completed .edupro-session-date strong {
    color: #047857;
}

.edupro-session-status-postponed .edupro-session-time strong,
.edupro-session-status-postponed .edupro-session-date strong {
    color: #ea580c;
}

/* Note thay cho nút thêm/xóa khi buổi đã hoàn thành */
.edupro-session-locked-note {
    min-height: 38px;
    padding: 0 15px;
    border-radius: 13px;
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #e2e8f0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

/* Pagination AJAX */
.edupro-schedule-pagination {
    margin: 22px 0 0;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.edupro-schedule-page-btn {
    min-width: 39px;
    height: 39px;
    padding: 0 13px;
    border: 1px solid #dbe4ef;
    border-radius: 12px;
    background: #ffffff;
    color: #334155;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    transition: .18s ease;
}

.edupro-schedule-page-btn:hover:not(:disabled) {
    border-color: #4f46e5;
    background: #eef2ff;
    color: #4f46e5;
    transform: translateY(-1px);
}

.edupro-schedule-page-btn.active {
    border-color: #4f46e5;
    background: #4f46e5;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(79, 70, 229, 0.22);
}

.edupro-schedule-page-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
}

.edupro-schedule-page-dots {
    padding: 0 4px;
    color: #94a3b8;
    font-weight: 900;
}

.edupro-schedule-page-info {
    margin-left: 8px;
    color: #64748b;
    font-size: 13px;
    font-weight: 900;
}

/* Modal readonly khi buổi học đã hoàn thành hoặc đã báo nghỉ */
.edupro-session-modal-readonly .edupro-session-actions-top,
.edupro-session-modal-readonly [data-create-assignment],
.edupro-session-modal-readonly .add-session-material,
.edupro-session-modal-readonly .remove-session-material {
    display: none !important;
}

.edupro-session-modal-readonly #edupro-session-update-form button[type="submit"] {
    display: none !important;
}

.edupro-session-modal-readonly textarea,
.edupro-session-modal-readonly input,
.edupro-session-modal-readonly select {
    background: #f8fafc !important;
    color: #64748b !important;
    cursor: not-allowed;
}

.edupro-readonly-note {
    margin-top: 14px;
    padding: 13px 15px;
    border-radius: 14px;
    background: #f8fafc;
    color: #475569;
    border: 1px dashed #cbd5e1;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 800;
}

/* Hiển thị tài liệu/bài tập trong modal readonly đẹp hơn */
.edupro-session-modal-readonly .edupro-mini-item,
.edupro-session-modal-readonly .edupro-assignment-item {
    background: #ffffff;
    border-color: #e2e8f0;
}

.edupro-session-modal-readonly .open-assignment,
.edupro-session-modal-readonly .view-secure-material {
    background: #eef2ff;
    color: #4f46e5;
    border-color: #c7d2fe;
}

/* Responsive phân trang */
@media (max-width: 767px) {
    .edupro-schedule-pagination {
        justify-content: flex-start;
        padding: 12px;
        gap: 6px;
    }

    .edupro-schedule-page-btn {
        min-width: 36px;
        height: 36px;
        padding: 0 10px;
        font-size: 13px;
    }

    .edupro-schedule-page-info {
        width: 100%;
        margin-left: 0;
        margin-top: 6px;
    }

    .edupro-session-status-badge {
        font-size: 11px;
        padding: 5px 9px;
    }

    .edupro-session-locked-note {
        width: 100%;
        min-height: 36px;
    }
}

/* =========================================================
 * EDUPRO SESSION MODAL - STICKY SAVE FOOTER
 * ========================================================= */

.edupro-session-modal {
    display: flex;
    flex-direction: column;
    max-height: 92vh;
    overflow: hidden;
}

.edupro-session-modal .edupro-modal-body {
    flex: 1;
    overflow-y: auto;
    padding-bottom: 24px;
}

.edupro-session-sticky-footer {
    position: sticky;
    bottom: 0;
    z-index: 30;
    padding: 16px 22px;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid #e2e8f0;
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    box-shadow: 0 -14px 34px rgba(15, 23, 42, 0.08);
}

.edupro-session-sticky-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.edupro-session-sticky-info strong {
    color: #0f172a;
    font-size: 14px;
    font-weight: 900;
}

.edupro-session-sticky-info span {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
}

#edupro-save-session-any-tab {
    min-height: 44px;
    padding: 0 22px;
    border-radius: 14px;
    white-space: nowrap;
    box-shadow: 0 10px 22px rgba(79, 70, 229, 0.22);
}

#edupro-save-session-any-tab:disabled {
    opacity: .65;
    cursor: not-allowed;
    box-shadow: none;
}

/* Ẩn nút cũ trong tab Tổng quan để không bị trùng */
.edupro-overview-save-btn {
    display: none !important;
}

/* Buổi đã hoàn thành / đã báo nghỉ thì chỉ xem lại, không hiện thanh lưu */
.edupro-session-modal-readonly .edupro-session-sticky-footer {
    display: none !important;
}

@media (max-width: 767px) {
    .edupro-session-sticky-footer {
        padding: 14px;
        flex-direction: column;
        align-items: stretch;
    }

    .edupro-session-sticky-info span {
        font-size: 12.5px;
    }

    #edupro-save-session-any-tab {
        width: 100%;
    }
}

/* =========================================================
 * FIX CỨNG MODAL NGÀY HỌC - TAB HỌC LIỆU KHÔNG BỊ LỖI SCROLL
 * ========================================================= */

/* Modal chính */
#edupro-session-modal .edupro-session-modal {
    width: min(1180px, calc(100vw - 40px)) !important;
    max-width: min(1180px, calc(100vw - 40px)) !important;
    height: auto !important;
    max-height: 92vh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border-radius: 22px !important;
}

/* Header không scroll */
#edupro-session-modal .edupro-modal-head,
#edupro-session-modal .edupro-session-actions-top,
#edupro-session-modal .edupro-tabs {
    flex: 0 0 auto !important;
}

/* Chỉ cho BODY scroll dọc, không cho bất cứ chỗ nào scroll ngang */
#edupro-session-modal .edupro-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 28px !important;
    box-sizing: border-box !important;
}

/* Tắt mọi overflow lạ ở panel */
#edupro-session-modal .edupro-tab-panel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Tab học liệu 2 cột chuẩn */
#edupro-session-modal .edupro-two-col {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 24px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Box trong học liệu */
#edupro-session-modal .edupro-box {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Danh sách tài liệu */
#edupro-session-modal #available-materials,
#edupro-session-modal #selected-materials {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Item tài liệu không được kéo ngang */
#edupro-session-modal .edupro-material-item,
#edupro-session-modal .edupro-mini-item,
#edupro-session-modal .edupro-assignment-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Nếu item dùng flex thì ép không bung */
#edupro-session-modal .edupro-material-item,
#edupro-session-modal .edupro-mini-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* Phần text trong item được co lại */
#edupro-session-modal .edupro-material-item>div,
#edupro-session-modal .edupro-mini-item>div,
#edupro-session-modal .edupro-assignment-item>div {
    min-width: 0 !important;
    max-width: 100% !important;
}

/* Text dài thì xuống dòng */
#edupro-session-modal .edupro-material-item h4,
#edupro-session-modal .edupro-material-item strong,
#edupro-session-modal .edupro-mini-item h4,
#edupro-session-modal .edupro-mini-item strong,
#edupro-session-modal .edupro-assignment-item h4,
#edupro-session-modal .edupro-assignment-item strong,
#edupro-session-modal .edupro-material-item p,
#edupro-session-modal .edupro-mini-item p {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

/* Khu vực nút không được làm bung layout */
#edupro-session-modal .edupro-material-actions,
#edupro-session-modal .edupro-mini-actions,
#edupro-session-modal .edupro-item-actions,
#edupro-session-modal .edupro-assignment-actions {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

/* Fix riêng thanh tab không tạo thanh scroll xấu */
#edupro-session-modal .edupro-tabs {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
}

#edupro-session-modal .edupro-tabs::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
}

/* Xóa các scrollbar ngang/lạ của mọi lớp con trong modal */
#edupro-session-modal * {
    box-sizing: border-box !important;
}

#edupro-session-modal .edupro-tab-panel *,
#edupro-session-modal .edupro-two-col *,
#edupro-session-modal .edupro-box * {
    max-width: 100%;
}

/* Sticky footer nằm dưới, không làm modal sinh scroll ngang */
#edupro-session-modal .edupro-session-sticky-footer {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

/* Mobile / màn nhỏ */
@media (max-width: 900px) {
    #edupro-session-modal .edupro-session-modal {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        max-height: 94vh !important;
        padding-top: 15px;
    }

    #edupro-session-modal .edupro-modal-body {
        padding: 18px !important;
    }

    #edupro-session-modal .edupro-two-col {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    #edupro-session-modal .edupro-session-actions-top {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
    }

    #edupro-session-modal .edupro-session-actions-top::-webkit-scrollbar {
        width: 0 !important;
        height: 0 !important;
    }
}

/* =========================================================
   EDUPRO UI FIX V26 - Sidebar/menu/table responsive chuẩn
   Ghi đè các đoạn CSS cũ bị trùng gây hở sidebar / mất chữ.
========================================================= */
:root {
    --edupro-smart-sidebar: 270px;
    --edupro-smart-sidebar-mini: 86px;
    --edupro-smart-sidebars: 290px;
    --edupro-smart-bg: #f4f7fb;
    --edupro-smart-dark: #0f172a;
    --edupro-smart-primary: #6d5df6;
}

html, body {
    overflow-x: hidden !important;
}

body.edupro-has-smart-sidebar .edupro-role-sidebar-toggle {
    position: fixed;
    top: 18px;
    left: 218px;
    z-index: 100100;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(148, 163, 184, .25);
    border-radius: 14px;
    background: #ffffff;
    color: #0f172a;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    cursor: pointer;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .12);
    transition: .22s ease;
}

body.edupro-has-smart-sidebar .edupro-role-sidebar-toggle span {
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    display: block;
}

body.edupro-sidebar-collapsed .edupro-role-sidebar-toggle {
    left: 21px;
}

body.edupro-smart-sidebar-admin .edupro-role-sidebar-toggle {
    left: 212px;
}

body.edupro-smart-sidebar-admin.edupro-sidebar-collapsed .edupro-role-sidebar-toggle {
    left: 20px;
}

body.edupro-has-smart-sidebar .edupro-sidebar-mobile-overlay {
    position: fixed;
    inset: 0;
    z-index: 100050;
    background: rgba(15, 23, 42, .48);
    opacity: 0;
    visibility: hidden;
    transition: .22s ease;
}

body.edupro-sidebar-open .edupro-sidebar-mobile-overlay {
    opacity: 1;
    visibility: visible;
}

@media (min-width: 1025px) {

    body.edupro-smart-sidebar-teacher .edupro-teacher-sidebar,
    body.edupro-smart-sidebar-student .edupro-student-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: var(--edupro-smart-sidebar) !important;
        min-width: var(--edupro-smart-sidebar) !important;
        max-width: var(--edupro-smart-sidebar) !important;
        height: 100vh !important;
        min-height: 100vh !important;
        max-height: 100vh !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        background: var(--edupro-smart-dark) !important;
        color: #e5eefc !important;
        opacity: 1 !important;
        visibility: visible !important;
        z-index: 100000 !important;
        box-shadow: 10px 0 34px rgba(15, 23, 42, .08) !important;
        transition: width .24s ease, min-width .24s ease, max-width .24s ease;
    }

    body.edupro-smart-sidebar-admin .edupro-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: 270px !important;
        min-width: 270px !important;
        max-width: 270px !important;
        height: 100vh !important;
        min-height: 100vh !important;
        max-height: 100vh !important;
        background: #ffffff !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        z-index: 100000 !important;
        box-shadow: 10px 0 34px rgba(15, 23, 42, .06) !important;
        transition: width .24s ease, min-width .24s ease, max-width .24s ease;
    }

    body.edupro-smart-sidebar-teacher .edupro-teacher-dashboard-main,
    body.edupro-smart-sidebar-teacher .edupro-schedule-pro-main,
    body.edupro-smart-sidebar-teacher .edupro-teacher-reviews-main,
    body.edupro-smart-sidebar-teacher .edupro-teacher-material-main,
    body.edupro-smart-sidebar-student .edupro-student-main {
        width: calc(100% - var(--edupro-smart-sidebars)) !important;
        margin-left: var(--edupro-smart-sidebars) !important;
        padding-left: 34px !important;
        padding-right: 34px !important;
        box-sizing: border-box !important;
        transition: margin-left .24s ease, width .24s ease;
    }

    body.edupro-smart-sidebar-admin .edupro-main {
        width: calc(100% - 290px) !important;
        margin-left: 290px !important;
        margin-right: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
        transition: margin-left .24s ease, width .24s ease;
    }

    body.edupro-sidebar-collapsed.edupro-smart-sidebar-teacher .edupro-teacher-sidebar,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-student .edupro-student-sidebar,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-admin .edupro-sidebar {
        width: var(--edupro-smart-sidebar-mini) !important;
        min-width: var(--edupro-smart-sidebar-mini) !important;
        max-width: var(--edupro-smart-sidebar-mini) !important;
    }

    body.edupro-sidebar-collapsed.edupro-smart-sidebar-admin .edupro-sidebar-logo strong,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-admin .edupro-sidebar-menu a>span:not(.edupro-menu-icon),
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-admin .edupro-sidebar-footer a>span:not(.edupro-menu-icon),
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-teacher .edupro-teacher-brand strong,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-teacher .edupro-teacher-menu a span,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-teacher .edupro-teacher-menu-label>span,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-teacher .edupro-teacher-menu-arrow,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-teacher .edupro-teacher-submenu,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-teacher .edupro-teacher-user div:not(.edupro-teacher-user-avatar),
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-teacher .edupro-teacher-logout span,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-student .edupro-student-brand strong,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-student .edupro-student-menu a span,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-student .edupro-student-menu-label>span,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-student .edupro-student-menu-arrow,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-student .edupro-student-submenu,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-student .edupro-student-user div:not(.edupro-student-avatar),
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-student .edupro-student-logout span {
        display: none !important;
    }

    body.edupro-sidebar-collapsed.edupro-smart-sidebar-teacher .edupro-teacher-menu,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-student .edupro-student-menu,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-admin .edupro-sidebar-menu {
        padding-left: 12px !important;
        padding-right: 12px !important;
        align-items: center !important;
    }

    body.edupro-sidebar-collapsed.edupro-smart-sidebar-teacher .edupro-teacher-menu a,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-teacher .edupro-teacher-menu-parent,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-student .edupro-student-menu a,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-student .edupro-student-menu-parent,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-admin .edupro-sidebar-menu a,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-admin .edupro-sidebar-footer a {
        width: 56px !important;
        min-width: 56px !important;
        padding: 0 !important;
        justify-content: center !important;
        gap: 0 !important;
    }

    body.edupro-sidebar-collapsed.edupro-smart-sidebar-teacher .edupro-teacher-dashboard-main,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-teacher .edupro-schedule-pro-main,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-teacher .edupro-teacher-reviews-main,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-teacher .edupro-teacher-material-main,
    body.edupro-sidebar-collapsed.edupro-smart-sidebar-student .edupro-student-main {
        width: calc(100% - var(--edupro-smart-sidebar-mini)) !important;
        margin-left: var(--edupro-smart-sidebar-mini) !important;
    }

    body.edupro-sidebar-collapsed.edupro-smart-sidebar-admin .edupro-main {
        width: calc(100% - var(--edupro-smart-sidebar-mini)) !important;
        margin-left: var(--edupro-smart-sidebar-mini) !important;
    }
}

@media (max-width: 1024px) {
    body.edupro-has-smart-sidebar .edupro-role-sidebar-toggle {
        top: 16px;
        left: 16px !important;
        width: 48px;
        height: 48px;
        border-radius: 16px;
        background: var(--edupro-smart-primary);
        color: #fff;
    }

    body.edupro-smart-sidebar-admin .edupro-sidebar,
    body.edupro-smart-sidebar-teacher .edupro-teacher-sidebar,
    body.edupro-smart-sidebar-student .edupro-student-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: 292px !important;
        min-width: 292px !important;
        max-width: 292px !important;
        height: 100vh !important;
        max-height: 100vh !important;
        overflow-y: auto !important;
        transform: translateX(-110%) !important;
        transition: transform .24s ease !important;
        z-index: 100090 !important;
        opacity: 1 !important;
        visibility: visible !important;
        box-shadow: 20px 0 60px rgba(15, 23, 42, .24) !important;
    }

    body.edupro-sidebar-open.edupro-smart-sidebar-admin .edupro-sidebar,
    body.edupro-sidebar-open.edupro-smart-sidebar-teacher .edupro-teacher-sidebar,
    body.edupro-sidebar-open.edupro-smart-sidebar-student .edupro-student-sidebar {
        transform: translateX(0) !important;
    }

    body.edupro-smart-sidebar-admin .edupro-main,
    body.edupro-smart-sidebar-teacher .edupro-teacher-dashboard-main,
    body.edupro-smart-sidebar-teacher .edupro-schedule-pro-main,
    body.edupro-smart-sidebar-teacher .edupro-teacher-reviews-main,
    body.edupro-smart-sidebar-teacher .edupro-teacher-material-main,
    body.edupro-smart-sidebar-student .edupro-student-main {
        width: 100% !important;
        margin-left: 0 !important;
        padding: 82px 18px 28px !important;
        box-sizing: border-box !important;
    }
}

/* Table/Card responsive đẹp hơn */
.edupro-table, .edupro-student-table, .edupro-teacher-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.edupro-table th, .edupro-student-table th, .edupro-teacher-table th {
    background: #f8fbff !important;
    color: #334155 !important;
    font-weight: 900 !important;
}

.edupro-table td, .edupro-student-table td, .edupro-teacher-table td {
    vertical-align: middle !important;
}

@media (max-width: 768px) {
    .edupro-table thead, .edupro-student-table thead, .edupro-teacher-table thead {
        display: none !important;
    }

    .edupro-table, .edupro-table tbody, .edupro-table tr, .edupro-table td,
    .edupro-student-table, .edupro-student-table tbody, .edupro-student-table tr, .edupro-student-table td,
    .edupro-teacher-table, .edupro-teacher-table tbody, .edupro-teacher-table tr, .edupro-teacher-table td {
        display: block !important;
        width: 100% !important;
    }

    .edupro-table tr, .edupro-student-table tr, .edupro-teacher-table tr {
        margin-bottom: 14px !important;
        border: 1px solid #dfe7f3 !important;
        border-radius: 18px !important;
        background: #fff !important;
        overflow: hidden !important;
        box-shadow: 0 12px 28px rgba(15, 23, 42, .05) !important;
    }

    .edupro-table td, .edupro-student-table td, .edupro-teacher-table td {
        border-bottom: 1px solid #eef2f7 !important;
        padding: 14px 16px !important;
    }

    .edupro-table td:last-child, .edupro-student-table td:last-child, .edupro-teacher-table td:last-child {
        border-bottom: 0 !important;
    }
}

/* ===== Admin teacher detail material form + completed delete button ===== */
.edupro-admin-teacher-panel-head-actions {
    align-items: center;
}

.edupro-admin-teacher-panel-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.edupro-admin-teacher-add-material-toggle,
.edupro-admin-teacher-material-form-actions button[type="submit"] {
    border: 0;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, #6d5df6, #8b5cf6);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(109, 93, 246, .22);
}

.edupro-admin-teacher-material-form {
    margin: 0 0 18px;
    padding: 18px;
    border: 1px solid #dfe7f3;
    border-radius: 18px;
    background: #f8fbff;
}

.edupro-admin-teacher-material-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.edupro-admin-teacher-material-form-grid label {
    display: block;
}

.edupro-admin-teacher-material-form-grid span {
    display: block;
    margin-bottom: 7px;
    color: #334155;
    font-size: 13px;
    font-weight: 900;
}

.edupro-admin-teacher-material-form-grid input,
.edupro-admin-teacher-material-form-grid select {
    width: 100%;
    height: 44px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 0 12px;
    background: #fff;
    color: #0f172a;
}

.edupro-admin-teacher-material-form-full {
    grid-column: 1/-1;
}

.edupro-admin-teacher-material-form-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 14px;
}

.edupro-admin-teacher-material-form-actions button[type="button"] {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334155;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    font-weight: 900;
    cursor: pointer;
}

.edupro-delete-completed-session {
    border-color: #fecdd3 !important;
    color: #e11d48 !important;
    background: #fff1f2 !important;
}

@media(max-width:768px) {
    .edupro-admin-teacher-material-form-grid {
        grid-template-columns: 1fr;
    }

    .edupro-admin-teacher-material-form-actions {
        justify-content: stretch;
        flex-direction: column;
    }
}


/* =========================================================
   EDUPRO V27 - Nút mũi tên thu/mở sidebar nằm ngoài mép menu
   Áp dụng chung: Admin + Giáo viên + Học viên
========================================================= */
body.edupro-has-smart-sidebar .edupro-role-sidebar-toggle {
    position: fixed !important;
    top: 86px !important;
    left: calc(var(--edupro-smart-sidebar, 270px)) !important;
    z-index: 100120 !important;
    width: 36px !important;
    height: 54px !important;
    min-width: 36px !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-left: 0 !important;
    border-radius: 0 18px 18px 0 !important;
    background: linear-gradient(135deg, #6d5df6, #8b5cf6) !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 12px 16px 34px rgba(80, 56, 220, .24) !important;
    cursor: pointer !important;
    transform: translateX(0) !important;
    transition: left .24s ease, transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}

body.edupro-has-smart-sidebar .edupro-role-sidebar-toggle:hover {
    box-shadow: 14px 20px 40px rgba(80, 56, 220, .32) !important;
}

body.edupro-has-smart-sidebar .edupro-role-sidebar-toggle span:not(.edupro-sidebar-arrow) {
    display: none !important;
}

body.edupro-has-smart-sidebar .edupro-role-sidebar-toggle .edupro-sidebar-arrow {
    position: relative !important;
    width: 12px !important;
    height: 12px !important;
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    border-right: 3px solid currentColor !important;
    border-bottom: 3px solid currentColor !important;
    border-radius: 2px !important;
    transform: rotate(135deg) !important;
    transition: transform .24s ease !important;
}

body.edupro-sidebar-collapsed .edupro-role-sidebar-toggle {
    left: calc(var(--edupro-smart-sidebar-mini, 86px)) !important;
}

body.edupro-sidebar-collapsed .edupro-role-sidebar-toggle .edupro-sidebar-arrow {
    transform: rotate(-45deg) !important;
}

/* Nếu sidebar admin dùng width hơi khác, vẫn neo theo biến chung để đồng bộ 3 giao diện */
body.edupro-smart-sidebar-admin .edupro-role-sidebar-toggle {
    left: calc(var(--edupro-smart-sidebar, 270px)) !important;
}

body.edupro-smart-sidebar-admin.edupro-sidebar-collapsed .edupro-role-sidebar-toggle {
    left: calc(var(--edupro-smart-sidebar-mini, 86px)) !important;
}

@media (max-width: 1024px) {
    body.edupro-has-smart-sidebar .edupro-role-sidebar-toggle {
        top: 84px !important;
        left: 0 !important;
        width: 42px !important;
        height: 58px !important;
        border-radius: 0 20px 20px 0 !important;
        border-left: 0 !important;
        background: linear-gradient(135deg, #6d5df6, #8b5cf6) !important;
        color: #fff !important;
        box-shadow: 12px 16px 34px rgba(80, 56, 220, .25) !important;
    }

    body.edupro-has-smart-sidebar .edupro-role-sidebar-toggle .edupro-sidebar-arrow {
        transform: rotate(-45deg) !important;
    }

    body.edupro-sidebar-open .edupro-role-sidebar-toggle {
        left: 292px !important;
        transform: translateX(-18px) !important;
        border-radius: 18px !important;
    }

    body.edupro-sidebar-open .edupro-role-sidebar-toggle .edupro-sidebar-arrow {
        transform: rotate(135deg) !important;
    }
}

@media (max-width: 480px) {
    body.edupro-sidebar-open .edupro-role-sidebar-toggle {
        left: min(292px, calc(100vw - 38px)) !important;
    }
}


/* =========================================================
   EDUPRO MOBILE/TABLET TOP BAR - MENU + THÔNG BÁO
   Áp dụng cho Admin, Giáo viên, Học viên.
========================================================= */
.edupro-mobile-topbar {
    display: none;
}

@media (max-width: 1024px) {
    body.edupro-mobile-topbar-active {
        padding-top: 72px !important;
    }

    body.edupro-mobile-topbar-active .edupro-role-sidebar-toggle {
        display: none !important;
    }

    .edupro-mobile-topbar {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: 66px;
        z-index: 100050;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 14px;
        background: rgba(248, 250, 255, 0.94);
        border-bottom: 1px solid rgba(203, 213, 225, 0.82);
        box-shadow: 0 14px 34px rgba(15, 23, 42, 0.12);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        box-sizing: border-box;
    }

    .edupro-mobile-menu-btn {
        height: 46px;
        border: 0;
        border-radius: 16px;
        padding: 0 16px;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        background: linear-gradient(135deg, #5b5cf6, #8b5cf6);
        color: #ffffff;
        font-size: 14px;
        font-weight: 900;
        letter-spacing: .01em;
        box-shadow: 0 14px 30px rgba(91, 92, 246, 0.26);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .edupro-mobile-menu-btn:active {
        transform: translateY(1px);
    }

    .edupro-mobile-menu-lines {
        width: 19px;
        display: grid;
        gap: 4px;
    }

    .edupro-mobile-menu-lines i {
        display: block;
        height: 2px;
        border-radius: 99px;
        background: currentColor;
    }

    .edupro-mobile-menu-lines i:nth-child(2) {
        width: 14px;
    }

    body.edupro-sidebar-open .edupro-mobile-menu-lines i:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    body.edupro-sidebar-open .edupro-mobile-menu-lines i:nth-child(2) {
        opacity: 0;
    }

    body.edupro-sidebar-open .edupro-mobile-menu-lines i:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .edupro-mobile-topbar-actions {
        min-width: 46px;
        min-height: 46px;
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
    }

    .edupro-mobile-bell-placeholder,
    .edupro-mobile-topbar #eduproNotifyBell .edupro-notify-bell-btn {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        border: 0 !important;
        border-radius: 16px !important;
        background: linear-gradient(135deg, #6d5dfc, #7c3aed) !important;
        color: #ffffff !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 14px 30px rgba(91, 92, 246, 0.28) !important;
        cursor: pointer;
    }

    .edupro-mobile-bell-placeholder span,
    .edupro-mobile-topbar #eduproNotifyBell .edupro-notify-bell-icon {
        font-size: 20px !important;
        line-height: 1 !important;
    }

    .edupro-mobile-topbar #eduproNotifyBell,
    #eduproNotifyBell.edupro-notify-in-mobilebar {
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        z-index: auto !important;
        transform: none !important;
        margin: 0 !important;
    }

    .edupro-mobile-topbar #eduproNotifyBell .edupro-notify-bell-count {
        position: absolute !important;
        top: -8px !important;
        right: -8px !important;
        min-width: 21px !important;
        height: 21px !important;
        padding: 0 6px !important;
        border: 3px solid #f8faff !important;
        border-radius: 999px !important;
        background: #ef4444 !important;
        color: #ffffff !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .edupro-mobile-topbar #eduproNotifyBell .edupro-notify-dropdown {
        max-height: 450px;
        height: 450px;
        overflow-y: scroll;
        position: fixed !important;
        top: 74px !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        transform: none !important;
        border-radius: 22px !important;
        box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22) !important;
        z-index: 100060 !important;
    }

    .edupro-mobile-topbar #eduproNotifyBell .edupro-notify-dropdown::before,
    .edupro-mobile-topbar #eduproNotifyBell .edupro-notify-dropdown::after {
        display: none !important;
    }

    .edupro-notify-toast {
        top: 80px !important;
        right: 14px !important;
        left: 14px !important;
        width: auto !important;
        max-width: none !important;
    }
}

@media (max-width: 480px) {
    body.edupro-smart-sidebar-admin .edupro-main, body.edupro-smart-sidebar-teacher .edupro-teacher-dashboard-main, body.edupro-smart-sidebar-teacher .edupro-schedule-pro-main, body.edupro-smart-sidebar-teacher .edupro-teacher-reviews-main, body.edupro-smart-sidebar-teacher .edupro-teacher-material-main, body.edupro-smart-sidebar-student .edupro-student-main {
        padding: 18px 15px !important;
    }

    .edupro-question-head {
        flex-wrap: wrap;
    }

    #question-skill-filter,
    #open-question-builder {
        width: 100%;
        max-width: 100%;
    }

    body.edupro-mobile-topbar-active {
        padding-top: 64px !important;
    }

    .edupro-mobile-topbar {
        height: 60px;
        padding: 8px 10px;
    }

    .edupro-mobile-menu-btn {
        height: 42px;
        padding: 0 13px;
        border-radius: 14px;
        font-size: 13px;
    }

    .edupro-mobile-bell-placeholder,
    .edupro-mobile-topbar #eduproNotifyBell .edupro-notify-bell-btn {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        border-radius: 14px !important;
    }

    .edupro-mobile-topbar #eduproNotifyBell .edupro-notify-dropdown {
        top: 66px !important;
        left: 8px !important;
        right: 8px !important;
    }
}

/* EduPro assignment audio field */
.edupro-assignment-audio-current audio {
    width: 100%;
    margin-top: 10px;
}

.edupro-assignment-audio-current p,
.edupro-form-group small {
    display: block;
    margin-top: 8px;
    color: #64748b;
    font-size: 13px;
}

/* Nội dung làm bài đã chuyển sang cấp bài tập, giữ field cũ để không mất dữ liệu cũ */
.edupro-question-passage-legacy {
    display: none;
}

/* =====================================================
   EDUPRO - WYSIWYG EDITOR CHO NỘI DUNG BÀI TẬP CHUNG
===================================================== */
.edupro-wysiwyg-editor .edupro-help {
    margin: 0 0 10px;
    color: #64748b;
    font-size: 13px;
    line-height: 1.55;
    font-weight: 700;
}

.edupro-wysiwyg-editor .wp-editor-wrap {
    border: 1px solid #dbe4ef;
    border-radius: 16px;
    overflow: hidden;
    background: #ffffff;
}

.edupro-wysiwyg-editor .wp-editor-tools {
    padding: 8px 10px 0;
    background: #f8fafc;
}

.edupro-wysiwyg-editor .wp-editor-container {
    border: 0 !important;
}

.edupro-wysiwyg-editor textarea.wp-editor-area {
    width: 100%;
    min-height: 260px;
    padding: 14px 16px;
    border: 0;
    outline: none;
    color: #0f172a;
    font-size: 15px;
    line-height: 1.7;
}

.edupro-wysiwyg-editor .mce-toolbar .mce-btn button,
.edupro-wysiwyg-editor .quicktags-toolbar input {
    cursor: pointer;
}

.edupro-wysiwyg-editor .mce-panel {
    border-color: #e2e8f0 !important;
}


/* =========================================================
   EDUPRO - FIX SWEETALERT LUÔN NỔI TRÊN POPUP/MODAL
   Không chỉ dùng z-index thường, vì modal có stacking context riêng.
========================================================= */
body>.swal2-container,
.swal2-container,
.edupro-swal-top-container {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    pointer-events: auto !important;
}

.swal2-container .swal2-popup,
.edupro-swal-top-popup {
    z-index: 2147483647 !important;
    position: relative !important;
}

.swal2-backdrop-show,
.swal2-shown>.swal2-container {
    z-index: 2147483647 !important;
}

/* SweetAlert 1 fallback nếu site có dùng song song */
.sweet-overlay {
    z-index: 2147483646 !important;
}

.sweet-alert {
    z-index: 2147483647 !important;
}

body.swal2-shown .edupro-modal-overlay.is-open {
    pointer-events: none !important;
}

body.swal2-shown .swal2-container {
    pointer-events: auto !important;
}

/* EduPro: vào Tiến độ dạy từ dashboard thì chỉ hiển thị danh sách lớp/ngày học, không hiện box thêm ngày học */
.edupro-schedule-pro-grid-progress {
    grid-template-columns: minmax(0, 1fr) !important;
}

.edupro-progress-only-view .edupro-session-list-area {
    width: 100%;
}

.edupro-progress-only-view .edupro-filter-row {
    align-items: center;
}

.edupro-progress-only-view #edupro-filter-class:disabled {
    opacity: 1;
    cursor: default;
    background: #ffffff;
    color: #0f172a;
    font-weight: 800;
}

.edupro-progress-back-link {
    min-height: 46px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    border: 1px solid #d8e1ec;
    background: #ffffff;
    color: #4f46e5;
    font-weight: 900;
    text-decoration: none;
}

.edupro-progress-back-link:hover {
    background: #eef2ff;
    border-color: #c7d2fe;
}

/* =========================================================
   EduPro - Giữ box "Thêm ngày học mới" đứng im khi scroll
   Merge thêm, không thay đổi HTML/PHP hiện có.
   Layout desktop: cột trái cố định trong row, cột danh sách scroll riêng.
========================================================= */
@media (min-width: 1025px) {
    .edupro-schedule-pro-page:not(.edupro-progress-only-view) {
        height: calc(100vh - 80px);
        min-height: 680px;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .edupro-schedule-pro-page:not(.edupro-progress-only-view) .edupro-page-head {
        flex: 0 0 auto;
    }

    .edupro-schedule-pro-page:not(.edupro-progress-only-view) .edupro-schedule-pro-grid {
        flex: 1 1 auto;
        min-height: 0;
        align-items: stretch;
    }

    .edupro-schedule-pro-page:not(.edupro-progress-only-view) .edupro-sidebar-column {
        position: sticky;
        top: 24px;
        align-self: start;
        max-height: calc(100vh - 110px);
        overflow-y: auto;
        overflow-x: hidden;
        padding-right: 4px;
        scrollbar-width: thin;
    }

    .edupro-schedule-pro-page:not(.edupro-progress-only-view) .edupro-create-session-card {
        position: relative;
        top: auto;
    }

    .edupro-schedule-pro-page:not(.edupro-progress-only-view) .edupro-session-list-area {
        min-height: 0;
        max-height: 100%;
        overflow-y: auto;
        overflow-x: hidden;
        padding-right: 10px;
        scrollbar-width: thin;
    }

    .edupro-schedule-pro-page:not(.edupro-progress-only-view) .edupro-session-list-area::-webkit-scrollbar,
    .edupro-schedule-pro-page:not(.edupro-progress-only-view) .edupro-sidebar-column::-webkit-scrollbar {
        width: 7px;
    }

    .edupro-schedule-pro-page:not(.edupro-progress-only-view) .edupro-session-list-area::-webkit-scrollbar-track,
    .edupro-schedule-pro-page:not(.edupro-progress-only-view) .edupro-sidebar-column::-webkit-scrollbar-track {
        background: transparent;
    }

    .edupro-schedule-pro-page:not(.edupro-progress-only-view) .edupro-session-list-area::-webkit-scrollbar-thumb,
    .edupro-schedule-pro-page:not(.edupro-progress-only-view) .edupro-sidebar-column::-webkit-scrollbar-thumb {
        background: rgba(79, 70, 229, .22);
        border-radius: 999px;
    }
}

@media (max-width: 1024px) {
    .edupro-schedule-pro-page:not(.edupro-progress-only-view) {
        height: auto;
        min-height: 0;
        overflow: visible;
    }

    .edupro-schedule-pro-page:not(.edupro-progress-only-view) .edupro-sidebar-column,
    .edupro-schedule-pro-page:not(.edupro-progress-only-view) .edupro-session-list-area {
        position: relative;
        top: auto;
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }
}

/* EduPro update: tạo ngày học bằng popup */
.edupro-create-session-trigger-column {
    display: flex
}

.edupro-create-session-open {
    width: 100%;
    min-height: 130px;
    border: 1px dashed #8b5cf6;
    background: linear-gradient(135deg, #f5f3ff, #fff);
    border-radius: 22px;
    padding: 22px;
    text-align: left;
    color: #312e81;
    cursor: pointer;
    box-shadow: 0 12px 35px rgba(79, 70, 229, .10)
}

.edupro-create-session-open span {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #4f46e5;
    color: #fff;
    font-size: 24px;
    margin-bottom: 12px
}

.edupro-create-session-open strong, .edupro-create-session-open small {
    display: block
}

.edupro-create-session-open strong {
    font-size: 18px
}

.edupro-create-session-open small {
    color: #64748b;
    margin-top: 6px
}

.edupro-create-session-modal .edupro-create-session-form {
    padding: 22px;
	overflow-y: scroll;
}

.edupro-session-title-name {
    display: block;
    color: #0f172a;
    margin-bottom: 4px;
    font-size: 15px
}

.image-option-row video, .image-option-row audio, .edupro-student-answer-option video, .edupro-student-answer-option audio {
    max-width: 220px;
    width: 100%;
    display: block;
    margin-bottom: 8px;
    border-radius: 12px
}


/* ===== EduPro refined layout: lịch giảng dạy full width + nút thêm cạnh bộ lọc ===== */
.edupro-schedule-pro-grid:not(.edupro-schedule-pro-grid-progress) {
    grid-template-columns: minmax(0, 1fr) !important;
}

.edupro-session-list-area-full {
    width: 100%;
    max-width: 100%;
}

.edupro-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.edupro-filter-row>select,
.edupro-filter-row>input[type="date"] {
    min-width: 170px;
    flex: 0 1 170px;
}

.edupro-create-session-open-inline {
    margin-left: auto;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 18px !important;
    min-height: 50px;
    border-radius: 16px !important;
    white-space: nowrap;
    background: linear-gradient(135deg, #4f46e5, #7c3aed) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 14px 28px rgba(79, 70, 229, .18) !important;
}

.edupro-create-session-open-inline span {
    display: inline-flex;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .18);
    align-items: center;
    justify-content: center;
    font-size: 18px;
    line-height: 1;
}

.edupro-create-session-open-inline strong {
    font-size: 14px;
    line-height: 1.2;
}

#edupro-session-modal .edupro-session-modal,
#edupro-create-session-modal .edupro-session-modal,
#edupro-viewer-modal .edupro-viewer-modal,
#edupro-assignment-modal .edupro-assignment-modal {
    width: min(1500px, 96vw) !important;
    max-width: min(1500px, 96vw) !important;
    max-height: 92vh !important;
}

#edupro-session-modal .edupro-modal-body,
#edupro-viewer-modal .edupro-viewer-body,
#edupro-assignment-modal .edupro-assignment-modal-body {
    max-height: calc(92vh - 88px);
}

@media (max-width: 1024px) {
    .edupro-create-session-open-inline {
        width: 100%;
        margin-left: 0;
    }
}

/* =========================================================
   EDUPRO FIX - TinyMCE dropdown/menu trong popup bài tập
   Modal đang có z-index rất cao nên menu của editor bị nằm phía sau.
========================================================= */
body .mce-menu,
body .mce-panel.mce-menu,
body .mce-floatpanel,
body .mce-popover,
body .mce-tooltip,
body .mce-window {
    z-index: 2147483646 !important;
}

body .mce-menu,
body .mce-floatpanel {
    pointer-events: auto !important;
}

#edupro-assignment-modal .mce-container,
#edupro-assignment-modal .mce-container-body,
#edupro-assignment-modal .mce-toolbar-grp,
#edupro-assignment-modal .mce-toolbar,
#edupro-assignment-modal .mce-btn-group,
#edupro-assignment-modal .wp-editor-container {
    overflow: visible !important;
}

#edupro-assignment-modal .edupro-assignment-modal,
#edupro-assignment-modal .edupro-modal-body,
#edupro-assignment-modal .edupro-tab-panel.active {
    isolation: auto !important;
}

/* EduPro: TinyMCE cho nội dung câu hỏi / yêu cầu làm bài */
.edupro-question-content-editor .wp-editor-wrap {
    border: 1px solid #dbe4f0;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}
.edupro-question-content-editor .wp-editor-tools {
    padding: 8px 10px 0;
    background: #f8fafc;
}
.edupro-question-content-editor .mce-toolbar-grp,
.edupro-question-content-editor .quicktags-toolbar {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
}
.edupro-question-content-editor textarea#question_content {
    min-height: 220px;
}
.edupro-preview-rich-content {
    margin-top: 8px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #e2e8f0;
    line-height: 1.65;
}
.edupro-preview-rich-content p {
    margin: 0 0 8px;
}
.edupro-preview-rich-content p:last-child {
    margin-bottom: 0;
}

/* EduPro final: loading + delete question + image choice edit layout */
.edupro-btn-primary.is-loading,
.edupro-btn-light.is-loading,
.edupro-btn-dashed.is-loading,
.edupro-question-row-actions button.is-loading,
button.is-loading {
    pointer-events: none !important;
    opacity: .82;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.edupro-btn-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 999px;
    display: inline-block;
    animation: eduproSpin .75s linear infinite;
    flex: 0 0 auto;
}

@keyframes eduproSpin {
    to { transform: rotate(360deg); }
}

.edupro-inline-loading-wrap {
    min-height: 84px;
}

.edupro-inline-loading {
    min-height: 84px;
    border: 1px dashed #cbd5e1;
    border-radius: 16px;
    background: #f8fafc;
    color: #475569;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.edupro-question-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center;
    gap: 14px;
}

.edupro-question-row-main {
    min-width: 0;
}

.edupro-question-row-main p {
    margin: 6px 0;
    color: #64748b;
}

.edupro-question-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.edupro-question-row-actions .edit-question,
.edupro-question-row-actions .delete-question {
    min-width: 76px;
    height: 40px;
    border-radius: 12px;
    font-weight: 900;
    cursor: pointer;
}

.edupro-question-row-actions .edit-question {
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    background: #eff6ff;
}

.edupro-question-row-actions .delete-question {
    border: 1px solid #fecaca;
    color: #dc2626;
    background: #fff1f2;
}

/* Giao diện sửa câu hỏi dạng hình/video/audio: không bị tràn, không bị bể cột */
.edupro-question-modal .image-option-list {
    display: grid;
    gap: 12px;
}

.edupro-question-modal .image-option-row {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) 42px !important;
    grid-template-areas:
        "correct label remove"
        "note note note"
        "file file file";
    gap: 10px 12px !important;
    align-items: center !important;
    padding: 14px;
    border: 1px solid #dbe5f2;
    border-radius: 16px;
    background: #fff;
    margin-bottom: 0 !important;
}

.edupro-question-modal .image-correct-choice {
    grid-area: correct;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #c7d2fe;
    border-radius: 12px;
    background: #eef2ff;
    color: #4f46e5;
    font-weight: 900;
    cursor: pointer;
}

.edupro-question-modal .image-correct-choice input {
    width: 16px !important;
    min-height: 16px !important;
    margin: 0;
}

.edupro-question-modal .image-option-row .image-label {
    grid-area: label;
    min-width: 0;
}

.edupro-question-modal .image-option-row .edupro-current-image-note {
    grid-area: note;
    width: 100%;
    min-height: 38px;
    padding: 9px 12px;
    border-radius: 12px;
    background: #f1f5f9;
    color: #475569;
    font-weight: 800;
    box-sizing: border-box;
}

.edupro-question-modal .image-option-row .edupro-current-image-note.is-empty {
    color: #94a3b8;
}

.edupro-question-modal .image-option-row .image-old-id {
    display: none !important;
}

.edupro-question-modal .image-option-row .image-file {
    grid-area: file;
    min-width: 0;
}

.edupro-question-modal .image-option-row .remove-row {
    grid-area: remove;
    width: 42px;
    min-width: 42px;
    height: 42px;
    padding: 0 !important;
    border-radius: 12px;
}

@media (max-width: 900px) {
    .edupro-question-modal .image-option-row {
        grid-template-columns: 1fr 42px !important;
        grid-template-areas:
            "correct remove"
            "label label"
            "note note"
            "file file";
    }
}

/* Fix nút chọn tệp bị lỗi font/đè font-weight trong popup bài tập */
.edupro-question-modal input[type="file"],
.edupro-session-modal input[type="file"],
.edupro-form-group input[type="file"],
.edupro-assignment-modal input[type="file"] {
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
    line-height: 1.4 !important;
    color: #64748b !important;
    min-height: 48px !important;
    padding: 8px 12px !important;
}

.edupro-question-modal input[type="file"]::file-selector-button,
.edupro-session-modal input[type="file"]::file-selector-button,
.edupro-form-group input[type="file"]::file-selector-button,
.edupro-assignment-modal input[type="file"]::file-selector-button,
.edupro-question-modal input[type="file"]::-webkit-file-upload-button,
.edupro-session-modal input[type="file"]::-webkit-file-upload-button,
.edupro-form-group input[type="file"]::-webkit-file-upload-button,
.edupro-assignment-modal input[type="file"]::-webkit-file-upload-button {
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 16px !important;
    margin-right: 12px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #eef2ff !important;
    color: #4f46e5 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
    line-height: 34px !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.edupro-question-modal input[type="file"]::file-selector-button:hover,
.edupro-session-modal input[type="file"]::file-selector-button:hover,
.edupro-form-group input[type="file"]::file-selector-button:hover,
.edupro-assignment-modal input[type="file"]::file-selector-button:hover,
.edupro-question-modal input[type="file"]::-webkit-file-upload-button:hover,
.edupro-session-modal input[type="file"]::-webkit-file-upload-button:hover,
.edupro-form-group input[type="file"]::-webkit-file-upload-button:hover,
.edupro-assignment-modal input[type="file"]::-webkit-file-upload-button:hover {
    background: #4f46e5 !important;
    color: #ffffff !important;
}


/* EduPro update: tài liệu giáo viên/học viên + ảnh đánh giá buổi học */
.edupro-session-materials-manager .edupro-box-desc{margin:4px 0 12px;color:#64748b;font-size:13px;font-weight:600}.edupro-student-material-heading{margin-top:18px;padding-top:16px;border-top:1px dashed #d8e1f0}.edupro-material-pick-item{align-items:center;gap:10px}.edupro-material-pick-actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.edupro-material-pick-actions button{border:0;border-radius:12px;padding:8px 10px;font-weight:800;cursor:pointer;background:#eef2ff;color:#4f46e5}.edupro-material-pick-actions button.student{background:#ecfdf5;color:#059669}.edupro-material-pick-actions small{font-size:12px;font-weight:800;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:6px 8px}
.edupro-review-session-image-box{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#f8fbff;border:1px solid #dbe7ff;border-radius:18px;padding:14px 16px;margin:12px 0}.edupro-review-session-image-box strong{display:block;color:#0f172a}.edupro-review-session-image-box p{margin:4px 0 0;color:#64748b;font-size:13px}.edupro-review-image-picker{display:inline-flex;align-items:center;gap:8px}.edupro-review-image-picker input{max-width:220px}.edupro-review-image-upload{border:0;border-radius:12px;background:#5b4deb;color:#fff;padding:10px 16px;font-weight:800;cursor:pointer}.edupro-review-image-preview img{width:96px;height:64px;object-fit:cover;border-radius:12px;border:1px solid #e2e8f0}.edupro-review-image-preview span{color:#94a3b8;font-size:13px;font-weight:700}.edupro-student-review-session-image{margin-top:14px}.edupro-student-review-session-image img{max-width:100%;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 10px 25px rgba(15,23,42,.08)}

/* EduPro fix: material picker action buttons compact and aligned */
#edupro-session-modal .edupro-session-materials-manager .edupro-material-pick-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
        "title actions"
        "type actions" !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 4px !important;
    min-height: 64px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    overflow: visible !important;
}

#edupro-session-modal .edupro-session-materials-manager .edupro-material-pick-item > span {
    grid-area: title !important;
    min-width: 0 !important;
    display: block !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

#edupro-session-modal .edupro-session-materials-manager .edupro-material-pick-item > em {
    grid-area: type !important;
    min-width: 0 !important;
    display: block !important;
    font-style: normal !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    color: #64748b !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

#edupro-session-modal .edupro-session-materials-manager .edupro-material-pick-actions {
    grid-area: actions !important;
    margin-left: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
}

#edupro-session-modal .edupro-session-materials-manager .edupro-material-pick-actions button,
#edupro-session-modal .edupro-session-materials-manager .edupro-material-pick-actions small {
    height: 32px !important;
    min-height: 32px !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

#edupro-session-modal .edupro-session-materials-manager .edupro-material-pick-actions button {
    border: 1px solid #ddd6fe !important;
    background: #f5f3ff !important;
    color: #4f46e5 !important;
    box-shadow: none !important;
}

#edupro-session-modal .edupro-session-materials-manager .edupro-material-pick-actions button:hover {
    background: #4f46e5 !important;
    border-color: #4f46e5 !important;
    color: #ffffff !important;
}

#edupro-session-modal .edupro-session-materials-manager .edupro-material-pick-actions button.student {
    border-color: #bbf7d0 !important;
    background: #ecfdf5 !important;
    color: #059669 !important;
}

#edupro-session-modal .edupro-session-materials-manager .edupro-material-pick-actions button.student:hover {
    background: #059669 !important;
    border-color: #059669 !important;
    color: #ffffff !important;
}

#edupro-session-modal .edupro-session-materials-manager .edupro-material-pick-actions small {
    border: 1px solid #e2e8f0 !important;
    background: #f8fafc !important;
    color: #64748b !important;
}

@media (max-width: 900px) {
    #edupro-session-modal .edupro-session-materials-manager .edupro-material-pick-item {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "title"
            "type"
            "actions" !important;
    }

    #edupro-session-modal .edupro-session-materials-manager .edupro-material-pick-actions {
        justify-content: flex-start !important;
    }
}

/* Chọn folder trong buổi học */
.edupro-material-folder-pick{border-left:4px solid #635bff!important;background:linear-gradient(135deg,#fff,#f8fbff)!important}
.edupro-material-folder-pick>span{font-weight:900;color:#10203d}
.edupro-material-folder-pick em{font-style:normal;color:#64748b;font-weight:700}

/* Popup buổi học - chọn folder tài liệu có thể xổ xuống chọn từng file */
.edupro-session-folder-card{
    border:1px solid #dbe7fb!important;
    border-radius:16px!important;
    background:#fff!important;
    overflow:hidden!important;
    margin:10px 0!important;
    box-shadow:0 10px 24px rgba(15,31,61,.045)!important;
}
.edupro-session-folder-head{
    width:100%!important;
    border:0!important;
    background:linear-gradient(135deg,#f8fbff 0%,#eef4ff 100%)!important;
    padding:14px 14px!important;
    display:grid!important;
    grid-template-columns:36px minmax(0,1fr) auto auto!important;
    align-items:center!important;
    gap:10px!important;
    cursor:pointer!important;
    text-align:left!important;
    color:#071735!important;
    appearance:none!important;
    -webkit-appearance:none!important;
}
.edupro-session-folder-card.is-open .edupro-session-folder-head{
    background:linear-gradient(135deg,#fff 0%,#f4f2ff 100%)!important;
}
.edupro-session-folder-icon{
    width:36px!important;
    height:36px!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#5b4bff!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-shadow:0 8px 18px rgba(91,75,255,.10)!important;
}
.edupro-session-folder-name{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:15px!important;
    font-weight:900!important;
    color:#071735!important;
}
.edupro-session-folder-count,
.edupro-session-folder-toggle{
    height:30px!important;
    padding:0 11px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:12px!important;
    font-weight:800!important;
    white-space:nowrap!important;
}
.edupro-session-folder-count{
    background:#edeaff!important;
    color:#5b4bff!important;
}
.edupro-session-folder-toggle{
    background:#fff!important;
    color:#5b4bff!important;
    border:1px solid #d9d5ff!important;
}
.edupro-session-folder-body{
    padding:12px!important;
    background:#fff!important;
    border-top:1px solid #e6eefb!important;
}
.edupro-session-folder-bulk-actions,
.edupro-session-folder-file-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    flex-wrap:wrap!important;
}
.edupro-session-folder-bulk-actions{
    justify-content:flex-start!important;
    padding:0 0 10px 0!important;
    margin-bottom:10px!important;
    border-bottom:1px dashed #dbe7fb!important;
}
.edupro-session-folder-bulk-actions button,
.edupro-session-folder-file-actions button{
    border:0!important;
    border-radius:999px!important;
    padding:8px 12px!important;
    font-size:12px!important;
    font-weight:900!important;
    cursor:pointer!important;
    color:#4f46e5!important;
    background:#edeaff!important;
}
.edupro-session-folder-bulk-actions button.student,
.edupro-session-folder-file-actions button.student{
    color:#059669!important;
    background:#dcfce7!important;
}
.edupro-session-folder-added,
.edupro-session-file-added{
    border-radius:999px!important;
    padding:7px 10px!important;
    font-size:12px!important;
    font-weight:900!important;
    color:#4f46e5!important;
    background:#f1efff!important;
}
.edupro-session-folder-added.student,
.edupro-session-file-added.student{
    color:#059669!important;
    background:#dcfce7!important;
}
.edupro-session-folder-file{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    border:1px solid #e1eaf8!important;
    border-radius:14px!important;
    padding:12px!important;
    margin:8px 0!important;
    background:#fbfdff!important;
}
.edupro-session-folder-file-info{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
}
.edupro-session-folder-file-info strong{
    color:#10203d!important;
    font-size:14px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.edupro-session-folder-file-info span{
    color:#64748b!important;
    font-size:12px!important;
    font-weight:700!important;
}
@media(max-width:680px){
    .edupro-session-folder-head{grid-template-columns:36px minmax(0,1fr) auto!important;}
    .edupro-session-folder-count{display:none!important;}
    .edupro-session-folder-file{grid-template-columns:1fr!important;}
    .edupro-session-folder-file-actions{justify-content:flex-start!important;}
}

/* Chọn tài liệu trong buổi học: folder thật chỉ gắn nguyên folder, file lẻ mới xổ xuống */
.edupro-session-folder-card.is-real-folder .edupro-session-folder-head.no-toggle{
    cursor:default!important;
    grid-template-columns:36px minmax(0,1fr) auto auto!important;
}
.edupro-session-folder-actions{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    flex-wrap:wrap!important;
}
.edupro-session-folder-actions button{
    border:0!important;
    border-radius:999px!important;
    padding:8px 12px!important;
    font-size:12px!important;
    font-weight:900!important;
    cursor:pointer!important;
    color:#4f46e5!important;
    background:#edeaff!important;
}
.edupro-session-folder-actions button.student{
    color:#059669!important;
    background:#dcfce7!important;
}
.edupro-session-folder-card.is-unfiled .edupro-session-folder-head{
    cursor:pointer!important;
}
@media(max-width:760px){
    .edupro-session-folder-card.is-real-folder .edupro-session-folder-head.no-toggle{
        grid-template-columns:36px minmax(0,1fr)!important;
    }
    .edupro-session-folder-actions{
        grid-column:1 / -1!important;
        justify-content:flex-start!important;
    }
}

/* V5: Khi gắn nguyên folder vào ngày học, danh sách bên phải hiển thị folder thay vì bung từng file. */
.edupro-selected-folder > span:not(.edupro-mini-view-btn) {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}
.edupro-selected-folder small {
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
}
.edupro-folder-mini-icon {
    text-decoration: none;
    min-width: 34px;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #eef6ff;
}


/* EduPro v11 - đảm bảo tab Cài đặt giao bài không hiện lẫn dưới tab Thông tin */
#edupro-assignment-modal .edupro-tab-panel[data-assignment-panel].edupro-assignment-panel-disabled {
    display: none !important;
}
#edupro-assignment-modal .edupro-tab-panel[data-assignment-panel]:not(.active) {
    display: none !important;
}
#edupro-assignment-modal .edupro-tab-panel[data-assignment-panel].active:not(.edupro-assignment-panel-disabled) {
    display: block !important;
}

/* EduPro v27: select2 chọn bài từ kho */
.edupro-bank-import-inline .select2-container{min-width:320px;max-width:100%}
.edupro-bank-import-inline .select2-container .select2-selection--single{height:44px;border:1px solid #d6e1f1;border-radius:14px;display:flex;align-items:center;padding:0 10px;background:#fff}
.edupro-bank-import-inline .select2-container .select2-selection__rendered{line-height:42px;color:#0f172a;font-weight:500}
.edupro-bank-import-inline .select2-container .select2-selection__arrow{height:42px}
.select2-dropdown.edupro-homework-bank-dropdown{border:1px solid #d6e1f1;border-radius:14px;overflow:hidden;box-shadow:0 16px 36px rgba(15,23,42,.12)}

/* Fix assignment edit popup size: full 95% màn hình */
#edupro-assignment-modal .edupro-assignment-modal {
    width: 95vw !important;
    max-width: 95vw !important;
    height: 95vh !important;
    max-height: 95vh !important;
}

#edupro-assignment-modal .edupro-modal-body {
    max-height: calc(95vh - 150px) !important;
    overflow-y: auto !important;
}

@media (max-width: 768px) {
    #edupro-assignment-modal .edupro-assignment-modal {
        width: 96vw !important;
        max-width: 96vw !important;
        height: 94vh !important;
        max-height: 94vh !important;
    }
}

/* EduPro assignment skill/part builder update */
.edupro-assignment-title-skill-row{align-items:flex-start;grid-template-columns:minmax(0,1.5fr) minmax(220px,.8fr);}
.edupro-question-current-skill,.edupro-question-skill-lock{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(14,165,233,.2);background:rgba(14,165,233,.08);color:#075985;border-radius:14px;padding:10px 14px;font-weight:700;min-height:42px;}
.edupro-question-current-skill span{font-weight:600;color:#64748b;}
.edupro-parts-builder{display:flex;flex-direction:column;gap:16px;}
.edupro-parts-builder-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-radius:18px;background:linear-gradient(135deg,rgba(14,165,233,.1),rgba(99,102,241,.08));border:1px solid rgba(14,165,233,.14);}
.edupro-parts-builder-head h3{margin:0 0 4px;font-size:18px;color:#0f172a;}
.edupro-parts-builder-head p{margin:0;color:#64748b;}
.edupro-part-list{display:flex;flex-direction:column;gap:10px;}
.edupro-part-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #e2e8f0;background:#fff;border-radius:16px;box-shadow:0 8px 20px rgba(15,23,42,.04);}
.edupro-part-row strong{display:block;color:#0f172a;font-size:15px;margin-bottom:4px;}
.edupro-part-row p{margin:0 0 6px;color:#64748b;}
.edupro-part-row span{display:inline-flex;color:#0284c7;font-weight:700;font-size:12px;background:#e0f2fe;border-radius:999px;padding:4px 8px;}
#question-part-filter,#question_part_id{min-width:220px;}
@media(max-width:768px){.edupro-assignment-title-skill-row,.edupro-parts-builder-head,.edupro-part-row{display:block}.edupro-parts-builder-head>*+*,.edupro-part-row>*+*{margin-top:12px}#question-part-filter,#question_part_id{min-width:100%;}}

/* EduPro polish: assignment skill/part/question builder */
#edupro-assignment-modal .edupro-assignment-title-skill-row{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);
    gap:22px;
    align-items:start;
}
#edupro-assignment-modal select,
#edupro-question-modal select{
    width:100%;
    min-height:54px;
    border:1.5px solid #c9d8ec;
    border-radius:14px;
    background:#fff;
    color:#12233f;
    padding:0 46px 0 18px;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
    outline:none;
    appearance:none;
    -webkit-appearance:none;
    background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);
    background-position:calc(100% - 25px) 50%,calc(100% - 17px) 50%;
    background-size:8px 8px,8px 8px;
    background-repeat:no-repeat;
}
#edupro-assignment-modal select:focus,
#edupro-question-modal select:focus{
    border-color:#4f46e5;
    box-shadow:0 0 0 4px rgba(79,70,229,.12),0 14px 30px rgba(15,23,42,.06);
}
#edupro-assignment-modal #question-part-filter,
#edupro-question-modal #question_part_id{
    min-width:260px;
}
#edupro-assignment-modal .edupro-question-head{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:18px;
    align-items:center;
}
#edupro-assignment-modal .edupro-question-head .edupro-btn-primary{
    justify-self:end;
    min-height:54px;
    border-radius:14px;
    padding:0 26px;
}
#edupro-assignment-modal .edupro-assignment-part-actions{
    display:flex;
    align-items:center;
    gap:18px;
    margin-top:10px;
    flex-wrap:wrap;
}
#edupro-assignment-modal .edupro-assignment-part-actions .edupro-btn-primary,
#edupro-assignment-modal .edupro-assignment-part-actions .edupro-btn-light{
    min-height:58px;
    padding:0 32px;
    border-radius:14px;
    font-size:16px;
    font-weight:900;
}
#edupro-question-modal .edupro-question-basic-row{
    display:grid;
    grid-template-columns:minmax(120px,.65fr) minmax(220px,1fr) minmax(220px,1fr) minmax(120px,.55fr);
    gap:18px;
    align-items:start;
}
#edupro-question-modal #question_score{
    min-height:54px;
    border:1.5px solid #c9d8ec;
    border-radius:14px;
    padding:0 18px;
    font-weight:800;
    color:#12233f;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
}
#edupro-question-modal #question_score:focus{
    border-color:#4f46e5;
    box-shadow:0 0 0 4px rgba(79,70,229,.12),0 14px 30px rgba(15,23,42,.06);
    outline:none;
}
@media(max-width:1100px){
    #edupro-question-modal .edupro-question-basic-row,
    #edupro-assignment-modal .edupro-question-head{
        grid-template-columns:1fr 1fr;
    }
    #edupro-assignment-modal .edupro-question-head .edupro-btn-primary{justify-self:start;}
}
@media(max-width:768px){
    #edupro-assignment-modal .edupro-assignment-title-skill-row,
    #edupro-question-modal .edupro-question-basic-row,
    #edupro-assignment-modal .edupro-question-head{
        grid-template-columns:1fr;
    }
    #edupro-assignment-modal #question-part-filter,
    #edupro-question-modal #question_part_id{min-width:100%;}
}


/* Fix nút Sửa/Xóa câu hỏi trong kho bài tập: tránh bị lớp layout/popup che mất click */
#edupro-assignment-modal .edupro-question-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    position: relative;
}
#edupro-assignment-modal .edupro-question-row-actions {
    position: relative;
    z-index: 5;
    pointer-events: auto;
}
#edupro-assignment-modal .edupro-question-row-actions .edit-question,
#edupro-assignment-modal .edupro-question-row-actions .delete-question {
    pointer-events: auto;
    position: relative;
    z-index: 6;
}

/* ===== Question modal: 50/50 fields ===== */
#edupro-question-modal .edupro-question-basic-row{
    grid-template-columns:1fr 1fr !important;
    gap:18px 22px !important;
    align-items:start;
}
#edupro-question-modal .edupro-question-basic-row .edupro-form-group{
    min-width:0;
}
#edupro-question-modal #question_part_id,
#edupro-question-modal #question_type,
#edupro-question-modal #question_score{
    width:100% !important;
}
@media(max-width:768px){
    #edupro-question-modal .edupro-question-basic-row{
        grid-template-columns:1fr !important;
    }
}

/* Part-based assignment content/files */
.edupro-part-row p{margin:6px 0;color:#64748b;line-height:1.45}
#assignment_part_content{min-height:150px;resize:vertical}
#assignment_part_audio_current{margin-top:8px;padding:10px 12px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#475569}
#assignment_part_audio_current p{margin:0 0 6px}
#assignment_part_audio_current a{font-weight:700;color:#2563eb;text-decoration:none}

/* Part content editor */
.edupro-part-content-editor-wrap .wp-editor-wrap {
    border-radius: 14px;
    overflow: hidden;
}
.edupro-part-content-editor-wrap .wp-editor-container {
    border: 1px solid #dbe4f0;
    border-radius: 0 0 14px 14px;
}
.edupro-part-content-editor-wrap .mce-edit-area,
.edupro-part-content-editor-wrap textarea.wp-editor-area {
    min-height: 240px;
}

/* Part builder: chọn kỹ năng trong từng Part + nút Sửa/Xóa đẹp hơn */
.edupro-part-basic-row{
  grid-template-columns: minmax(180px,.8fr) minmax(260px,1.4fr) minmax(120px,.45fr);
  align-items:flex-start;
}
.edupro-form-group-full{width:100%;}
.edupro-part-row .edupro-question-row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-shrink:0;
}
.edupro-part-row .edupro-question-row-actions button,
#edupro-assignment-modal .edupro-question-row-actions .edit-part,
#edupro-assignment-modal .edupro-question-row-actions .delete-part{
  border:0!important;
  border-radius:999px!important;
  padding:9px 16px!important;
  min-width:72px;
  font-weight:800;
  font-size:13px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(15,23,42,.12);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.edupro-part-row .edupro-question-row-actions button:hover,
#edupro-assignment-modal .edupro-question-row-actions .edit-part:hover,
#edupro-assignment-modal .edupro-question-row-actions .delete-part:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(15,23,42,.18);
  filter:brightness(1.03);
}
#edupro-assignment-modal .edupro-question-row-actions .edit-part{
  background:linear-gradient(135deg,#2563eb,#4f46e5)!important;
  color:#fff!important;
}
#edupro-assignment-modal .edupro-question-row-actions .delete-part{
  background:linear-gradient(135deg,#ef4444,#f97316)!important;
  color:#fff!important;
}
.edupro-part-row span.edupro-part-skill-badge{
  background:#eef2ff;
  color:#4338ca;
  margin-right:6px;
}
@media(max-width:768px){
  .edupro-part-basic-row{grid-template-columns:1fr;}
  .edupro-part-row .edupro-question-row-actions{justify-content:flex-start;}
}

/* Fix giao diện nút Sửa/Xóa trong danh sách Part */
.edupro-part-row{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.edupro-part-row-main{min-width:0;flex:1;}
.edupro-part-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0;}
.edupro-part-row-actions button,.edupro-question-row-actions .edit-part,.edupro-question-row-actions .delete-part{border:0!important;outline:0!important;border-radius:999px!important;padding:9px 15px!important;font-size:13px!important;font-weight:800!important;line-height:1!important;cursor:pointer!important;box-shadow:0 10px 22px rgba(15,23,42,.08)!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;}
.edupro-question-row-actions .edit-part{background:linear-gradient(135deg,#eef2ff,#e0e7ff)!important;color:#4338ca!important;}
.edupro-question-row-actions .delete-part{background:linear-gradient(135deg,#fff1f2,#ffe4e6)!important;color:#e11d48!important;}
.edupro-question-row-actions .edit-part:hover,.edupro-question-row-actions .delete-part:hover{transform:translateY(-1px)!important;box-shadow:0 14px 28px rgba(79,70,229,.18)!important;}
@media(max-width:768px){.edupro-part-row{align-items:flex-start;flex-direction:column}.edupro-part-row-actions{width:100%;justify-content:flex-start}}

/* Folder trong phần thêm tài liệu buổi dạy có thể xổ xuống, xem trước và chọn từng file */
.edupro-session-folder-head{width:100%;display:flex;align-items:center;gap:10px;border:0;background:#f7fbff;border-radius:14px;padding:12px;cursor:pointer;text-align:left}
.edupro-session-folder-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.edupro-session-folder-body{padding:10px 0 0;display:grid;gap:8px}
.edupro-session-folder-file{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:10px 12px;margin-bottom:8px}
.edupro-session-folder-file-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.edupro-session-folder-file-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.edupro-session-folder-file-info span{font-size:12px;color:#64748b}
.edupro-session-folder-file-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.edupro-session-preview-file{display:inline-flex;align-items:center;border:1px solid #0ea5e9;color:#0284c7;background:#eef9ff;border-radius:9px;padding:7px 10px;font-weight:700;text-decoration:none!important;font-size:12px}
.edupro-session-loose-file{border-style:solid;background:#fff!important}
.edupro-session-loose-file:before{content:'📄';margin-right:2px}

/* EduPro fix: folder trong buổi dạy bấm trực tiếp để mở, không cần nút Mở; danh sách bên trái xem được file trong folder */
#edupro-session-modal .edupro-session-folder-toggle{display:none!important;}
#edupro-session-modal .edupro-session-folder-head{cursor:pointer!important;}
#edupro-session-modal .edupro-session-folder-head::after{
    content:'▾';
    color:#4f46e5;
    font-weight:900;
    font-size:15px;
    transition:transform .18s ease;
}
#edupro-session-modal .edupro-session-folder-card.is-open>.edupro-session-folder-head::after{transform:rotate(180deg);}
#edupro-session-modal .edupro-session-folder-actions{margin-left:auto!important;}
#edupro-session-modal .edupro-session-folder-actions button,
#edupro-session-modal .edupro-selected-file-actions button{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
}
#edupro-session-modal .edupro-selected-folder-card{
    margin:10px 0!important;
    box-shadow:none!important;
    background:#f8fafc!important;
}
#edupro-session-modal .edupro-selected-folder-head{
    grid-template-columns:36px minmax(0,1fr) auto auto!important;
    background:#f8fafc!important;
}
#edupro-session-modal .edupro-selected-folder-head .edupro-session-folder-name{
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
}
#edupro-session-modal .edupro-selected-folder-head .edupro-session-folder-name strong{
    font-size:15px!important;
    color:#14213d!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
#edupro-session-modal .edupro-selected-folder-head .edupro-session-folder-name small{
    font-size:12px!important;
    color:#64748b!important;
    font-weight:800!important;
}
#edupro-session-modal .edupro-selected-folder-card .edupro-session-folder-body{
    padding:10px 12px 12px!important;
    background:#fff!important;
}
#edupro-session-modal .edupro-selected-folder-file{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    border:1px solid #e2e8f0!important;
    border-radius:12px!important;
    background:#fff!important;
    padding:10px!important;
    margin:8px 0!important;
}
#edupro-session-modal .edupro-mini-item.edupro-selected-loose-file{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    min-height:58px!important;
    padding:10px 12px!important;
}
#edupro-session-modal .edupro-selected-file-icon{
    width:38px!important;
    height:38px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:12px!important;
    background:#fff!important;
    font-size:18px!important;
}
#edupro-session-modal .edupro-selected-file-info{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
}
#edupro-session-modal .edupro-selected-file-info strong{
    color:#14213d!important;
    font-size:14px!important;
    font-weight:900!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
#edupro-session-modal .edupro-selected-file-info small{
    color:#64748b!important;
    font-size:12px!important;
    font-weight:800!important;
}
#edupro-session-modal .edupro-selected-file-actions{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    flex-wrap:wrap!important;
}
#edupro-session-modal .edupro-mini-view-btn,
#edupro-session-modal .edupro-session-preview-file{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:34px!important;
    border:1px solid #0ea5e9!important;
    color:#0284c7!important;
    background:#f0f9ff!important;
    border-radius:10px!important;
    padding:7px 12px!important;
    font-weight:900!important;
    text-decoration:none!important;
    font-size:12px!important;
}
@media(max-width:760px){
    #edupro-session-modal .edupro-selected-folder-head,
    #edupro-session-modal .edupro-mini-item.edupro-selected-loose-file,
    #edupro-session-modal .edupro-selected-folder-file{grid-template-columns:1fr!important;}
    #edupro-session-modal .edupro-session-folder-actions,
    #edupro-session-modal .edupro-selected-file-actions{justify-content:flex-start!important;margin-left:0!important;}
}

/* EduPro v28.1 - làm lại giao diện folder tài liệu trong popup buổi học: gọn, không vỡ nút */
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-card{
  border:1px solid #dbe7fb!important;
  border-radius:16px!important;
  background:#f8fbff!important;
  box-shadow:none!important;
  overflow:hidden!important;
  margin:10px 0!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-head{
  width:100%!important;
  min-height:72px!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) auto auto 18px!important;
  align-items:center!important;
  gap:12px!important;
  padding:14px!important;
  border:0!important;
  border-radius:16px!important;
  background:#f3f7ff!important;
  text-align:left!important;
  cursor:pointer!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-head::after{
  content:'▾'!important;
  grid-column:5!important;
  width:18px!important;
  height:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#4f46e5!important;
  font-weight:900!important;
  font-size:14px!important;
  transition:transform .18s ease!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-card.is-open > .edupro-session-folder-head::after{
  transform:rotate(180deg)!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-icon{
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#0284c7!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 8px 18px rgba(15,23,42,.06)!important;
  font-size:18px!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-name{
  min-width:0!important;
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:16px!important;
  line-height:1.2!important;
  font-weight:900!important;
  color:#0f1d3a!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-count{
  height:34px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:#efeaff!important;
  color:#5b4bff!important;
  font-size:13px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-actions{
  grid-column:auto!important;
  margin-left:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-actions .add-session-folder,
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-actions .edupro-session-folder-added{
  width:auto!important;
  min-width:auto!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 13px!important;
  border:0!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-actions .add-session-folder{
  background:#efeaff!important;
  color:#5145e8!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-actions .add-session-folder.student{
  background:#dcfce7!important;
  color:#059669!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-body{
  padding:12px 14px 14px!important;
  background:#fff!important;
  border-top:1px solid #e7eefb!important;
  display:none;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-file,
#edupro-session-modal .edupro-session-materials-manager .edupro-material-pick-item{
  min-height:66px!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto!important;
  grid-template-areas:'icon info actions'!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px!important;
  border:1px solid #dbe7fb!important;
  border-radius:15px!important;
  background:#fff!important;
  margin:8px 0!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-file::before,
#edupro-session-modal .edupro-session-materials-manager .edupro-material-pick-item::before{
  content:'📄'!important;
  grid-area:icon!important;
  width:38px!important;
  height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  font-size:18px!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-file-info{
  grid-area:info!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-file-info strong{
  max-width:none!important;
  color:#0f1d3a!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-file-info span{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:800!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-file-actions{
  grid-area:actions!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-file-actions .edupro-session-preview-file,
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-file-actions .add-session-material,
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-file-actions .edupro-session-file-added{
  height:34px!important;
  min-height:34px!important;
  width:auto!important;
  min-width:auto!important;
  padding:0 13px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-file-actions .edupro-session-preview-file{
  border:1px solid #0ea5e9!important;
  background:#f0f9ff!important;
  color:#0284c7!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-file-actions .add-session-material{
  border:0!important;
  background:#efeaff!important;
  color:#5145e8!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-file-actions .add-session-material.student{
  background:#dcfce7!important;
  color:#059669!important;
}

/* Bên trái: tài liệu đã gắn giữ bố cục đẹp, nút xóa không bị rớt/lệch */
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-card{
  background:#f8fbff!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-head{
  grid-template-columns:42px minmax(0,1fr) auto 18px!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-head .edupro-session-folder-actions{
  grid-column:3!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-head .remove-session-folder,
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-file-actions .remove-session-material{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  padding:0!important;
  border:0!important;
  border-radius:12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef2ff!important;
  color:#4f46e5!important;
  box-shadow:none!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-file,
#edupro-session-modal .edupro-session-materials-manager .edupro-mini-item.edupro-selected-loose-file{
  min-height:64px!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px!important;
  border:1px solid #dbe7fb!important;
  border-radius:14px!important;
  background:#fff!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-file::before{
  content:'📄'!important;
  width:38px!important;
  height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  font-size:18px!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-mini-item.edupro-selected-loose-file .edupro-selected-file-icon{
  background:#f8fafc!important;
}
@media(max-width:1100px){
  #edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-head{
    grid-template-columns:42px minmax(0,1fr) 18px!important;
  }
  #edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-count,
  #edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-actions{
    grid-column:2 / 4!important;
    justify-content:flex-start!important;
  }
  #edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-file,
  #edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-file,
  #edupro-session-modal .edupro-session-materials-manager .edupro-mini-item.edupro-selected-loose-file{
    grid-template-columns:38px minmax(0,1fr)!important;
  }
  #edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-file-actions,
  #edupro-session-modal .edupro-session-materials-manager .edupro-selected-file-actions{
    grid-column:2 / -1!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
  }
}

/* EduPro v28.2 - fix vỡ giao diện tài liệu đã gắn trong popup buổi học */
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-card{
  border:1px solid #dbe7fb!important;
  border-radius:16px!important;
  background:#fff!important;
  overflow:hidden!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-head{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) auto 18px!important;
  align-items:center!important;
  gap:12px!important;
  min-height:72px!important;
  padding:14px!important;
  background:#f3f7ff!important;
  border:0!important;
  border-radius:16px!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-head .edupro-session-folder-name{
  min-width:0!important;
  display:flex!important;
  align-items:baseline!important;
  gap:6px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-head .edupro-session-folder-name strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:16px!important;
  line-height:1.2!important;
  font-weight:900!important;
  color:#0f1d3a!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-head .edupro-session-folder-name small{
  flex:0 0 auto!important;
  display:inline-block!important;
  color:#64748b!important;
  font-size:13px!important;
  font-weight:800!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-head .edupro-session-folder-actions{
  grid-column:3!important;
  grid-row:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  margin:0!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-card > .edupro-session-folder-body{
  padding:12px 14px 14px!important;
  background:#fff!important;
  border-top:1px solid #e7eefb!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-file{
  position:relative!important;
  width:100%!important;
  min-height:76px!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) auto!important;
  grid-template-areas:'icon info action'!important;
  align-items:center!important;
  column-gap:14px!important;
  padding:14px!important;
  margin:8px 0!important;
  border:1px solid #dbe7fb!important;
  border-radius:15px!important;
  background:#fff!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-file::before{
  grid-area:icon!important;
  width:40px!important;
  height:40px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  font-size:18px!important;
  margin:0!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-file .edupro-session-folder-file-info{
  grid-area:info!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  align-items:flex-start!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-file .edupro-session-folder-file-info strong{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#0f1d3a!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.25!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-file .edupro-session-folder-file-info span{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:800!important;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-file > .edupro-session-preview-file{
  grid-area:action!important;
  width:auto!important;
  min-width:96px!important;
  max-width:none!important;
  height:36px!important;
  min-height:36px!important;
  padding:0 16px!important;
  margin:0!important;
  justify-self:end!important;
  align-self:center!important;
  border-radius:10px!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  #edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-head{
    grid-template-columns:42px minmax(0,1fr) auto 18px!important;
  }
  #edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-file{
    grid-template-columns:44px minmax(0,1fr) auto!important;
    grid-template-areas:'icon info action'!important;
  }
}
@media(max-width:520px){
  #edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-file{
    grid-template-columns:40px minmax(0,1fr)!important;
    grid-template-areas:'icon info' '. action'!important;
  }
  #edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-file > .edupro-session-preview-file{
    justify-self:start!important;
    margin-top:6px!important;
  }
}

/* EduPro fix: hiển thị nút Media mặc định của WordPress trong WYSIWYG editor frontend */
.edupro-assignment-modal .wp-editor-wrap .wp-editor-tools {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
    min-height: 36px !important;
}

.edupro-assignment-modal .wp-editor-wrap .wp-media-buttons {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 32px !important;
    overflow: visible !important;
}

.edupro-assignment-modal .wp-editor-wrap .wp-media-buttons .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 12px !important;
    border-radius: 10px !important;
    border: 1px solid #cfd9ee !important;
    background: #fff !important;
    color: #334155 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.edupro-assignment-modal .wp-editor-wrap .wp-media-buttons .button:hover {
    background: #f5f3ff !important;
    border-color: #8b5cf6 !important;
    color: #5b21b6 !important;
}

.edupro-assignment-modal .wp-editor-wrap .wp-media-buttons-icon {
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
}

.edupro-assignment-modal .wp-editor-wrap .wp-media-buttons-icon:before {
    font: normal 16px/1 dashicons !important;
    content: "\f128" !important;
    color: inherit !important;
}


/* EduPro fix: đưa popup Media Library lên trên popup thêm/sửa bài tập */
body.edupro-media-picker-open .media-modal-backdrop,
.media-modal-backdrop {
    z-index: 2147483600 !important;
}
body.edupro-media-picker-open .media-modal,
.media-modal,
.media-frame,
.media-router,
.media-toolbar,
.media-sidebar,
.media-menu,
.media-frame-content,
.media-frame-title {
    z-index: 2147483601 !important;
}
.media-modal {
    position: fixed !important;
    inset: 30px !important;
}
.media-modal .media-frame {
    position: absolute !important;
    inset: 0 !important;
}
.media-modal-close {
    z-index: 2147483602 !important;
}
@media (max-width: 782px) {
    .media-modal {
        inset: 10px !important;
    }
}

/* =========================================================
   Session materials: nested folder tree in classroom modal
========================================================= */
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-card.is-child-folder{
    margin-left: 26px;
    position: relative;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-card.is-child-folder::before{
    content:"";
    position:absolute;
    left:-15px;
    top:0;
    bottom:12px;
    width:1px;
    background:#dbe7f7;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-card.is-child-folder > .edupro-session-folder-head::before{
    content:"";
    position:absolute;
    left:-15px;
    top:50%;
    width:15px;
    height:1px;
    background:#dbe7f7;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-card.is-child-folder > .edupro-session-folder-head{
    position:relative;
    background:#ffffff;
    border:1px solid #e3ecfb;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-card.is-parent-folder > .edupro-session-folder-body{
    padding-left:0;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-body > .edupro-session-folder-file{
    margin-left: 26px;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-card.is-parent-folder > .edupro-session-folder-body > .edupro-session-folder-file{
    margin-left: 26px;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-card.is-child-folder > .edupro-session-folder-body > .edupro-session-folder-file{
    margin-left: 26px;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-card.is-child-folder.level-2{margin-left:34px;}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-card.is-child-folder.level-3,
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-card.is-child-folder.level-4{margin-left:40px;}
#edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-card.is-unfiled{
    border:0;
    background:transparent;
    box-shadow:none;
    padding:0;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-card.is-child-folder{
    margin-left:22px;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-card.is-child-folder > .edupro-selected-folder-head{
    background:#fff;
}
#edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-card .edupro-session-folder-body > .edupro-session-folder-file{
    margin-left:22px;
}
@media (max-width: 900px){
    #edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-card.is-child-folder,
    #edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-card.is-child-folder{
        margin-left:14px;
    }
    #edupro-session-modal .edupro-session-materials-manager .edupro-session-folder-body > .edupro-session-folder-file,
    #edupro-session-modal .edupro-session-materials-manager .edupro-selected-folder-card .edupro-session-folder-body > .edupro-session-folder-file{
        margin-left:14px;
    }
}
