/* =========================================================
 * EDUPRO STUDENT PORTAL - FINAL CLEAN CSS
 * Đã lọc trùng CSS sidebar, dashboard mới, lớp học, lịch học,
 * bài tập, đánh giá và kho tài liệu.
 * ========================================================= */

:root {
    --edupro-primary: #4f46e5;
    --edupro-primary-dark: #4338ca;
    --edupro-primary-soft: #eef2ff;
    --edupro-bg: #f3f7fc;
    --edupro-sidebar: #0f172a;
    --edupro-text: #0f172a;
    --edupro-muted: #64748b;
    --edupro-border: #dbe4ef;
    --edupro-border-light: #e2e8f0;
    --edupro-white: #ffffff;
    --edupro-green: #047857;
    --edupro-green-bg: #dcfce7;
    --edupro-green-border: #bbf7d0;
    --edupro-orange: #c2410c;
    --edupro-orange-bg: #ffedd5;
    --edupro-orange-border: #fdba74;
    --edupro-shadow-sm: 0 10px 24px rgba(15, 23, 42, 0.04);
    --edupro-shadow-md: 0 16px 38px rgba(15, 23, 42, 0.06);
    --edupro-shadow-lg: 0 22px 52px rgba(15, 23, 42, 0.10);
    --edupro-sidebar-width: 268px;
}

html,
body {
    min-height: 100%;
}

body {
    overflow-x: hidden;
}

.edupro-student-layout,
.edupro-student-layout * {
    box-sizing: border-box;
}

.edupro-student-layout {
    min-height: 100vh;
    background: var(--edupro-bg);
    color: var(--edupro-text);
    font-family: inherit;
}

/* =========================================================
 * SIDEBAR FIXED
 * ========================================================= */

.edupro-student-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: var(--edupro-sidebar-width);
    min-width: var(--edupro-sidebar-width);
    height: 100vh;
    max-height: 100vh;
    background: var(--edupro-sidebar);
    color: #e5eefc;
    border-right: 1px solid rgba(255, 255, 255, .08);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.edupro-student-brand {
    flex: 0 0 86px;
    padding: 0 22px;
    display: flex;
    align-items: center;
    gap: 13px;
}

.edupro-student-brand-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--edupro-primary), #7c3aed);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 14px 30px rgba(79, 70, 229, .35);
}

.edupro-student-brand-icon svg {
    width: 22px;
    height: 22px;
}

.edupro-student-brand strong {
    color: #fff;
    font-size: 20px;
    font-weight: 950;
}

.edupro-student-menu {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    max-width: 100%;
    padding: 10px 14px;
    overflow-y: auto;
    overflow-x: hidden;
}

.edupro-student-menu::-webkit-scrollbar {
    width: 6px;
    height: 0;
}

.edupro-student-menu::-webkit-scrollbar-track {
    background: transparent;
}

.edupro-student-menu::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, .35);
    border-radius: 999px;
}

.edupro-student-menu::-webkit-scrollbar-thumb:hover {
    background: rgba(148, 163, 184, .55);
}

.edupro-student-menu-group {
    margin-top: 5px;
}

.edupro-student-menu > a,
.edupro-student-menu-parent {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 0 14px;
    border: 0;
    border-radius: 13px;
    background: transparent;
    color: #dbeafe;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 850;
    cursor: pointer;
    overflow: hidden;
    transition: .18s ease;
    font-family: inherit;
}

.edupro-student-menu > a {
    justify-content: flex-start;
}

.edupro-student-menu > a:hover,
.edupro-student-menu-parent:hover,
.edupro-student-menu > a.active,
.edupro-student-menu-parent.active {
    background: rgba(79, 70, 229, .28);
    color: #ffffff;
}

.edupro-student-menu > a svg,
.edupro-student-menu-parent svg {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
}

.edupro-student-menu > a span,
.edupro-student-menu-label,
.edupro-student-menu-label span,
.edupro-student-submenu a span {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.edupro-student-menu-label {
    display: flex;
    align-items: center;
    gap: 12px;
}

.edupro-student-menu-arrow {
    display: inline-flex;
    flex: 0 0 auto;
    opacity: .8;
    transition: .2s ease;
}

.edupro-student-menu-group.open .edupro-student-menu-arrow {
    transform: rotate(90deg);
}

.edupro-student-submenu {
    display: none;
    width: 100%;
    max-width: 100%;
    padding: 5px 0 0 38px;
    overflow: hidden;
}

.edupro-student-menu-group.open .edupro-student-submenu {
    display: block;
}

.edupro-student-submenu a,
.edupro-student-submenu-empty {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 10px;
    color: #94a3b8;
    text-decoration: none;
    display: flex;
    align-items: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 800;
    transition: .18s ease;
}

.edupro-student-submenu a:hover,
.edupro-student-submenu a.active {
    background: rgba(255, 255, 255, .08);
    color: #ffffff;
}

.edupro-student-sidebar-footer {
    flex: 0 0 auto;
    margin-top: auto;
    padding: 18px;
    background: var(--edupro-sidebar);
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.edupro-student-user {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.edupro-student-avatar {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: #334155;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 950;
    flex: 0 0 auto;
}

.edupro-student-user strong {
    display: block;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.edupro-student-user span {
    display: block;
    color: #94a3b8;
    font-size: 12px;
    margin-top: 2px;
}

.edupro-student-logout {
    color: #cbd5e1;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 14px;
    font-weight: 850;
}

.edupro-student-logout svg {
    width: 18px;
    height: 18px;
}

/* =========================================================
 * MAIN / COMMON
 * ========================================================= */

.edupro-student-main {
    width: calc(100% - var(--edupro-sidebar-width));
    min-height: 100vh;
    margin-left: var(--edupro-sidebar-width);
    padding: 42px 48px;
}

.edupro-student-page {
    max-width: 100%;
    margin: 0 auto;
}

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

.edupro-student-page-head h1 {
    margin: 0;
    color: var(--edupro-text);
    font-size: 32px;
    line-height: 1.18;
    font-weight: 950;
    letter-spacing: -.04em;
}

.edupro-student-page-head p {
    margin: 8px 0 0;
    color: var(--edupro-muted);
    font-size: 16px;
    line-height: 1.55;
    font-weight: 700;
}

.edupro-student-panel,
.edupro-student-month-card {
    background: var(--edupro-white);
    border: 1px solid var(--edupro-border);
    border-radius: 22px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .05);
    overflow: hidden;
}

.edupro-student-panel {
    padding: 24px;
}

.edupro-student-panel-head h2 {
    margin: 0 0 16px;
    color: var(--edupro-text);
    font-size: 20px;
    font-weight: 950;
}

.edupro-student-btn {
    min-height: 44px;
    padding: 0 16px;
    border-radius: 13px;
    text-decoration: none;
    border: 1px solid var(--edupro-border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #334155;
    background: #fff;
    font-weight: 900;
}

.edupro-student-btn.primary {
    background: var(--edupro-primary);
    color: #fff;
    border-color: var(--edupro-primary);
    box-shadow: 0 10px 22px rgba(79, 70, 229, .22);
}

.edupro-student-btn.light {
    background: #fff;
    color: #334155;
}

.edupro-student-btn.disabled {
    background: #f1f5f9;
    color: #94a3b8;
    cursor: not-allowed;
}

.edupro-student-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
}

.edupro-student-status.completed {
    background: var(--edupro-green-bg);
    color: var(--edupro-green);
}

.edupro-student-status.active {
    background: var(--edupro-primary-soft);
    color: var(--edupro-primary);
}

.edupro-student-status.postponed {
    background: var(--edupro-orange-bg);
    color: var(--edupro-orange);
}

.edupro-student-empty {
    min-height: 260px;
    padding: 32px;
    border-radius: 22px;
    background: #fff;
    border: 1px dashed #cbd5e1;
    color: var(--edupro-muted);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.edupro-student-empty-icon {
    width: 70px;
    height: 70px;
    margin-bottom: 14px;
    border-radius: 999px;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
}

.edupro-student-empty h3 {
    margin: 0;
    color: var(--edupro-text);
    font-size: 22px;
    font-weight: 950;
}

.edupro-student-empty p {
    margin: 8px 0 0;
    max-width: 420px;
    font-weight: 700;
}

/* =========================================================
 * DASHBOARD MODERN CENTER STYLE
 * ========================================================= */

.edupro-student-dashboard-page,
.edupro-student-dashboard-page * {
    box-sizing: border-box;
}

.edupro-student-dashboard-page {
    padding-bottom: 42px;
}

.edupro-student-dashboard-hero {
    position: relative;
    overflow: hidden;
    min-height: 260px;
    margin-bottom: 26px;
    padding: 34px;
    border-radius: 32px;
    background:
        radial-gradient(circle at 12% 20%, rgba(255, 255, 255, .22), transparent 28%),
        radial-gradient(circle at 86% 18%, rgba(255, 255, 255, .18), transparent 30%),
        linear-gradient(135deg, var(--edupro-primary) 0%, #6d28d9 55%, #7c3aed 100%);
    color: #fff;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    align-items: center;
    gap: 28px;
    box-shadow: 0 24px 58px rgba(79, 70, 229, .28);
}

.edupro-student-dashboard-hero::before,
.edupro-student-dashboard-hero::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    background: rgba(255, 255, 255, .11);
}

.edupro-student-dashboard-hero::before {
    width: 340px;
    height: 340px;
    right: -110px;
    top: -130px;
}

.edupro-student-dashboard-hero::after {
    width: 260px;
    height: 260px;
    left: -95px;
    bottom: -120px;
}

.edupro-student-dashboard-hero > * {
    position: relative;
    z-index: 1;
}

.edupro-student-dashboard-kicker {
    width: fit-content;
    min-height: 32px;
    padding: 0 14px;
    margin-bottom: 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .15);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .18);
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .02em;
}

.edupro-student-dashboard-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(34px, 3.2vw, 54px);
    line-height: 1.05;
    font-weight: 950;
    letter-spacing: -.055em;
}

.edupro-student-dashboard-hero p {
    max-width: 720px;
    margin: 16px 0 0;
    color: rgba(255, 255, 255, .88);
    font-size: 17px;
    line-height: 1.7;
    font-weight: 750;
}

.edupro-student-dashboard-quick {
    margin-top: 22px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.edupro-student-dashboard-quick span {
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .18);
    color: #fff;
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    font-weight: 900;
}

.edupro-student-dashboard-progress-card {
    padding: 22px;
    border-radius: 28px;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .20);
    backdrop-filter: blur(14px);
    text-align: center;
}

.edupro-student-progress-ring {
    --size: 150px;
    --progress: 0;
    width: var(--size);
    height: var(--size);
    margin: 0 auto 16px;
    border-radius: 999px;
    background: conic-gradient(#fff calc(var(--progress) * 1%), rgba(255, 255, 255, .18) 0);
    display: flex;
    align-items: center;
    justify-content: center;
}

.edupro-student-progress-ring > div {
    width: 112px;
    height: 112px;
    border-radius: 999px;
    background: #5b21b6;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.edupro-student-progress-ring strong {
    color: #fff;
    font-size: 32px;
    line-height: 1;
    font-weight: 950;
}

.edupro-student-progress-ring span {
    margin-top: 6px;
    color: rgba(255, 255, 255, .74);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.edupro-student-dashboard-progress-card p {
    margin: 0;
    color: rgba(255, 255, 255, .82);
    font-size: 13px;
    line-height: 1.5;
    font-weight: 800;
}

.edupro-student-dashboard-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 26px;
}

.edupro-student-dashboard-stat {
    min-width: 0;
    padding: 22px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid var(--edupro-border);
    box-shadow: var(--edupro-shadow-md);
    display: flex;
    align-items: center;
    gap: 18px;
    position: relative;
    overflow: hidden;
    transition: .2s ease;
}

.edupro-student-dashboard-stat::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top right, rgba(79, 70, 229, .08), transparent 38%);
    pointer-events: none;
}

.edupro-student-dashboard-stat:hover {
    transform: translateY(-3px);
    box-shadow: var(--edupro-shadow-lg);
    border-color: #c7d2fe;
}

.edupro-student-dashboard-stat > * {
    position: relative;
    z-index: 1;
}

.edupro-student-dashboard-stat-icon {
    width: 58px;
    height: 58px;
    min-width: 58px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.edupro-student-dashboard-stat-icon svg {
    width: 25px;
    height: 25px;
}

.edupro-student-dashboard-stat.purple .edupro-student-dashboard-stat-icon {
    background: var(--edupro-primary-soft);
    color: var(--edupro-primary);
}

.edupro-student-dashboard-stat.blue .edupro-student-dashboard-stat-icon {
    background: #e0f2fe;
    color: #0284c7;
}

.edupro-student-dashboard-stat.yellow .edupro-student-dashboard-stat-icon {
    background: #fef3c7;
    color: #d97706;
}

.edupro-student-dashboard-stat.green .edupro-student-dashboard-stat-icon {
    background: var(--edupro-green-bg);
    color: #059669;
}

.edupro-student-dashboard-stat span {
    display: block;
    margin-bottom: 7px;
    color: var(--edupro-muted);
    font-size: 12px;
    line-height: 1.25;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .025em;
}

.edupro-student-dashboard-stat strong {
    display: block;
    color: var(--edupro-text);
    font-size: 34px;
    line-height: 1;
    font-weight: 950;
}

.edupro-student-dashboard-content {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 24px;
}

.edupro-student-dashboard-panel {
    min-width: 0;
    padding: 26px;
    border-radius: 30px;
    background: #fff;
    border: 1px solid var(--edupro-border);
    box-shadow: 0 18px 44px rgba(15, 23, 42, .06);
    position: relative;
    overflow: hidden;
}

.edupro-student-dashboard-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top right, rgba(79, 70, 229, .06), transparent 35%),
        radial-gradient(circle at bottom left, rgba(16, 185, 129, .05), transparent 34%);
    pointer-events: none;
}

.edupro-student-dashboard-panel > * {
    position: relative;
    z-index: 1;
}

.edupro-student-dashboard-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}

.edupro-student-dashboard-panel-head > div {
    display: flex;
    align-items: center;
    gap: 12px;
}

.edupro-student-dashboard-panel-head > div > span {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    background: var(--edupro-primary-soft);
    display: flex;
    align-items: center;
    justify-content: center;
}

.edupro-student-dashboard-panel-head h2 {
    margin: 0;
    color: var(--edupro-text);
    font-size: 22px;
    line-height: 1.2;
    font-weight: 950;
    letter-spacing: -.03em;
}

.edupro-student-dashboard-panel-head small {
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid var(--edupro-border-light);
    color: var(--edupro-muted);
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 900;
}

.edupro-student-dashboard-page .edupro-student-notification-list,
.edupro-student-dashboard-page .edupro-student-upcoming-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.edupro-student-dashboard-page .edupro-student-notification,
.edupro-student-dashboard-page .edupro-student-upcoming {
    margin: 0;
    padding: 16px;
    border-radius: 18px;
    background: rgba(248, 250, 252, .82);
    border: 1px solid var(--edupro-border-light);
    display: flex;
    align-items: center;
    gap: 14px;
    transition: .18s ease;
}

.edupro-student-dashboard-page .edupro-student-notification:hover,
.edupro-student-dashboard-page .edupro-student-upcoming:hover {
    background: #fff;
    transform: translateY(-1px);
    border-color: #c7d2fe;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
}

.edupro-student-dashboard-page .edupro-student-notification > span {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 15px;
    background: #fff7ed;
    display: flex;
    align-items: center;
    justify-content: center;
}

.edupro-student-dashboard-page .edupro-student-notification strong,
.edupro-student-dashboard-page .edupro-student-upcoming strong {
    color: var(--edupro-text);
    font-size: 15px;
    font-weight: 950;
}

.edupro-student-dashboard-page .edupro-student-notification p,
.edupro-student-dashboard-page .edupro-student-upcoming p {
    margin: 5px 0 0;
    color: var(--edupro-muted);
    font-size: 14px;
    line-height: 1.45;
    font-weight: 750;
}

.edupro-student-dashboard-page .edupro-student-upcoming {
    align-items: flex-start;
}

.edupro-student-dashboard-page .edupro-student-upcoming > div:first-child {
    width: 105px;
    min-width: 105px;
    padding: 11px;
    border-radius: 16px;
    background: var(--edupro-primary-soft);
    color: var(--edupro-primary);
    text-align: center;
}

.edupro-student-dashboard-page .edupro-student-upcoming > div:first-child strong,
.edupro-student-dashboard-page .edupro-student-upcoming > div:first-child span {
    display: block;
    color: var(--edupro-primary);
    font-weight: 900;
}

.edupro-student-dashboard-page .edupro-student-upcoming > div:first-child span {
    margin-top: 4px;
    font-size: 12px;
}

.edupro-student-dashboard-page .edupro-student-empty {
    min-height: 245px;
    border-radius: 24px;
    background: rgba(248, 250, 252, .72);
}

/* =========================================================
 * CLASS DETAIL - SESSION GRID
 * ========================================================= */

.edupro-student-month-card {
    margin-bottom: 22px;
}

.edupro-student-month-head {
    min-height: 64px;
    padding: 0 24px;
    background: #f8fafc;
    border-bottom: 1px solid var(--edupro-border-light);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.edupro-student-month-head h2 {
    margin: 0;
    color: var(--edupro-text);
    font-size: 20px;
    font-weight: 950;
}

.edupro-student-month-head span {
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--edupro-primary-soft);
    color: var(--edupro-primary);
    font-size: 12px;
    font-weight: 900;
}

.edupro-student-session-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    padding: 22px;
    overflow: hidden;
}

.edupro-student-session-grid .edupro-student-session-card {
    min-width: 0;
    padding: 20px;
    border-radius: 22px;
    border: 1px solid var(--edupro-border-light);
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 18px;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
    transition: .2s ease;
}

.edupro-student-session-grid .edupro-student-session-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .09);
}

.edupro-student-session-grid .edupro-student-session-card.completed {
    background: linear-gradient(180deg, #fff 0%, #f0fdf4 100%);
    border-color: var(--edupro-green-border);
}

.edupro-student-session-grid .edupro-student-session-card.active {
    background: linear-gradient(180deg, #fff 0%, #f8faff 100%);
    border-color: #c7d2fe;
}

.edupro-student-session-grid .edupro-student-session-card.postponed {
    background: linear-gradient(180deg, #fff 0%, #fff7ed 100%);
    border-color: #fed7aa;
}

.edupro-student-session-main {
    min-width: 0;
}

.edupro-student-session-main h3 {
    margin: 0 0 8px;
    color: var(--edupro-text);
    font-size: 18px;
    line-height: 1.3;
    font-weight: 950;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}

.edupro-student-session-main p {
    margin: 0;
    color: var(--edupro-muted);
    font-size: 14px;
    line-height: 1.55;
    font-weight: 750;
}

.edupro-student-session-grid .edupro-student-status {
    margin: 0 0 12px;
}

.edupro-student-session-badges {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.edupro-student-session-badges span {
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: 12px;
    font-weight: 850;
    display: inline-flex;
    align-items: center;
}

.edupro-student-session-review {
    margin-top: 14px;
    padding: 13px;
    border-radius: 15px;
    background: #fffbeb;
    border: 1px solid #fde68a;
}

.edupro-student-session-review strong {
    display: block;
    margin-bottom: 5px;
    color: #d97706;
    font-size: 13px;
    font-weight: 950;
}

.edupro-student-session-review p {
    color: #78350f;
    font-size: 13px;
    line-height: 1.5;
}

.edupro-student-session-actions {
    width: 100%;
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}

.edupro-student-session-grid .edupro-student-btn {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 0 12px;
    border-radius: 13px;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* =========================================================
 * SCHEDULE PAGE MODERN
 * ========================================================= */

.edupro-student-schedule-page,
.edupro-student-schedule-page * {
    box-sizing: border-box;
}

.edupro-student-schedule-page {
    padding-bottom: 40px;
}

.edupro-student-schedule-page .edupro-student-page-head h1,
.edupro-student-homework-head h1,
.edupro-student-materials-head h1 {
    margin: 0 0 8px;
    color: var(--edupro-text);
    font-size: 42px;
    line-height: 1.08;
    font-weight: 950;
    letter-spacing: -.045em;
}

.edupro-student-schedule-page .edupro-student-page-head p,
.edupro-student-homework-head p,
.edupro-student-materials-head p {
    margin: 0;
    color: var(--edupro-muted);
    line-height: 1.55;
    font-weight: 750;
}

.edupro-student-schedule-page .edupro-student-page-head p {
    font-size: 17px;
    line-height: 1.6;
}

.edupro-student-schedule-wrapper {
    display: flex;
    flex-direction: column;
    gap: 26px;
}

.edupro-student-schedule-month-card {
    background: #fff;
    border: 1px solid var(--edupro-border);
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .06);
    position: relative;
}

.edupro-student-schedule-month-card::before,
.edupro-student-homework-card::before,
.edupro-student-materials-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top right, rgba(79, 70, 229, .10), transparent 35%),
        radial-gradient(circle at bottom left, rgba(16, 185, 129, .07), transparent 34%);
    pointer-events: none;
}

.edupro-student-schedule-month-head {
    position: relative;
    z-index: 1;
    min-height: 76px;
    padding: 0 28px;
    background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
    border-bottom: 1px solid #e7edf5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.edupro-student-schedule-month-head h2 {
    margin: 0;
    color: var(--edupro-text);
    font-size: 22px;
    line-height: 1.2;
    font-weight: 950;
    letter-spacing: -.025em;
    display: flex;
    align-items: center;
    gap: 12px;
}

.edupro-student-schedule-month-head h2::before {
    content: "🗓";
    width: 38px;
    height: 38px;
    border-radius: 13px;
    background: var(--edupro-primary-soft);
    color: var(--edupro-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.edupro-student-schedule-month-head span {
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    background: var(--edupro-primary-soft);
    color: var(--edupro-primary);
    font-size: 13px;
    font-weight: 950;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.edupro-student-schedule-list-modern {
    position: relative;
    z-index: 1;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.edupro-student-schedule-card-modern {
    width: 100%;
    min-width: 0;
    padding: 18px 20px;
    border-radius: 24px;
    background: #f8fbff;
    border: 1px solid #dfe8f3;
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    position: relative;
    overflow: hidden;
    box-shadow: var(--edupro-shadow-sm);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.edupro-student-schedule-card-modern:hover {
    transform: translateY(-2px);
    border-color: #c7d2fe;
    box-shadow: 0 18px 36px rgba(15, 23, 42, .08);
}

.edupro-student-schedule-card-modern::after {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    bottom: 18px;
    width: 4px;
    border-radius: 999px;
    background: #cbd5e1;
}

.edupro-student-schedule-card-modern.completed {
    background: linear-gradient(180deg, #fff 0%, #f0fdf4 100%);
    border-color: var(--edupro-green-border);
}

.edupro-student-schedule-card-modern.completed::after {
    background: linear-gradient(180deg, #22c55e, #16a34a);
}

.edupro-student-schedule-card-modern.active {
    background: linear-gradient(180deg, #fff 0%, #f5f7ff 100%);
    border-color: #c7d2fe;
}

.edupro-student-schedule-card-modern.active::after {
    background: linear-gradient(180deg, #6366f1, var(--edupro-primary));
}

.edupro-student-schedule-card-modern.postponed {
    background: linear-gradient(180deg, #fff 0%, #fff7ed 100%);
    border-color: #fed7aa;
}

.edupro-student-schedule-card-modern.postponed::after {
    background: linear-gradient(180deg, #fb923c, #ea580c);
}

.edupro-student-schedule-date-box {
    width: 74px;
    height: 74px;
    border-radius: 22px;
    background: linear-gradient(180deg, #f3f5ff 0%, #e9edff 100%);
    color: var(--edupro-primary);
    box-shadow: inset 0 0 0 1px rgba(79, 70, 229, .08);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.edupro-student-schedule-date-box strong {
    color: var(--edupro-primary);
    font-size: 18px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.04em;
}

.edupro-student-schedule-date-box span {
    margin-top: 6px;
    color: var(--edupro-primary);
    font-size: 13px;
    line-height: 1;
    font-weight: 850;
    opacity: .95;
}

.edupro-student-schedule-info-modern {
    min-width: 0;
}

.edupro-student-schedule-info-modern h3 {
    margin: 0 0 8px;
    color: var(--edupro-text);
    font-size: 19px;
    line-height: 1.35;
    font-weight: 950;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}

.edupro-student-schedule-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.edupro-student-schedule-meta span {
    color: var(--edupro-muted);
    font-size: 14px;
    line-height: 1.4;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.edupro-student-schedule-meta .weekday::before {
    content: "📌";
    font-size: 13px;
}

.edupro-student-schedule-meta .time::before {
    content: "⏰";
    font-size: 13px;
}

.edupro-student-schedule-status-wrap {
    justify-self: end;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.edupro-student-schedule-status-modern {
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 13px;
    line-height: 1;
    font-weight: 950;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.edupro-student-schedule-status-modern.completed {
    background: var(--edupro-green-bg);
    color: var(--edupro-green);
    border-color: var(--edupro-green-border);
}

.edupro-student-schedule-status-modern.active {
    background: var(--edupro-primary-soft);
    color: var(--edupro-primary);
    border-color: #c7d2fe;
}

.edupro-student-schedule-status-modern.postponed {
    background: var(--edupro-orange-bg);
    color: var(--edupro-orange);
    border-color: var(--edupro-orange-border);
}

.edupro-student-schedule-page .edupro-student-panel,
.edupro-student-schedule-page .edupro-student-schedule-list {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

/* =========================================================
 * HOMEWORK + MATERIALS SHARED CARD LAYOUT
 * ========================================================= */

.edupro-student-homework-page,
.edupro-student-materials-page,
.edupro-student-homework-page *,
.edupro-student-materials-page * {
    box-sizing: border-box;
}

.edupro-student-homework-page,
.edupro-student-materials-page {
    padding-bottom: 42px;
}

.edupro-student-homework-head,
.edupro-student-materials-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.edupro-student-homework-head p,
.edupro-student-materials-head p {
    font-size: 16px;
}

.edupro-student-homework-summary,
.edupro-student-materials-summary {
    background: #fff;
    border: 1px solid var(--edupro-border);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
}

.edupro-student-homework-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.edupro-student-homework-summary > div,
.edupro-student-materials-summary {
    min-width: 116px;
    padding: 14px 16px;
    border-radius: 18px;
}

.edupro-student-materials-summary {
    min-width: 142px;
    padding: 15px 18px;
    border-radius: 20px;
}

.edupro-student-homework-summary span,
.edupro-student-materials-summary span {
    display: block;
    color: var(--edupro-muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.edupro-student-homework-summary strong,
.edupro-student-materials-summary strong {
    display: block;
    margin-top: 5px;
    color: var(--edupro-text);
    font-size: 28px;
    line-height: 1;
    font-weight: 950;
}

.edupro-student-materials-summary strong {
    margin-top: 6px;
    font-size: 30px;
}

.edupro-student-homework-grid,
.edupro-student-materials-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.edupro-student-homework-card,
.edupro-student-materials-card {
    min-width: 0;
    padding: 22px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid var(--edupro-border);
    box-shadow: var(--edupro-shadow-md);
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.edupro-student-homework-card {
    min-height: 310px;
}

.edupro-student-materials-card {
    min-height: 285px;
}

.edupro-student-homework-card > *,
.edupro-student-materials-card > * {
    position: relative;
    z-index: 1;
}

.edupro-student-homework-card:hover,
.edupro-student-materials-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--edupro-shadow-lg);
    border-color: #c7d2fe;
}

.edupro-student-homework-card.pending {
    background: linear-gradient(180deg, #fff 0%, #f7f8ff 100%);
}

.edupro-student-homework-card.done {
    background: linear-gradient(180deg, #fff 0%, #f0fdf4 100%);
    border-color: var(--edupro-green-border);
}

.edupro-student-homework-card-top,
.edupro-student-materials-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}

.edupro-student-materials-card-top {
    gap: 14px;
    margin-bottom: 20px;
}

.edupro-student-homework-icon,
.edupro-student-materials-icon {
    width: 52px;
    height: 52px;
    border-radius: 17px;
    background: var(--edupro-primary-soft);
    color: var(--edupro-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 950;
    box-shadow: inset 0 0 0 1px rgba(79, 70, 229, .08);
}

.edupro-student-materials-icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    font-size: 15px;
}

.edupro-student-homework-card.done .edupro-student-homework-icon {
    background: var(--edupro-green-bg);
    color: var(--edupro-green);
}

.edupro-student-homework-status,
.edupro-student-materials-type {
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid #c7d2fe;
    background: var(--edupro-primary-soft);
    color: var(--edupro-primary);
    font-size: 12px;
    line-height: 1;
    font-weight: 950;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.edupro-student-homework-status.done {
    background: var(--edupro-green-bg);
    color: var(--edupro-green);
    border-color: var(--edupro-green-border);
}

.edupro-student-homework-card h2,
.edupro-student-materials-card h2 {
    margin: 0 0 10px;
    color: var(--edupro-text);
    font-size: 20px;
    line-height: 1.28;
    font-weight: 950;
    letter-spacing: -.03em;
    overflow-wrap: anywhere;
}

.edupro-student-materials-card h2 {
    margin-bottom: 16px;
}

.edupro-student-homework-desc {
    margin: 0 0 18px;
    color: var(--edupro-muted);
    font-size: 14px;
    line-height: 1.6;
    font-weight: 750;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.edupro-student-homework-meta,
.edupro-student-materials-meta {
    margin-top: auto;
    margin-bottom: 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.edupro-student-homework-meta span,
.edupro-student-materials-meta span {
    width: fit-content;
    max-width: 100%;
    min-height: 32px;
    padding: 0 11px;
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    border: 1px solid var(--edupro-border-light);
    font-size: 12.5px;
    line-height: 1;
    font-weight: 850;
    display: inline-flex;
    align-items: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.edupro-student-homework-btn,
.edupro-student-materials-btn {
    width: 100%;
    min-height: 46px;
    border-radius: 15px;
    text-decoration: none;
    border: 1px solid transparent;
    background: var(--edupro-primary);
    color: #fff;
    font-size: 14px;
    font-weight: 950;
    box-shadow: 0 12px 26px rgba(79, 70, 229, .25);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: .18s ease;
}

.edupro-student-homework-btn:hover,
.edupro-student-materials-btn:hover {
    transform: translateY(-1px);
    background: var(--edupro-primary-dark);
    color: #fff;
}

.edupro-student-homework-btn.done {
    background: #fff;
    color: var(--edupro-green);
    border-color: #86efac;
    box-shadow: none;
}

.edupro-student-homework-btn.done:hover {
    background: #ecfdf5;
}

.edupro-student-homework-empty-wrap,
.edupro-student-materials-empty-wrap {
    padding: 24px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid var(--edupro-border);
    box-shadow: var(--edupro-shadow-md);
}

/* File type colors */
.edupro-student-materials-icon.pdf,
.edupro-student-materials-type.pdf {
    background: #fee2e2;
    color: #dc2626;
    border-color: #fecaca;
}

.edupro-student-materials-icon.word,
.edupro-student-materials-type.word {
    background: #dbeafe;
    color: #2563eb;
    border-color: #bfdbfe;
}

.edupro-student-materials-icon.excel,
.edupro-student-materials-type.excel {
    background: var(--edupro-green-bg);
    color: var(--edupro-green);
    border-color: var(--edupro-green-border);
}

.edupro-student-materials-icon.powerpoint,
.edupro-student-materials-type.powerpoint {
    background: var(--edupro-orange-bg);
    color: #ea580c;
    border-color: #fed7aa;
}

.edupro-student-materials-icon.video,
.edupro-student-materials-type.video {
    background: #ede9fe;
    color: #7c3aed;
    border-color: #ddd6fe;
}

.edupro-student-materials-icon.audio,
.edupro-student-materials-type.audio {
    background: #fce7f3;
    color: #db2777;
    border-color: #fbcfe8;
}

.edupro-student-materials-icon.image,
.edupro-student-materials-type.image {
    background: #cffafe;
    color: #0891b2;
    border-color: #a5f3fc;
}

/* Reset old list styles inside new pages */
.edupro-student-homework-page .edupro-student-panel,
.edupro-student-homework-page .edupro-student-homework-list,
.edupro-student-materials-page .edupro-student-panel,
.edupro-student-materials-page .edupro-student-material-grid,
.edupro-student-materials-page .edupro-student-material-card {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

/* =========================================================
 * REVIEWS / OLD LIST FALLBACK
 * ========================================================= */

.edupro-student-review-list,
.edupro-student-schedule-list,
.edupro-student-homework-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.edupro-student-review-card,
.edupro-student-schedule-row,
.edupro-student-homework-item {
    padding: 18px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid var(--edupro-border-light);
}

.edupro-student-review-card {
    background: #fff;
}

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

.edupro-student-review-head strong {
    font-size: 17px;
    font-weight: 950;
}

.edupro-student-review-head span {
    color: var(--edupro-muted);
    font-size: 13px;
    font-weight: 800;
}

.edupro-student-review-card p {
    margin: 0;
    color: #334155;
    line-height: 1.7;
    font-weight: 700;
}

/* Dashboard responsive */
@media (max-width: 1280px) {
    .edupro-student-dashboard-hero {
        grid-template-columns: 1fr;
    }

    .edupro-student-dashboard-progress-card {
        max-width: 360px;
    }

    .edupro-student-dashboard-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .edupro-student-dashboard-content {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
 * RESPONSIVE
 * ========================================================= */

@media (max-width: 1440px) {
    .edupro-student-session-grid,
    .edupro-student-homework-grid,
    .edupro-student-materials-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1180px) {
    .edupro-student-session-grid,
    .edupro-student-homework-grid,
    .edupro-student-materials-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .edupro-student-homework-head,
    .edupro-student-materials-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 1024px) {
    .edupro-student-layout {
        display: block;
    }

    .edupro-student-sidebar {
        position: relative;
        width: 100%;
        min-width: 0;
        height: auto;
        max-height: none;
    }

    .edupro-student-menu {
        max-height: none;
        overflow: visible;
    }

    .edupro-student-main {
        width: 100%;
        min-height: auto;
        margin-left: 0;
        padding: 28px 18px;
    }

    .edupro-student-stats,
    .edupro-student-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .edupro-student-schedule-page .edupro-student-page-head h1 {
        font-size: 36px;
    }

    .edupro-student-schedule-card-modern {
        grid-template-columns: 82px minmax(0, 1fr);
    }

    .edupro-student-schedule-status-wrap {
        grid-column: 2;
        justify-self: start;
        margin-top: 4px;
    }
}

@media (max-width: 640px) {
    .edupro-student-page-head h1,
    .edupro-student-schedule-page .edupro-student-page-head h1,
    .edupro-student-homework-head h1,
    .edupro-student-materials-head h1 {
        font-size: 30px;
    }

    .edupro-student-page-head p,
    .edupro-student-schedule-page .edupro-student-page-head p,
    .edupro-student-homework-head p,
    .edupro-student-materials-head p {
        font-size: 15px;
    }

    .edupro-student-session-grid,
    .edupro-student-homework-grid,
    .edupro-student-materials-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .edupro-student-session-grid {
        padding: 16px;
    }

    .edupro-student-homework-summary {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .edupro-student-homework-summary > div,
    .edupro-student-materials-summary {
        width: 100%;
        min-width: 0;
    }

    .edupro-student-homework-card,
    .edupro-student-materials-card {
        min-height: auto;
        padding: 20px;
        border-radius: 22px;
    }

    .edupro-student-schedule-month-head {
        min-height: auto;
        padding: 18px;
        flex-direction: column;
        align-items: flex-start;
    }

    .edupro-student-schedule-list-modern {
        padding: 16px;
    }

    .edupro-student-schedule-card-modern {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 18px;
    }

    .edupro-student-schedule-date-box {
        width: 74px;
        height: 74px;
    }

    .edupro-student-schedule-status-wrap {
        grid-column: auto;
        justify-self: start;
    }

    .edupro-student-schedule-status-modern {
        min-height: 34px;
        font-size: 12px;
    }
}


@media (max-width: 640px) {
	.edupro-student-dashboard-stat strong {
		font-size: 20px;
	}
    .edupro-student-dashboard-hero {
        padding: 24px;
        border-radius: 24px;
    }

    .edupro-student-dashboard-hero h1 {
        font-size: 32px;
    }

    .edupro-student-dashboard-hero p {
        font-size: 15px;
    }

    .edupro-student-dashboard-stat {
        padding: 18px;
        border-radius: 22px;
    }

    .edupro-student-dashboard-content {
        gap: 18px;
    }

    .edupro-student-dashboard-panel {
        padding: 20px;
        border-radius: 24px;
    }

    .edupro-student-dashboard-panel-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .edupro-student-dashboard-page .edupro-student-upcoming {
        flex-direction: column;
    }

    .edupro-student-dashboard-page .edupro-student-upcoming > div:first-child {
        width: 100%;
        min-width: 0;
    }
}


/* =========================================================
 * STUDENT PORTAL - HOMEWORK DETAIL / DO ASSIGNMENT
 * ========================================================= */

.edupro-student-homework-detail-page,
.edupro-student-homework-detail-page * {
    box-sizing: border-box;
}

.edupro-student-homework-detail-page {
    padding-bottom: 42px;
}

.edupro-student-homework-detail-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.edupro-student-back-link {
    display: inline-flex;
    margin-bottom: 12px;
    color: #4f46e5;
    text-decoration: none;
    font-size: 14px;
    font-weight: 900;
}

.edupro-student-homework-detail-head h1 {
    margin: 0;
    color: #0f172a;
    font-size: 42px;
    line-height: 1.08;
    font-weight: 950;
    letter-spacing: -0.045em;
}

.edupro-student-homework-detail-head p {
    margin: 10px 0 0;
    color: #64748b;
    font-size: 16px;
    font-weight: 750;
}

.edupro-student-homework-detail-score {
    min-width: 130px;
    padding: 15px 18px;
    border-radius: 20px;
    background: #ffffff;
    border: 1px solid #dbe4ef;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.edupro-student-homework-detail-score span {
    display: block;
    color: #64748b;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.edupro-student-homework-detail-score strong {
    display: block;
    margin-top: 6px;
    color: #0f172a;
    font-size: 30px;
    line-height: 1;
    font-weight: 950;
}

.edupro-student-submit-message {
    margin-bottom: 18px;
    padding: 15px 18px;
    border-radius: 18px;
    font-weight: 850;
}

.edupro-student-submit-message.success {
    background: #dcfce7;
    color: #047857;
    border: 1px solid #bbf7d0;
}

.edupro-student-submit-message.error {
    background: #fee2e2;
    color: #dc2626;
    border: 1px solid #fecaca;
}

.edupro-student-homework-detail-card {
    padding: 26px;
    border-radius: 30px;
    background: #ffffff;
    border: 1px solid #dbe4ef;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

.edupro-student-homework-intro {
    margin-bottom: 24px;
    padding: 18px;
    border-radius: 20px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #334155;
    line-height: 1.7;
    font-weight: 700;
}

.edupro-student-question-card {
    margin-bottom: 20px;
    padding: 22px;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #f8faff 100%);
    border: 1px solid #dbe4ef;
}

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

.edupro-student-question-head span {
    display: inline-flex;
    margin-bottom: 6px;
    color: #4f46e5;
    font-size: 13px;
    font-weight: 950;
}

.edupro-student-question-head strong {
    display: block;
    color: #0f172a;
    font-size: 18px;
    font-weight: 950;
}

.edupro-student-question-head em {
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: #eef2ff;
    color: #4f46e5;
    display: inline-flex;
    align-items: center;
    font-style: normal;
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
}

.edupro-student-question-content {
    margin-bottom: 18px;
    color: #0f172a;
    font-size: 16px;
    line-height: 1.7;
    font-weight: 750;
}

.edupro-student-answer-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.edupro-student-answer-option {
    cursor: pointer;
}

.edupro-student-answer-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.edupro-student-answer-option span {
    min-height: 54px;
    padding: 14px 16px;
    border-radius: 17px;
    background: #ffffff;
    border: 1px solid #dbe4ef;
    color: #334155;
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 850;
    transition: .18s ease;
}

.edupro-student-answer-option img {
    width: 86px;
    height: 64px;
    object-fit: cover;
    border-radius: 12px;
}

.edupro-student-answer-option input:checked + span {
    background: #eef2ff;
    border-color: #4f46e5;
    color: #4f46e5;
    box-shadow: 0 10px 22px rgba(79, 70, 229, .12);
}

.edupro-student-answer-input,
.edupro-student-answer-textarea {
    width: 100%;
    border: 1px solid #dbe4ef;
    border-radius: 17px;
    background: #ffffff;
    color: #0f172a;
    outline: none;
    font: inherit;
    font-weight: 750;
}

.edupro-student-answer-input {
    min-height: 52px;
    padding: 0 16px;
}

.edupro-student-answer-textarea {
    padding: 15px 16px;
    resize: vertical;
    line-height: 1.6;
}

.edupro-student-answer-input:focus,
.edupro-student-answer-textarea:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 4px rgba(79, 70, 229, .10);
}



.edupro-ielts-exam-hero {
    margin-bottom: 22px;
    padding: 22px 24px;
    border-radius: 24px;
    border: 1px solid #dbe4ef;
    background: linear-gradient(135deg, #ffffff 0%, #f8faff 100%);
}

.edupro-ielts-exam-hero-top {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.edupro-ielts-exam-badge {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    background: #eef2ff;
    color: #4338ca;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.edupro-ielts-exam-hero-top strong {
    color: #0f172a;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 950;
}

.edupro-ielts-exam-hero p {
    margin: 0;
    color: #475569;
    line-height: 1.7;
    font-weight: 700;
}

.edupro-layout-mode-listening .edupro-ielts-exam-hero {
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
    border-color: #bfdbfe;
}

.edupro-layout-mode-reading .edupro-ielts-exam-hero {
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
}

.edupro-layout-mode-listening .edupro-student-homework-question-list {
    order: 2;
}

.edupro-layout-mode-listening .edupro-student-assignment-passage {
    order: 1;
}


.edupro-layout-mode-listening .edupro-student-homework-workspace.has-passage {
    grid-template-columns: minmax(300px, .92fr) minmax(0, 1.08fr);
}

.edupro-layout-mode-reading .edupro-student-homework-workspace.has-passage {
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
}

.edupro-matching-ielts {
    display: grid;
    gap: 18px;
}

.edupro-matching-instruction {
    padding: 14px 16px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-size: 14px;
    font-weight: 800;
}

.edupro-student-matching-list {
    display: grid;
    gap: 14px;
}

.edupro-student-matching-row {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) minmax(220px, .6fr);
    align-items: center;
    gap: 14px;
    padding: 16px;
    border-radius: 20px;
    border: 1px solid #dbe4ef;
    background: #ffffff;
}

.edupro-student-matching-order {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: #eef2ff;
    color: #4338ca;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 950;
}

.edupro-student-matching-prompt {
    color: #0f172a;
    line-height: 1.7;
    font-weight: 800;
}

.edupro-matching-drop-target {
    min-height: 74px;
    padding: 12px 14px;
    border-radius: 18px;
    border: 2px dashed #cbd5e1;
    background: #f8fafc;
    display: grid;
    align-content: center;
    gap: 5px;
    position: relative;
    transition: .18s ease;
}

.edupro-matching-drop-target.is-over,
.edupro-matching-drop-target.is-active {
    border-color: #4f46e5;
    background: #eef2ff;
}

.edupro-matching-drop-target.is-filled {
    border-style: solid;
    border-color: #4f46e5;
    background: #eef2ff;
}

.edupro-matching-drop-code {
    color: #4338ca;
    font-size: 13px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.edupro-matching-drop-text {
    color: #334155;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 800;
}

.edupro-matching-drop-target:not(.is-filled) .edupro-matching-drop-code,
.edupro-matching-drop-target:not(.is-filled) .edupro-matching-drop-text {
    color: #94a3b8;
}

.edupro-matching-drop-clear {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 999px;
    background: #4f46e5;
    color: #ffffff;
    font-size: 16px;
    line-height: 1;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.edupro-matching-drop-target.is-filled .edupro-matching-drop-clear {
    display: inline-flex;
}

.edupro-matching-choice-bank {
    padding: 18px;
    border-radius: 22px;
    border: 1px solid #dbe4ef;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.edupro-matching-choice-bank-title {
    margin-bottom: 12px;
    color: #475569;
    font-size: 13px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.edupro-matching-choice-bank-items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.edupro-matching-choice {
    min-height: 54px;
    padding: 10px 12px;
    border-radius: 16px;
    border: 1px solid #dbe4ef;
    background: #ffffff;
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: left;
    cursor: grab;
    transition: .18s ease;
}

.edupro-matching-choice:hover,
.edupro-matching-choice.is-active {
    border-color: #4f46e5;
    background: #eef2ff;
    box-shadow: 0 10px 22px rgba(79, 70, 229, .10);
}

.edupro-matching-choice.is-used {
    opacity: .35;
    cursor: not-allowed;
    pointer-events: none;
}

.edupro-matching-choice-code {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: #eef2ff;
    color: #4338ca;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: 950;
}

.edupro-matching-choice-text {
    color: #0f172a;
    line-height: 1.45;
    font-weight: 800;
}

.edupro-student-question-card-matching .edupro-student-question-content {
    margin-bottom: 16px;
}

@media (max-width: 1180px) {
    .edupro-layout-mode-listening .edupro-student-homework-workspace.has-passage,
    .edupro-layout-mode-reading .edupro-student-homework-workspace.has-passage {
        grid-template-columns: 1fr;
    }

    .edupro-layout-mode-listening .edupro-student-homework-question-list,
    .edupro-layout-mode-listening .edupro-student-assignment-passage {
        order: initial;
    }
}

@media (max-width: 900px) {
    .edupro-student-matching-row {
        grid-template-columns: 1fr;
    }

    .edupro-student-matching-order {
        width: 40px;
        height: 40px;
    }

    .edupro-matching-choice-bank-items {
        grid-template-columns: 1fr;
    }

    .edupro-ielts-exam-hero {
        padding: 18px;
    }

    .edupro-ielts-exam-hero-top strong {
        font-size: 20px;
    }
}

.edupro-inline-blank-content {
    line-height: 2.2;
    color: #0f172a;
    font-size: 17px;
    font-weight: 700;
}

.edupro-inline-blank-content-fill,
.edupro-inline-blank-content-drag {
    padding: 8px 0 2px;
}

.edupro-inline-blank-content br {
    content: "";
    display: block;
    margin-bottom: 12px;
}

.edupro-inline-blank-input {
    display: inline-flex;
    width: min(max(var(--edupro-blank-ch, 14ch), 92px), 100%);
    min-width: 72px;
    min-height: 42px;
    margin: 0 6px;
    padding: 0 14px;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #334155;
    outline: none;
    font: inherit;
    font-weight: 700;
    vertical-align: middle;
}

.edupro-inline-blank-input:focus {
    border-color: #4f46e5;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, .12);
}

.edupro-drag-blank-builder {
    display: grid;
    gap: 18px;
}

.edupro-drag-choice-bank {
    padding: 18px;
    border-radius: 20px;
    background: #fbfdff;
    border: 1px solid #dbe4ef;
}

.edupro-drag-choice-bank-label {
    margin-bottom: 12px;
    color: #475569;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.edupro-drag-choice-bank-items {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.edupro-drag-choice {
    min-height: 42px;
    padding: 0 14px;
    border-radius: 12px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f172a;
    font: inherit;
    font-weight: 800;
    cursor: grab;
    transition: .18s ease;
}

.edupro-drag-choice:hover,
.edupro-drag-choice.is-active {
    border-color: #4f46e5;
    color: #4f46e5;
    background: #eef2ff;
    box-shadow: 0 8px 18px rgba(79, 70, 229, .10);
}

.edupro-drag-choice.is-used {
    opacity: .35;
    cursor: not-allowed;
    pointer-events: none;
}

.edupro-drag-blank-target {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 104px;
    max-width: 100%;
    min-height: 40px;
    margin: 0 6px;
    padding: 0 10px;
    border-radius: 10px;
    border: 2px dashed #cbd5e1;
    background: #f8fafc;
    color: #94a3b8;
    vertical-align: middle;
    transition: .18s ease;
}

.edupro-drag-blank-target.is-over,
.edupro-drag-blank-target.is-active {
    border-color: #4f46e5;
    background: #eef2ff;
}

.edupro-drag-blank-target.is-filled {
    border-style: solid;
    border-color: #4f46e5;
    background: #eef2ff;
    color: #1e40af;
}

.edupro-drag-blank-text {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    white-space: nowrap;
    font-weight: 800;
}

.edupro-drag-blank-clear {
    display: none;
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 999px;
    background: #4f46e5;
    color: #ffffff;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
}

.edupro-drag-blank-target.is-filled .edupro-drag-blank-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.edupro-drag-blank-builder.is-readonly .edupro-drag-choice,
.edupro-drag-blank-builder.is-readonly .edupro-drag-blank-clear {
    pointer-events: none;
}

@media (max-width: 768px) {
    .edupro-inline-blank-content {
        font-size: 16px;
        line-height: 2;
    }

    .edupro-inline-blank-input,
    .edupro-drag-blank-target {
        width: 100%;
        max-width: 100%;
        margin: 6px 0;
    }
}

.edupro-student-homework-submit-bar {
    position: sticky;
    bottom: 0;
    margin-top: 24px;
    padding: 16px;
    border-radius: 22px;
    background: rgba(255, 255, 255, .88);
    border: 1px solid #dbe4ef;
    backdrop-filter: blur(12px);
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.edupro-student-homework-cancel,
.edupro-student-homework-submit-btn {
    min-height: 48px;
    padding: 0 22px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 950;
    cursor: pointer;
}

.edupro-student-homework-cancel {
    background: #ffffff;
    color: #334155;
    border: 1px solid #dbe4ef;
}

.edupro-student-homework-submit-btn {
    background: #4f46e5;
    color: #ffffff;
    border: 1px solid #4f46e5;
    box-shadow: 0 12px 26px rgba(79, 70, 229, .25);
}

@media (max-width: 768px) {
    .edupro-student-homework-detail-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .edupro-student-homework-detail-head h1 {
        font-size: 30px;
    }

    .edupro-student-homework-detail-score {
        width: 100%;
    }

    .edupro-student-homework-detail-card {
        padding: 18px;
        border-radius: 24px;
    }

    .edupro-student-answer-options {
        grid-template-columns: 1fr;
    }

    .edupro-student-homework-submit-bar {
        flex-direction: column;
    }

    .edupro-student-homework-cancel,
    .edupro-student-homework-submit-btn {
        width: 100%;
    }
}
/* =====================================================
   EDUPRO - STYLE XEM LẠI BÀI LÀM / ĐÁP ÁN / ĐÁNH GIÁ
   Bổ sung cho phần học viên xem bài đã chấm
===================================================== */
.edupro-student-question-card {
    overflow: hidden;
    position: relative;
}

.edupro-student-answer-result {
    margin-top: 18px;
    padding: 18px;
    border-radius: 20px;
    border: 1px solid #dbe4ef;
    background: linear-gradient(180deg, #ffffff 0%, #f8faff 100%);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
}

.edupro-student-answer-result.pending {
    background: linear-gradient(135deg, #fff7ed 0%, #ffffff 100%);
    border-color: #fed7aa;
}

.edupro-student-answer-result.correct {
    background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%);
    border-color: #bbf7d0;
}

.edupro-student-answer-result.wrong {
    background: linear-gradient(135deg, #fff1f2 0%, #ffffff 100%);
    border-color: #fecdd3;
}

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

.edupro-result-status {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.edupro-result-status > span {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #eef2ff;
    color: #4f46e5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-size: 18px;
    box-shadow: inset 0 0 0 1px rgba(79, 70, 229, .12);
}

.edupro-student-answer-result.pending .edupro-result-status > span {
    background: #ffedd5;
    color: #c2410c;
}

.edupro-student-answer-result.correct .edupro-result-status > span {
    background: #dcfce7;
    color: #15803d;
}

.edupro-student-answer-result.wrong .edupro-result-status > span {
    background: #ffe4e6;
    color: #be123c;
}

.edupro-result-status strong {
    display: block;
    margin: 0 0 4px;
    color: #0f172a;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 950;
}

.edupro-result-status p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.55;
    font-weight: 750;
}

.edupro-result-score-pill {
    min-width: 112px;
    padding: 10px 14px;
    border-radius: 18px;
    background: #4f46e5;
    color: #ffffff;
    text-align: center;
    box-shadow: 0 14px 26px rgba(79, 70, 229, .22);
}

.edupro-result-score-pill span {
    display: block;
    margin-bottom: 3px;
    color: rgba(255, 255, 255, .82);
    font-size: 11px;
    line-height: 1;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.edupro-result-score-pill strong {
    display: block;
    color: #ffffff;
    font-size: 18px;
    line-height: 1;
    font-weight: 950;
}

.edupro-student-submitted-answer,
.edupro-student-correct-answer,
.edupro-student-teacher-feedback,
.edupro-student-question-explanation {
    margin-top: 14px;
    padding: 15px 16px;
    border-radius: 17px;
    line-height: 1.7;
    font-size: 15px;
    font-weight: 700;
}

.edupro-student-submitted-answer > span,
.edupro-student-correct-answer > span,
.edupro-student-teacher-feedback > span,
.edupro-student-question-explanation > span {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 9px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .025em;
}

.edupro-student-submitted-answer {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #334155;
}

.edupro-student-submitted-answer > span {
    color: #475569;
}

.edupro-student-submitted-answer > span::before {
    content: "✍️";
}

.edupro-student-correct-answer {
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    color: #14532d;
}

.edupro-student-correct-answer > span {
    color: #15803d;
}

.edupro-student-correct-answer > span::before {
    content: "✅";
}

.edupro-student-teacher-feedback {
    background: #eef2ff;
    border: 1px solid #c7d2fe;
    border-left: 5px solid #4f46e5;
    color: #1e293b;
}

.edupro-student-teacher-feedback > span {
    color: #4f46e5;
}

.edupro-student-teacher-feedback > span::before {
    content: "💬";
}

.edupro-student-question-explanation {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-left: 5px solid #f59e0b;
    color: #713f12;
}

.edupro-student-question-explanation > span {
    color: #b45309;
}

.edupro-student-question-explanation > span::before {
    content: "💡";
}

.edupro-student-submitted-answer p,
.edupro-student-correct-answer p,
.edupro-student-teacher-feedback p,
.edupro-student-question-explanation p {
    margin: 0;
    line-height: 1.75;
}

.edupro-result-mini-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}

.edupro-result-mini-list li {
    padding: 10px 12px;
    border-radius: 13px;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(148, 163, 184, .22);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.edupro-result-mini-list li strong {
    color: #0f172a;
    font-weight: 900;
}

.edupro-result-mini-list li span {
    color: #475569;
    text-align: right;
    font-weight: 800;
}

/* Làm phần lựa chọn đáp án rõ hơn khi học viên xem lại */
.edupro-student-answer-option input:checked + span {
    position: relative;
}

.edupro-student-answer-option input:checked + span::after {
    content: "Đã chọn";
    margin-left: auto;
    padding: 5px 9px;
    border-radius: 999px;
    background: #4f46e5;
    color: #ffffff;
    font-size: 11px;
    line-height: 1;
    font-weight: 950;
}

/* Fix chữ kết quả bị sát nhau */
.edupro-student-answer-result p,
.edupro-student-answer-result div {
    word-break: break-word;
}

@media (max-width: 768px) {
    .edupro-student-answer-result {
        padding: 15px;
        border-radius: 18px;
    }

    .edupro-result-topline {
        flex-direction: column;
        align-items: stretch;
    }

    .edupro-result-score-pill {
        width: 100%;
    }

    .edupro-result-mini-list li {
        flex-direction: column;
        align-items: flex-start;
    }

    .edupro-result-mini-list li span {
        text-align: left;
    }
}

/* =====================================================
   EDUPRO - FIX NỘI DUNG BÀI TẬP LUÔN NẰM BÊN PHẢI
   Áp dụng cho giao diện làm bài và xem lại bài đã chấm
===================================================== */
.edupro-student-question-workspace {
    width: 100%;
    min-width: 0;
}

.edupro-student-question-workspace.has-passage {
    display: grid !important;
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
    align-items: start;
    gap: 22px;
}

.edupro-student-question-workspace.no-passage {
    display: block;
}

.edupro-student-question-left,
.edupro-student-question-passage {
    min-width: 0;
}

.edupro-student-question-left {
    order: 1;
}

.edupro-student-question-passage {
    order: 2;
    position: sticky;
    top: 24px;
    align-self: start;
    max-height: calc(100vh - 48px);
    overflow: auto;
    padding: 20px 22px;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #f8faff 100%);
    border: 1px solid #cfd9ff;
    box-shadow: 0 18px 42px rgba(79, 70, 229, .08);
    color: #1e293b;
    line-height: 1.75;
    font-size: 15px;
    font-weight: 400;
}

.edupro-student-question-passage p {
    margin: 0 0 12px;
    line-height: 1.8;
}

.edupro-student-question-passage p:last-child {
    margin-bottom: 0;
}

.edupro-student-question-passage::-webkit-scrollbar {
    width: 6px;
}

.edupro-student-question-passage::-webkit-scrollbar-track {
    background: transparent;
}

.edupro-student-question-passage::-webkit-scrollbar-thumb {
    background: rgba(79, 70, 229, .25);
    border-radius: 999px;
}

/* Giữ đáp án trong cột trái, không làm vỡ layout khi có nội dung bên phải */
.edupro-student-question-workspace.has-passage .edupro-student-answer-options {
    grid-template-columns: 1fr;
}

.edupro-student-question-workspace.has-passage .edupro-student-answer-result,
.edupro-student-question-workspace.has-passage .edupro-student-submitted-answer,
.edupro-student-question-workspace.has-passage .edupro-student-correct-answer,
.edupro-student-question-workspace.has-passage .edupro-student-teacher-feedback,
.edupro-student-question-workspace.has-passage .edupro-student-question-explanation {
    max-width: 100%;
}

@media (max-width: 1180px) {
    .edupro-student-question-workspace.has-passage {
        grid-template-columns: minmax(0, 1fr) minmax(280px, .82fr);
        gap: 18px;
    }
}

@media (max-width: 900px) {
    .edupro-student-question-workspace.has-passage {
        display: grid !important;
        grid-template-columns: 1fr;
    }

    .edupro-student-question-passage {
        position: relative;
        top: auto;
        max-height: none;
        order: 1;
        margin-bottom: 16px;
    }

    .edupro-student-question-left {
        order: 2;
    }
}

/* =====================================================
   EDUPRO V7 - Học viên xem đánh giá giáo viên
===================================================== */
.edupro-student-reviews-page {
    --rv-primary: #6257f6;
    --rv-primary-2: #8b5cf6;
    --rv-soft: #eef0ff;
    --rv-border: #dbe3ef;
    --rv-text: #0f172a;
    --rv-muted: #64748b;
    --rv-green: #10b981;
    --rv-orange: #f59e0b;
}

.edupro-student-reviews-hero {
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    padding: 26px 30px;
    margin-bottom: 24px;
    background: linear-gradient(135deg, #ffffff 0%, #f5f6ff 52%, #eef0ff 100%);
    border: 1px solid rgba(148, 163, 184, .22);
    box-shadow: 0 18px 45px rgba(15, 23, 42, .06);
}

.edupro-student-reviews-hero::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    right: -70px;
    top: -80px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(98,87,246,.18), rgba(98,87,246,0));
}

.edupro-student-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    color: var(--rv-primary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    box-shadow: 0 8px 20px rgba(98, 87, 246, .12);
}

.edupro-student-reviews-hero h1 {
    margin-top: 12px !important;
}

.edupro-student-reviews-hero-icon {
    position: absolute;
    right: 28px;
    bottom: 24px;
    width: 64px;
    height: 64px;
    border-radius: 22px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--rv-primary), var(--rv-primary-2));
    color: #fff;
    font-size: 26px;
    box-shadow: 0 18px 35px rgba(98, 87, 246, .25);
}

.edupro-student-reviews-shell {
    background: #fff;
    border: 1px solid var(--rv-border);
    border-radius: 26px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .06);
    overflow: hidden;
}

.edupro-student-review-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: linear-gradient(180deg, #ffffff, #f8faff);
    border-bottom: 1px solid #e8edf7;
}

.edupro-student-review-tabs a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 62px;
    color: #475569;
    text-decoration: none !important;
    font-weight: 900;
    transition: .22s ease;
}

.edupro-student-review-tabs a.active {
    color: var(--rv-primary);
    background: #fff;
}

.edupro-student-review-tabs a.active::after {
    content: "";
    position: absolute;
    left: 26px;
    right: 26px;
    bottom: -1px;
    height: 4px;
    border-radius: 99px 99px 0 0;
    background: linear-gradient(135deg, var(--rv-primary), var(--rv-primary-2));
}

.edupro-student-review-filter {
    display: flex;
    justify-content: flex-end;
    padding: 20px 24px 10px;
}

.edupro-student-review-filter label {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--rv-muted);
    font-weight: 800;
}

.edupro-student-review-filter select {
    min-width: 260px;
    height: 48px;
    border: 1px solid #d7def0;
    border-radius: 16px;
    padding: 0 14px;
    color: var(--rv-text);
    background: #fff;
    outline: none;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .03);
}

.edupro-student-review-filter select:focus {
    border-color: var(--rv-primary);
    box-shadow: 0 0 0 4px rgba(98,87,246,.12);
}

.edupro-student-review-list-pro {
    display: grid;
    gap: 18px;
    padding: 20px 24px 26px;
}

.edupro-student-review-card-pro {
    position: relative;
    overflow: hidden;
    border: 1px solid #e1e8f5;
    border-radius: 24px;
    background: linear-gradient(135deg, #ffffff, #f8faff);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .055);
    padding: 20px;
}

.edupro-student-review-card-pro::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: linear-gradient(180deg, var(--rv-primary), var(--rv-primary-2));
}

.edupro-student-review-card-pro.month::before {
    background: linear-gradient(180deg, var(--rv-orange), #fb7185);
}

.edupro-student-review-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}

.edupro-student-review-type {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.edupro-student-review-type > span {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: var(--rv-soft);
    color: var(--rv-primary);
    flex: 0 0 auto;
}

.edupro-student-review-type strong {
    color: var(--rv-text);
    font-size: 18px;
    font-weight: 950;
    line-height: 1.25;
}

.edupro-student-review-badge {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 8px 12px;
    background: #eef0ff;
    color: var(--rv-primary);
    font-size: 12px;
    font-weight: 900;
}

.edupro-student-review-card-pro.month .edupro-student-review-badge {
    background: #fff7ed;
    color: #c2410c;
}

.edupro-student-review-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.edupro-student-review-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e6ebf5;
    padding: 7px 10px;
    color: var(--rv-muted);
    font-size: 12px;
    font-weight: 800;
}

.edupro-student-review-content-pro {
    border-radius: 18px;
    background: #fff;
    border: 1px solid #edf2fb;
    padding: 16px 18px;
    color: #1e293b;
    font-size: 15px;
    line-height: 1.75;
}

.edupro-student-review-content-pro p {
    margin: 0 0 8px;
}

.edupro-student-review-content-pro p:last-child {
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .edupro-student-reviews-hero {
        padding: 22px;
    }

    .edupro-student-reviews-hero-icon {
        display: none;
    }

    .edupro-student-review-tabs {
        grid-template-columns: 1fr;
    }

    .edupro-student-review-filter {
        justify-content: stretch;
        padding: 16px;
    }

    .edupro-student-review-filter label {
        width: 100%;
        display: grid;
        gap: 8px;
    }

    .edupro-student-review-filter select {
        width: 100%;
        min-width: 0;
    }

    .edupro-student-review-list-pro {
        padding: 16px;
    }

    .edupro-student-review-card-top {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* =====================================================
   EDUPRO - CHUÔNG THÔNG BÁO KIỂU FACEBOOK
===================================================== */
.edupro-notify-bell-wrap {
    position: fixed;
    bottom: 26px;
    right: 34px;
    z-index: 99999;
    font-family: inherit;
}

.edupro-notify-bell-btn {
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, #6d5dfc, #8b5cf6);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 18px 40px rgba(91, 92, 246, .28);
    position: relative;
    transition: .22s ease;
}

.edupro-notify-bell-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 24px 48px rgba(91, 92, 246, .34);
}

.edupro-notify-bell-icon {
    font-size: 24px;
    line-height: 1;
}

.edupro-notify-bell-count {
    position: absolute;
    top: -8px;
    right: -8px;
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    border: 3px solid #fff;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 900;
}

.edupro-notify-dropdown {
    position: absolute;
    bottom: 72px;
    right: 0;
    width: 390px;
    max-width: calc(100vw - 28px);
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px) scale(.98);
    transform-origin: top right;
    transition: .2s ease;
    overflow: hidden;
}

.edupro-notify-bell-wrap.open .edupro-notify-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.edupro-notify-head {
    padding: 18px 18px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid #eef2f7;
    background: linear-gradient(135deg, #ffffff, #f8faff);
}

.edupro-notify-head strong {
    display: block;
    color: #071a3d;
    font-size: 20px;
    font-weight: 900;
}

.edupro-notify-head p {
    margin: 3px 0 0;
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
}

.edupro-notify-read-all {
    border: 0;
    background: #eef0ff;
    color: #5b5cf6;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
}

.edupro-notify-list {
    max-height: 450px;
    overflow-y: auto;
    padding: 10px;
}

.edupro-notify-item {
    width: 100%;
    border: 0;
    background: #fff;
    border-radius: 18px;
    padding: 12px;
    display: flex;
    gap: 12px;
    text-align: left;
    cursor: pointer;
    transition: .18s ease;
    position: relative;
}

.edupro-notify-item:hover {
    background: #f6f8ff;
}

.edupro-notify-item.unread {
    background: #f1f4ff;
}

.edupro-notify-item.unread::after {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #5b5cf6;
    position: absolute;
    top: 20px;
    right: 14px;
}

.edupro-notify-item-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 15px;
    background: #eef0ff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.edupro-notify-item-body {
    display: block;
    min-width: 0;
    padding-right: 14px;
}

.edupro-notify-item-body strong {
    display: block;
    color: #0f172a;
    font-size: 14px;
    font-weight: 900;
    margin-bottom: 4px;
}

.edupro-notify-item-body em {
    display: block;
    color: #475569;
    font-size: 13px;
    line-height: 1.45;
    font-style: normal;
    margin-bottom: 6px;
}

.edupro-notify-item-body small {
    display: block;
    color: #8a9ab0;
    font-size: 12px;
    font-weight: 700;
}

.edupro-notify-loading,
.edupro-notify-empty {
    padding: 34px 20px;
    text-align: center;
    color: #64748b;
}

.edupro-notify-empty span {
    display: block;
    font-size: 32px;
    margin-bottom: 10px;
}

.edupro-notify-empty strong {
    display: block;
    color: #0f172a;
    font-size: 16px;
    margin-bottom: 6px;
}

.edupro-notify-empty p {
    margin: 0;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .edupro-notify-bell-wrap {
        top: 16px;
        right: 16px;
    }

    .edupro-notify-bell-btn {
        width: 50px;
        height: 50px;
        border-radius: 17px;
    }

    .edupro-notify-dropdown {
        top: 62px;
        right: -4px;
        width: calc(100vw - 24px);
        border-radius: 20px;
    }
}


/* ===== Chuông thông báo: cập nhật liền, không cần rê chuột ===== */
.edupro-notify-bell-wrap.has-new .edupro-notify-bell-btn {
    animation: eduproBellRing .8s ease-in-out 0s 3;
    box-shadow: 0 18px 38px rgba(91, 92, 246, .32);
}

@keyframes eduproBellRing {
    0%, 100% { transform: rotate(0deg) scale(1); }
    15% { transform: rotate(12deg) scale(1.04); }
    30% { transform: rotate(-10deg) scale(1.04); }
    45% { transform: rotate(8deg) scale(1.03); }
    60% { transform: rotate(-6deg) scale(1.03); }
    75% { transform: rotate(3deg) scale(1.02); }
}

.edupro-notify-toast {
    position: fixed;
    right: 28px;
    top: 88px;
    z-index: 99998;
    width: min(360px, calc(100vw - 32px));
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border: 1px solid #dfe7f3;
    border-radius: 18px;
    padding: 14px 15px;
    background: #fff;
    color: #0f172a;
    box-shadow: 0 22px 55px rgba(15, 23, 42, .18);
    text-align: left;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    transition: .22s ease;
}

.edupro-notify-toast.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.edupro-notify-toast-icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #5b5cf6, #8b5cf6);
    box-shadow: 0 10px 20px rgba(91, 92, 246, .22);
}

.edupro-notify-toast-body {
    flex: 1;
    min-width: 0;
}

.edupro-notify-toast-body strong,
.edupro-notify-toast-body em {
    display: block;
}

.edupro-notify-toast-body strong {
    margin-bottom: 4px;
    font-size: 14px;
    font-weight: 900;
    color: #071a3d;
}

.edupro-notify-toast-body em {
    font-style: normal;
    font-size: 13px;
    line-height: 1.45;
    color: #64748b;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 768px) {
    .edupro-notify-toast {
        right: 16px;
        top: 76px;
    }
}

/* =========================================================
   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-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: 260px !important;
        min-width: 260px !important;
        max-width: 260px !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-sidebar)) !important;
        margin-left: var(--edupro-smart-sidebar) !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% - 260px) !important;
        margin-left: 260px !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; }
}


/* =========================================================
   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 {
        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-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 - PHỤ HUYNH GỬI ĐÁNH GIÁ
===================================================== */
.edupro-parent-review-shell {
    margin-top: 24px;
    background: #ffffff;
    border: 1px solid #dfe7f3;
    border-radius: 26px;
    padding: 24px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
}

.edupro-parent-review-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

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

.edupro-parent-review-head h2 {
    margin: 10px 0 6px;
    color: #061733;
    font-size: 24px;
    font-weight: 900;
}

.edupro-parent-review-head p {
    margin: 0;
    color: #64748b;
    line-height: 1.65;
}

.edupro-parent-review-icon {
    width: 64px;
    height: 64px;
    min-width: 64px;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #5b5cf6, #8b5cf6);
    color: #fff;
    font-size: 28px;
    box-shadow: 0 18px 35px rgba(91, 92, 246, .22);
}

.edupro-parent-review-form {
    background: linear-gradient(135deg, #f8faff, #ffffff);
    border: 1px solid #e4ebf5;
    border-radius: 22px;
    padding: 20px;
    margin-bottom: 22px;
}

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

.edupro-parent-review-form label {
    display: block;
}

.edupro-parent-review-form label span {
    display: block;
    color: #17365d;
    font-weight: 900;
    font-size: 14px;
    margin-bottom: 9px;
}

.edupro-parent-review-form b {
    color: #ef4444;
}

.edupro-parent-review-form input,
.edupro-parent-review-form select,
.edupro-parent-review-form textarea {
    width: 100%;
    border: 1px solid #ccd8ea;
    border-radius: 15px;
    background: #fff;
    color: #0f172a;
    outline: none;
    box-sizing: border-box;
    transition: .2s ease;
}

.edupro-parent-review-form input,
.edupro-parent-review-form select {
    height: 50px;
    padding: 0 14px;
}

.edupro-parent-review-form textarea {
    min-height: 120px;
    padding: 14px;
    resize: vertical;
    line-height: 1.7;
}

.edupro-parent-review-form input:focus,
.edupro-parent-review-form select:focus,
.edupro-parent-review-form textarea:focus {
    border-color: #6d5dfc;
    box-shadow: 0 0 0 4px rgba(109, 93, 252, .12);
}

.edupro-parent-review-full {
    margin-top: 16px;
}

.edupro-parent-review-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 16px;
}

.edupro-parent-review-actions button {
    border: 0;
    border-radius: 15px;
    min-height: 48px;
    padding: 0 22px;
    background: linear-gradient(135deg, #5b5cf6, #8b5cf6);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 14px 28px rgba(91, 92, 246, .2);
}

.edupro-parent-review-actions button:disabled {
    opacity: .65;
    cursor: not-allowed;
}

.edupro-parent-review-actions small {
    color: #64748b;
    line-height: 1.5;
}

.edupro-parent-review-history h3 {
    margin: 0 0 14px;
    color: #061733;
    font-size: 18px;
    font-weight: 900;
}

.edupro-parent-review-list {
    display: grid;
    gap: 14px;
}

.edupro-parent-review-item {
    background: #fff;
    border: 1px solid #e4ebf5;
    border-left: 5px solid #5b5cf6;
    border-radius: 18px;
    padding: 16px 18px;
}

.edupro-parent-review-item.is-new {
    animation: eduproParentReviewNew .8s ease;
}

@keyframes eduproParentReviewNew {
    0% { transform: translateY(-8px); box-shadow: 0 0 0 6px rgba(91, 92, 246, .12); }
    100% { transform: translateY(0); box-shadow: none; }
}

.edupro-parent-review-item-top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.edupro-parent-review-item-top strong {
    color: #061733;
    font-weight: 900;
}

.edupro-parent-review-item-top span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f1f5ff;
    color: #4f46e5;
    font-size: 12px;
    font-weight: 800;
}

.edupro-parent-review-item p {
    margin: 0 0 10px;
    color: #334155;
    line-height: 1.75;
}

.edupro-parent-review-item time,
.edupro-parent-review-empty {
    color: #64748b;
    font-size: 14px;
}

.edupro-parent-review-empty {
    padding: 18px;
    border-radius: 16px;
    background: #f8fbff;
    border: 1px dashed #ccd8ea;
    text-align: center;
}

@media (max-width: 768px) {
    .edupro-parent-review-shell,
    .edupro-parent-review-form {
        padding: 18px;
        border-radius: 20px;
    }

    .edupro-parent-review-head,
    .edupro-parent-review-actions {
        flex-direction: column;
        align-items: flex-start;
    }

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

    .edupro-parent-review-actions button {
        width: 100%;
    }
}

/* =====================================================
   EDUPRO - PHỤ HUYNH ĐÁNH GIÁ THEO BUỔI / THEO THÁNG
===================================================== */
.edupro-parent-review-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 18px;
}

.edupro-parent-review-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #dbe5f2;
    color: #39506e;
    font-weight: 800;
    text-decoration: none !important;
    transition: .2s ease;
}

.edupro-parent-review-tabs a.active,
.edupro-parent-review-tabs a:hover {
    background: linear-gradient(135deg, #4f46e5, #7c3aed);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 12px 24px rgba(79, 70, 229, .22);
}

.edupro-parent-review-scope-grid {
    margin-bottom: 14px;
}

.edupro-parent-review-history-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.edupro-parent-review-history-head h3 {
    margin: 0;
}

.edupro-parent-review-filter select {
    min-width: 220px;
    height: 44px;
    border: 1px solid #d8e3f1;
    border-radius: 12px;
    padding: 0 12px;
    background: #fff;
    color: #1e293b;
    font-weight: 700;
}

.edupro-parent-review-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 10px;
}

.edupro-parent-review-meta span {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eef2ff;
    color: #4338ca;
    font-size: 12px;
    font-weight: 800;
}

@media (max-width: 767px) {
    .edupro-parent-review-history-head {
        align-items: stretch;
        flex-direction: column;
    }

    .edupro-parent-review-filter select,
    .edupro-parent-review-tabs a {
        width: 100%;
        justify-content: center;
    }
}

/* EduPro assignment-level passage/audio for homework */
.edupro-student-homework-workspace {
    width: 100%;
    min-width: 0;
}

.edupro-student-homework-workspace.has-passage {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
    align-items: start;
    gap: 22px;
}

.edupro-student-homework-question-list,
.edupro-student-homework-fieldset {
    min-width: 0;
}

.edupro-student-homework-fieldset {
    border: 0;
    padding: 0;
    margin: 0;
}

.edupro-student-assignment-passage audio,
.edupro-student-assignment-audio audio {
    width: 100%;
    margin: 10px 0 16px;
}

.edupro-student-assignment-audio span {
    display: inline-flex;
    margin-bottom: 6px;
    color: #4f46e5;
    font-weight: 900;
}

.edupro-student-homework-submit-btn:disabled {
    opacity: .65;
    cursor: not-allowed;
}

@media (max-width: 900px) {
    .edupro-student-homework-workspace.has-passage {
        grid-template-columns: 1fr;
    }

    .edupro-student-assignment-passage {
        position: relative;
        top: auto;
        max-height: none;
        order: -1;
        margin-bottom: 16px;
    }
}


.edupro-ielts-total-questions {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #dbe4ef;
    color: #475569;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
}

.edupro-ielts-part-heading {
    margin: 26px 0 16px;
    padding: 18px 20px;
    border-radius: 22px;
    background: linear-gradient(135deg, #eef2ff 0%, #ffffff 100%);
    border: 1px solid #c7d2fe;
}

.edupro-ielts-part-heading div {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.edupro-ielts-part-heading span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: #4f46e5;
    color: #ffffff;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.edupro-ielts-part-heading strong {
    color: #0f172a;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 950;
}

.edupro-ielts-part-heading p {
    margin: 0;
    color: #475569;
    line-height: 1.65;
    font-weight: 700;
}

.edupro-matching-line-builder {
    display: grid;
    gap: 18px;
}

.edupro-matching-line-board {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, .8fr);
    gap: 28px;
    align-items: start;
}

.edupro-matching-lines-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: visible;
    z-index: 1;
}

.edupro-matching-line-path {
    fill: none;
    stroke: #4f46e5;
    stroke-width: 3;
    stroke-linecap: round;
    opacity: .92;
    filter: drop-shadow(0 8px 12px rgba(79, 70, 229, .18));
}

.edupro-matching-left-list,
.edupro-matching-right-list {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 14px;
}

.edupro-matching-left-item,
.edupro-matching-right-item {
    position: relative;
    border-radius: 22px;
    border: 1px solid #dbe4ef;
    background: #ffffff;
    transition: .18s ease;
}

.edupro-matching-left-item {
    padding: 16px;
    cursor: pointer;
}

.edupro-matching-left-item.is-active,
.edupro-matching-left-item:hover,
.edupro-matching-left-item.is-connected,
.edupro-matching-right-item.is-active,
.edupro-matching-right-item:hover,
.edupro-matching-right-item.is-used {
    border-color: #4f46e5;
    box-shadow: 0 14px 26px rgba(79, 70, 229, .10);
}

.edupro-matching-left-item-top {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.edupro-matching-left-number,
.edupro-matching-right-code {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #eef2ff;
    color: #4338ca;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: 950;
}

.edupro-matching-left-prompt,
.edupro-matching-right-text {
    color: #0f172a;
    line-height: 1.65;
    font-weight: 800;
}

.edupro-matching-left-answer {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
}

.edupro-matching-left-item.is-connected .edupro-matching-left-answer {
    border-style: solid;
    background: #eef2ff;
    border-color: #c7d2fe;
}

.edupro-matching-left-answer-code {
    min-width: 48px;
    min-height: 34px;
    padding: 0 10px;
    border-radius: 12px;
    background: #ffffff;
    color: #4338ca;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 950;
}

.edupro-matching-left-answer-text {
    color: #64748b;
    line-height: 1.5;
    font-weight: 700;
}

.edupro-matching-left-item.is-connected .edupro-matching-left-answer-text {
    color: #1e293b;
}

.edupro-matching-left-clear {
    margin-left: auto;
    width: 26px;
    height: 26px;
    border: 0;
    border-radius: 999px;
    background: #4f46e5;
    color: #ffffff;
    font-size: 16px;
    line-height: 1;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.edupro-matching-left-item.is-connected .edupro-matching-left-clear {
    display: inline-flex;
}

.edupro-matching-right-item {
    min-height: 74px;
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    cursor: grab;
}

.edupro-matching-right-item.is-used {
    background: #eef2ff;
}

.edupro-matching-right-text {
    flex: 1;
}

@media (max-width: 1100px) {
    .edupro-matching-line-board {
        grid-template-columns: 1fr;
    }

    .edupro-matching-lines-svg {
        display: none;
    }
}

@media (max-width: 768px) {
    .edupro-ielts-part-heading {
        padding: 16px;
    }

    .edupro-matching-left-item-top {
        flex-direction: row;
    }

    .edupro-matching-left-answer {
        align-items: flex-start;
        flex-wrap: wrap;
    }
}


/* =====================================================
   EDUPRO - GIỮ CỘT NỘI DUNG / AUDIO BÊN PHẢI ĐỨNG IM KHI SCROLL
   Ghi đè cuối file để tránh bị các rule layout cũ override.
===================================================== */
.edupro-student-homework-workspace.has-passage,
.edupro-ielts-workspace.has-passage {
    overflow: visible !important;
    align-items: start !important;
}

.edupro-student-homework-question-list {
    min-width: 0;
}

.edupro-student-assignment-passage,
.edupro-student-question-passage.edupro-student-assignment-passage {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 18px !important;
    align-self: start !important;
    height: fit-content;
    max-height: calc(100vh - 36px) !important;
    max-height: calc(100dvh - 36px) !important;
    overflow-y: auto !important;
    z-index: 20;
}

body.admin-bar .edupro-student-assignment-passage,
body.admin-bar .edupro-student-question-passage.edupro-student-assignment-passage {
    top: 50px !important;
    max-height: calc(100vh - 68px) !important;
    max-height: calc(100dvh - 68px) !important;
}

.edupro-layout-mode-listening .edupro-student-assignment-passage,
.edupro-layout-mode-reading .edupro-student-assignment-passage {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 18px !important;
}

@media (max-width: 900px) {
    .edupro-student-assignment-passage,
    .edupro-student-question-passage.edupro-student-assignment-passage,
    .edupro-layout-mode-listening .edupro-student-assignment-passage,
    .edupro-layout-mode-reading .edupro-student-assignment-passage {
        position: relative !important;
        top: auto !important;
        max-height: none !important;
        overflow: visible !important;
        z-index: auto;
    }
}

/* =====================================================
   EDUPRO - REORDER WORDS / LETTERS DRAG & DROP UI
===================================================== */
.edupro-reorder-drag-builder {
    display: grid;
    gap: 14px;
}

.edupro-reorder-instruction {
    padding: 13px 15px;
    border-radius: 15px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
}

.edupro-reorder-answer-zone,
.edupro-reorder-bank {
    min-height: 64px;
    padding: 14px;
    border-radius: 18px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    transition: .18s ease;
}

.edupro-reorder-answer-zone {
    border: 2px dashed #c7d2fe;
    background: #f8faff;
}

.edupro-reorder-bank {
    border: 1px solid #dbe4ef;
    background: #ffffff;
}

.edupro-reorder-answer-zone.is-over,
.edupro-reorder-bank.is-over {
    border-color: #4f46e5;
    background: #eef2ff;
}

.edupro-reorder-placeholder {
    color: #94a3b8;
    font-size: 14px;
    font-weight: 850;
}

.edupro-reorder-token {
    min-height: 42px;
    padding: 0 14px;
    border-radius: 13px;
    border: 1px solid #dbe4ef;
    background: #ffffff;
    color: #0f172a;
    font: inherit;
    font-size: 15px;
    font-weight: 900;
    cursor: grab;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}

.edupro-reorder-token:hover,
.edupro-reorder-token.is-dragging {
    border-color: #4f46e5;
    background: #eef2ff;
    color: #4338ca;
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(79, 70, 229, .14);
}

.edupro-reorder-token.is-in-answer {
    background: #eef2ff;
    border-color: #4f46e5;
    color: #4338ca;
}

.edupro-reorder-actions {
    display: flex;
    justify-content: flex-end;
}

.edupro-reorder-reset {
    min-height: 38px;
    padding: 0 14px;
    border-radius: 12px;
    border: 1px solid #dbe4ef;
    background: #ffffff;
    color: #475569;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.edupro-reorder-reset:hover {
    border-color: #4f46e5;
    color: #4f46e5;
    background: #eef2ff;
}

.edupro-reorder-drag-builder.is-readonly .edupro-reorder-token,
.edupro-reorder-drag-builder.is-readonly .edupro-reorder-reset {
    cursor: not-allowed;
    pointer-events: none;
}

/* =====================================================
   EDUPRO - FIX CỘT NỘI DUNG BÊN PHẢI ĐỨNG IM THEO ROW
   Cột câu hỏi tự scroll riêng, cột passage/audio giữ nguyên.
===================================================== */
@media (min-width: 901px) {
    .edupro-student-homework-form.has-assignment-passage,
    .edupro-student-homework-form.edupro-ielts-layout.has-assignment-passage {
        min-height: 0 !important;
    }

    .edupro-student-homework-workspace.has-passage,
    .edupro-ielts-workspace.has-passage,
    .edupro-layout-mode-reading .edupro-student-homework-workspace.has-passage,
    .edupro-layout-mode-listening .edupro-student-homework-workspace.has-passage {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(360px, 0.78fr) !important;
        align-items: stretch !important;
        gap: 24px !important;
        height: calc(100vh - 230px) !important;
        height: calc(100dvh - 230px) !important;
        min-height: 560px !important;
        max-height: calc(100vh - 210px) !important;
        max-height: calc(100dvh - 210px) !important;
        overflow: hidden !important;
    }

    body.admin-bar .edupro-student-homework-workspace.has-passage,
    body.admin-bar .edupro-ielts-workspace.has-passage {
        height: calc(100vh - 262px) !important;
        height: calc(100dvh - 262px) !important;
        max-height: calc(100vh - 242px) !important;
        max-height: calc(100dvh - 242px) !important;
    }

    .edupro-student-homework-question-list {
        height: 100% !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding-right: 12px !important;
        overscroll-behavior: contain !important;
        scrollbar-width: thin;
    }

    .edupro-student-homework-question-list::-webkit-scrollbar,
    .edupro-student-assignment-passage::-webkit-scrollbar {
        width: 7px;
    }

    .edupro-student-homework-question-list::-webkit-scrollbar-track,
    .edupro-student-assignment-passage::-webkit-scrollbar-track {
        background: transparent;
    }

    .edupro-student-homework-question-list::-webkit-scrollbar-thumb,
    .edupro-student-assignment-passage::-webkit-scrollbar-thumb {
        background: rgba(79, 70, 229, .28);
        border-radius: 999px;
    }

    .edupro-student-homework-fieldset {
        min-height: min-content !important;
    }

    .edupro-student-assignment-passage,
    .edupro-student-question-passage.edupro-student-assignment-passage,
    .edupro-layout-mode-listening .edupro-student-assignment-passage,
    .edupro-layout-mode-reading .edupro-student-assignment-passage {
        position: relative !important;
        top: auto !important;
        align-self: stretch !important;
        height: 100% !important;
        max-height: none !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        z-index: 5 !important;
        overscroll-behavior: contain !important;
    }

    .edupro-layout-mode-listening .edupro-student-homework-question-list {
        order: 2 !important;
    }

    .edupro-layout-mode-listening .edupro-student-assignment-passage {
        order: 1 !important;
    }

    .edupro-layout-mode-reading .edupro-student-homework-question-list {
        order: 1 !important;
    }

    .edupro-layout-mode-reading .edupro-student-assignment-passage {
        order: 2 !important;
    }
}

@media (min-width: 901px) and (max-width: 1280px) {
    .edupro-student-homework-workspace.has-passage,
    .edupro-ielts-workspace.has-passage,
    .edupro-layout-mode-reading .edupro-student-homework-workspace.has-passage,
    .edupro-layout-mode-listening .edupro-student-homework-workspace.has-passage {
        grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr) !important;
        height: calc(100vh - 205px) !important;
        height: calc(100dvh - 205px) !important;
    }
}

@media (max-width: 900px) {
    .edupro-student-homework-workspace.has-passage,
    .edupro-ielts-workspace.has-passage {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .edupro-student-homework-question-list,
    .edupro-student-assignment-passage,
    .edupro-student-question-passage.edupro-student-assignment-passage {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
}

/* EduPro: dashboard notification có thể bấm vào bài tập trực tiếp */
a.edupro-student-notification {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

/* =====================================================
   EDUPRO - TÁCH CÂU HỎI THEO KỸ NĂNG IELTS
===================================================== */
.edupro-student-skill-section-heading {
    margin: 28px 0 16px;
    padding: 18px 20px;
    border-radius: 24px;
    border: 1px solid #dbe4ef;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    position: sticky;
    top: 0;
    z-index: 4;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .06);
}

.edupro-student-skill-section-main {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.edupro-student-skill-section-icon {
    width: 48px;
    height: 48px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-size: 22px;
    background: #eef2ff;
}

.edupro-student-skill-section-heading strong {
    display: block;
    margin-bottom: 4px;
    color: #0f172a;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 950;
}

.edupro-student-skill-section-heading p {
    margin: 0;
    color: #64748b;
    line-height: 1.55;
    font-size: 14px;
    font-weight: 750;
}

.edupro-student-skill-section-heading em {
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-style: normal;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .05em;
    background: #f1f5f9;
    color: #334155;
}

.edupro-student-skill-section-listening {
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
    border-color: #bfdbfe;
}
.edupro-student-skill-section-listening .edupro-student-skill-section-icon,
.edupro-student-question-skill-listening {
    background: #dbeafe;
    color: #1d4ed8;
}
.edupro-student-skill-section-listening em {
    background: #dbeafe;
    color: #1d4ed8;
}

.edupro-student-skill-section-reading {
    background: linear-gradient(135deg, #ecfdf5 0%, #ffffff 100%);
    border-color: #bbf7d0;
}
.edupro-student-skill-section-reading .edupro-student-skill-section-icon,
.edupro-student-question-skill-reading {
    background: #dcfce7;
    color: #15803d;
}
.edupro-student-skill-section-reading em {
    background: #dcfce7;
    color: #15803d;
}

.edupro-student-skill-section-writing {
    background: linear-gradient(135deg, #fff7ed 0%, #ffffff 100%);
    border-color: #fed7aa;
}
.edupro-student-skill-section-writing .edupro-student-skill-section-icon,
.edupro-student-question-skill-writing {
    background: #ffedd5;
    color: #c2410c;
}
.edupro-student-skill-section-writing em {
    background: #ffedd5;
    color: #c2410c;
}

.edupro-student-skill-section-language-focus {
    background: linear-gradient(135deg, #f5f3ff 0%, #ffffff 100%);
    border-color: #ddd6fe;
}
.edupro-student-skill-section-language-focus .edupro-student-skill-section-icon,
.edupro-student-question-skill-language-focus {
    background: #ede9fe;
    color: #6d28d9;
}
.edupro-student-skill-section-language-focus em {
    background: #ede9fe;
    color: #6d28d9;
}

.edupro-student-question-skill-chip {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 8px;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 11px;
    line-height: 1;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .045em;
}

.edupro-student-question-card {
    scroll-margin-top: 92px;
}

@media (max-width: 900px) {
    .edupro-student-skill-section-heading {
        position: relative;
        top: auto;
        flex-direction: column;
        align-items: flex-start;
    }

    .edupro-student-skill-section-heading em {
        width: 100%;
    }
}

/* =====================================================
   EDUPRO - BỘ LỌC BÀI TẬP BÊN HỌC VIÊN
   Merge thêm, không thay đổi cấu trúc cũ.
===================================================== */
.edupro-student-homework-filters {
    margin: -6px 0 22px;
    padding: 18px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid var(--edupro-border, #dbe4ef);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
    display: grid;
    grid-template-columns: minmax(240px, 1.35fr) repeat(3, minmax(150px, .7fr)) auto;
    align-items: end;
    gap: 14px;
}

.edupro-student-homework-filter-search,
.edupro-student-homework-filter-group {
    min-width: 0;
    display: grid;
    gap: 7px;
}

.edupro-student-homework-filters label {
    color: var(--edupro-muted, #64748b);
    font-family: 'font' !important;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 400 !important;
}

.edupro-student-homework-filters input,
.edupro-student-homework-filters select {
    width: 100%;
    min-height: 46px;
    border-radius: 15px;
    border: 1px solid var(--edupro-border, #dbe4ef);
    background: #f8fafc;
    color: var(--edupro-text, #0f172a);
    padding: 0 14px;
    outline: none;
    font: inherit;
    font-weight: 750;
    transition: .18s ease;
}

.edupro-student-homework-filters input:focus,
.edupro-student-homework-filters select:focus {
    background: #ffffff;
    border-color: var(--edupro-primary, #4f46e5);
    box-shadow: 0 0 0 4px rgba(79, 70, 229, .10);
}

.edupro-student-homework-filter-reset {
    min-height: 46px;
    padding: 0 16px;
    border-radius: 15px;
    border: 1px solid #c7d2fe;
    background: #eef2ff;
    color: var(--edupro-primary, #4f46e5);
    font-weight: 950;
    cursor: pointer;
    white-space: nowrap;
}

.edupro-student-homework-filter-count {
    margin: 0 0 16px;
    color: var(--edupro-muted, #64748b);
    font-family: 'font' !important;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400 !important;
}

.edupro-student-homework-card[hidden],
.edupro-student-homework-filter-empty[hidden] {
    display: none !important;
}

@media (max-width: 1200px) {
    .edupro-student-homework-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .edupro-student-homework-filter-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 680px) {
    .edupro-student-homework-filters {
        grid-template-columns: 1fr;
        padding: 15px;
        border-radius: 20px;
    }

    .edupro-student-homework-filter-search {
        grid-column: auto;
    }

    .edupro-student-homework-filter-reset {
        width: 100%;
    }
}

/* EduPro: phân trang bài tập học viên */
.edupro-student-homework-pagination,
.edupro-admin-list-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin:18px 0 0;
    flex-wrap:wrap;
}
.edupro-student-homework-pagination button,
.edupro-admin-list-pagination button{
    min-width:38px;
    min-height:38px;
    border-radius:12px;
    border:1px solid #dbe4ef;
    background:#fff;
    color:#334155;
    font-weight:800;
    cursor:pointer;
}
.edupro-student-homework-pagination button.active,
.edupro-admin-list-pagination button.active{
    background:#6d5dfc;
    border-color:#6d5dfc;
    color:#fff;
}
.edupro-student-homework-pagination button:disabled,
.edupro-admin-list-pagination button:disabled{
    opacity:.45;
    cursor:not-allowed;
}

/* =========================================================
 * Student Schedule - Filter + 4-column card grid + pagination
 * ========================================================= */
.edupro-student-schedule-grid-page .edupro-student-schedule-grid-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.edupro-student-schedule-total {
    min-height: 36px;
    padding: 0 16px;
    border-radius: 999px;
    background: var(--edupro-primary-soft);
    color: var(--edupro-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 950;
    white-space: nowrap;
}

.edupro-student-schedule-filter {
    margin: 0 0 18px;
    padding: 16px;
    border: 1px solid var(--edupro-border);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: var(--edupro-shadow-sm);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
}

.edupro-student-schedule-filter label {
    display: grid;
    gap: 7px;
    min-width: 0;
    margin: 0;
    color: var(--edupro-text);
    font-size: 13px;
    font-weight: 850;
}

.edupro-student-schedule-filter select {
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: 0 14px;
    border-radius: 14px;
    border: 1px solid var(--edupro-border);
    background: #f8fbff;
    color: var(--edupro-text);
    font-size: 14px;
    font-weight: 750;
    outline: none;
}

.edupro-student-schedule-reset {
    height: 44px;
    padding: 0 16px;
    border-radius: 14px;
    border: 1px solid var(--edupro-border);
    background: #ffffff;
    color: var(--edupro-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 14px;
    font-weight: 900;
    white-space: nowrap;
}

.edupro-student-schedule-result-count {
    margin: 0 0 14px;
    color: var(--edupro-muted);
    font-size: 14px;
    font-weight: 800;
}

.edupro-student-schedule-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.edupro-student-schedule-tile {
    min-width: 0;
    min-height: 188px;
    padding: 18px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid var(--edupro-border);
    box-shadow: var(--edupro-shadow-sm);
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
    overflow: hidden;
}

.edupro-student-schedule-tile::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at right top, rgba(79, 70, 229, .10), transparent 38%);
    pointer-events: none;
}

.edupro-student-schedule-tile.completed {
    background: linear-gradient(180deg, #fff 0%, #f0fdf4 100%);
    border-color: var(--edupro-green-border);
}

.edupro-student-schedule-tile.active {
    background: linear-gradient(180deg, #fff 0%, #f5f7ff 100%);
    border-color: #c7d2fe;
}

.edupro-student-schedule-tile.postponed {
    background: linear-gradient(180deg, #fff 0%, #fff7ed 100%);
    border-color: #fed7aa;
}

.edupro-student-schedule-tile > * {
    position: relative;
    z-index: 1;
}

.edupro-student-schedule-tile-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.edupro-student-schedule-tile .edupro-student-schedule-date-box {
    width: 64px;
    height: 64px;
    border-radius: 18px;
}

.edupro-student-schedule-tile .edupro-student-schedule-date-box strong {
    font-size: 17px;
}

.edupro-student-schedule-tile .edupro-student-schedule-date-box span {
    font-size: 12px;
}

.edupro-student-schedule-tile .edupro-student-schedule-status-modern {
    min-height: 30px;
    padding: 0 11px;
    font-size: 11.5px;
}

.edupro-student-schedule-tile .edupro-student-schedule-info-modern h3 {
    font-size: 17px;
    margin-bottom: 10px;
}

.edupro-student-schedule-tile .edupro-student-schedule-meta {
    gap: 8px;
}

.edupro-student-schedule-tile .edupro-student-schedule-meta span {
    font-size: 12.5px;
}

.edupro-student-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
}

.edupro-student-pagination a {
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border-radius: 12px;
    border: 1px solid var(--edupro-border);
    background: #ffffff;
    color: var(--edupro-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 13px;
    font-weight: 900;
}

.edupro-student-pagination a.active,
.edupro-student-pagination a:hover {
    background: var(--edupro-primary);
    border-color: var(--edupro-primary);
    color: #ffffff;
}

@media (max-width: 1280px) {
    .edupro-student-schedule-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .edupro-student-schedule-filter {
        grid-template-columns: 1fr;
    }

    .edupro-student-schedule-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .edupro-student-schedule-grid {
        grid-template-columns: 1fr;
    }
}

/* EduPro update: kho tài liệu học viên dạng list/folder + media đáp án */
.edupro-student-materials-grid{display:flex!important;flex-direction:column!important;gap:10px!important}.edupro-student-materials-card{display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;border-radius:16px!important;padding:14px!important}.edupro-student-materials-card-top{display:contents!important}.edupro-student-materials-icon{grid-column:1!important;grid-row:1 / span 3!important}.edupro-student-materials-card h3,.edupro-student-materials-meta,.edupro-student-materials-card p{grid-column:2!important;margin:0!important}.edupro-student-materials-btn{grid-column:3!important;grid-row:1 / span 3!important;white-space:nowrap}.edupro-student-answer-option video,.edupro-student-answer-option audio{max-width:240px;width:100%;display:block;margin-bottom:8px;border-radius:12px}


/* ===== EduPro refined layout: tài liệu học viên dạng list/folder đẹp hơn ===== */
.edupro-student-materials-grid{display:flex!important;flex-direction:column!important;gap:14px!important;}
.edupro-student-materials-card{min-height:auto!important;padding:18px 20px!important;border-radius:24px!important;display:grid!important;grid-template-columns:72px minmax(0,1fr) auto!important;grid-template-areas:"icon title action" "icon meta action"!important;align-items:center!important;gap:12px 18px!important;background:linear-gradient(90deg,#fbfdff 0%,#f8faff 100%)!important;}
.edupro-student-materials-card::before{content:"";position:absolute;left:22px;right:22px;top:10px;height:3px;border-radius:999px;background:#c7d2fe;opacity:.85;}
.edupro-student-materials-card.video::before{background:#fdba74;}
.edupro-student-materials-card.audio::before{background:#86efac;}
.edupro-student-materials-card.pdf::before{background:#fca5a5;}
.edupro-student-materials-card.word::before,.edupro-student-materials-card.excel::before,.edupro-student-materials-card.powerpoint::before{background:#93c5fd;}
.edupro-student-materials-card-top{grid-area:icon;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;margin:0!important;}
.edupro-student-materials-icon{width:56px!important;height:56px!important;border-radius:18px!important;}
.edupro-student-materials-card h2{grid-area:title;margin:10px 0 0!important;padding-right:10px;}
.edupro-student-materials-meta{grid-area:meta;margin:0!important;display:flex!important;flex-wrap:wrap!important;flex-direction:row!important;gap:10px!important;}
.edupro-student-materials-btn{grid-area:action;align-self:center;justify-self:end;min-width:138px;text-align:center;}
@media (max-width: 991px){.edupro-student-materials-card{grid-template-columns:1fr!important;grid-template-areas:"icon" "title" "meta" "action"!important;}.edupro-student-materials-btn{justify-self:start;width:auto;}.edupro-student-materials-card-top{flex-direction:row!important;align-items:center!important;}}

/* ===== EduPro refined layout: popup xem chi tiết tài liệu/bài làm gần full ===== */
.edupro-material-viewer-modal,.edupro-modal-panel,.edupro-student-material-modal{width:min(1500px,96vw)!important;max-width:min(1500px,96vw)!important;max-height:92vh!important;}

/* EduPro student fixes: materials list without leading file icon */
.edupro-student-materials-page .edupro-student-materials-card{
    grid-template-columns:minmax(0,1fr) auto!important;
}
.edupro-student-materials-page .edupro-student-materials-card-top{
    grid-column:1!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
}
.edupro-student-materials-page .edupro-student-materials-icon{
    display:none!important;
}
.edupro-student-materials-page .edupro-student-materials-card h2,
.edupro-student-materials-page .edupro-student-materials-card h3,
.edupro-student-materials-page .edupro-student-materials-meta,
.edupro-student-materials-page .edupro-student-materials-card p{
    grid-column:1!important;
    margin-left:0!important;
}
.edupro-student-materials-page .edupro-student-materials-btn{
    grid-column:2!important;
    grid-row:1 / span 3!important;
}
.edupro-student-materials-page .edupro-student-materials-filter-bar{
    grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;
}
@media (max-width: 900px){
    .edupro-student-materials-page .edupro-student-materials-filter-bar{
        grid-template-columns:1fr!important;
    }
    .edupro-student-materials-page .edupro-student-materials-card{
        grid-template-columns:1fr!important;
    }
    .edupro-student-materials-page .edupro-student-materials-btn{
        grid-column:1!important;
        grid-row:auto!important;
        width:100%;
    }
}

/* EduPro final student materials fix: no left icon, type badge beside title, working filter/pagination */
.edupro-student-materials-page .edupro-student-materials-card{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"title action" "meta action"!important;
    align-items:center!important;
}
.edupro-student-materials-page .edupro-student-materials-card-top,
.edupro-student-materials-page .edupro-student-materials-icon{
    display:none!important;
}
.edupro-student-materials-page .edupro-student-materials-card h2{
    grid-area:title!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    margin:10px 0 0!important;
    padding-right:10px!important;
    text-align:left!important;
}
.edupro-student-materials-page .edupro-student-materials-title-text{
    min-width:0!important;
}
.edupro-student-materials-page .edupro-student-materials-type{
    position:static!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:58px!important;
    height:30px!important;
    padding:0 14px!important;
    border-radius:999px!important;
    font-size:13px!important;
    line-height:1!important;
    margin:0!important;
    white-space:nowrap!important;
}
.edupro-student-materials-page .edupro-student-materials-meta{
    grid-area:meta!important;
    grid-column:auto!important;
}
.edupro-student-materials-page .edupro-student-materials-btn{
    grid-area:action!important;
    grid-column:auto!important;
    grid-row:auto!important;
}
.edupro-student-materials-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:18px;
}
.edupro-student-materials-pagination button{
    width:38px;
    height:38px;
    border-radius:12px;
    border:1px solid #dbe3f2;
    background:#fff;
    color:#5b6478;
    font-weight:700;
    cursor:pointer;
}
.edupro-student-materials-pagination button.active,
.edupro-student-materials-pagination button:hover{
    border-color:#5b4df2;
    background:#5b4df2;
    color:#fff;
}
@media (max-width: 900px){
    .edupro-student-materials-page .edupro-student-materials-card{
        grid-template-columns:1fr!important;
        grid-template-areas:"title" "meta" "action"!important;
    }
    .edupro-student-materials-page .edupro-student-materials-btn{
        width:100%;
        justify-self:stretch!important;
    }
}

/* EduPro final fix 19/05: student schedule filters one row + material filtering reliable */
.edupro-student-schedule-page .edupro-student-schedule-filter{
    display:grid!important;
    grid-template-columns:minmax(260px,1.15fr) minmax(260px,1fr) minmax(180px,.8fr) 120px!important;
    gap:14px!important;
    align-items:end!important;
}
.edupro-student-schedule-page .edupro-student-schedule-reset{
    width:100%!important;
    height:44px!important;
}
@media (max-width: 1180px){
    .edupro-student-schedule-page .edupro-student-schedule-filter{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media (max-width: 700px){
    .edupro-student-schedule-page .edupro-student-schedule-filter{
        grid-template-columns:1fr!important;
    }
}

.edupro-student-materials-page .edupro-student-materials-filter-bar{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;
    gap:14px!important;
    align-items:end!important;
}
.edupro-student-materials-page .edupro-student-materials-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"title action" "meta action"!important;
    align-items:center!important;
}
.edupro-student-materials-page .edupro-student-materials-card.is-filter-hidden{
    display:none!important;
}
.edupro-student-materials-page .edupro-student-materials-card h2{
    grid-area:title!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    margin:10px 0 0!important;
    text-align:left!important;
}
.edupro-student-materials-page .edupro-student-materials-type{
    position:static!important;
    display:inline-flex!important;
    margin-left:0!important;
    vertical-align:middle!important;
}
.edupro-student-materials-page .edupro-student-materials-meta{grid-area:meta!important;}
.edupro-student-materials-page .edupro-student-materials-btn{grid-area:action!important;}
@media (max-width: 900px){
    .edupro-student-materials-page .edupro-student-materials-filter-bar{
        grid-template-columns:1fr!important;
    }
    .edupro-student-materials-page .edupro-student-materials-card{
        grid-template-columns:1fr!important;
        grid-template-areas:"title" "meta" "action"!important;
    }
    .edupro-student-materials-page .edupro-student-materials-btn{
        justify-self:start!important;
        width:100%!important;
    }
}

/* =====================================================
   EDUPRO - HỌC VIÊN: dashboard review + homework 40/60 + completed materials
===================================================== */
.edupro-student-dashboard-panel.latest-reviews {
    min-width: 0;
}

.edupro-student-dashboard-review-filter {
    display: flex;
    align-items: end;
    gap: 10px;
    margin: 0 0 14px;
    padding: 12px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    border-radius: 16px;
}

.edupro-student-dashboard-review-filter label {
    display: grid;
    gap: 6px;
    flex: 1 1 auto;
    min-width: 0;
    color: #64748b;
    font-size: 12px;
    font-weight: 850;
}

.edupro-student-dashboard-review-filter select {
    width: 100%;
    min-height: 42px;
    border: 1px solid #dbe4ef;
    border-radius: 13px;
    background: #fff;
    padding: 0 12px;
    color: #0f172a;
    outline: none;
}

.edupro-student-dashboard-review-filter a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border-radius: 13px;
    background: #eef2ff;
    color: #4f46e5;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}

.edupro-student-dashboard-review-list {
    display: grid;
    gap: 12px;
}

.edupro-student-dashboard-review-item {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
}

.edupro-student-dashboard-review-item:hover {
    border-color: #c7d2fe;
    box-shadow: 0 16px 34px rgba(79, 70, 229, .10);
    transform: translateY(-1px);
}

.edupro-student-dashboard-review-icon {
    width: 44px;
    height: 44px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff7ed;
    color: #f59e0b;
    font-weight: 950;
}

.edupro-student-dashboard-review-item strong {
    display: block;
    color: #0f172a;
    font-size: 15px;
    font-weight: 950;
    margin-bottom: 5px;
}

.edupro-student-dashboard-review-item p {
    margin: 0 0 7px;
    color: #475569;
    line-height: 1.45;
    font-weight: 750;
}

.edupro-student-dashboard-review-item span {
    color: #64748b;
    font-size: 12px;
    font-weight: 850;
}

@media (min-width: 901px) {
    .edupro-student-homework-workspace.has-passage,
    .edupro-ielts-workspace.has-passage,
    .edupro-layout-mode-reading .edupro-student-homework-workspace.has-passage,
    .edupro-layout-mode-listening .edupro-student-homework-workspace.has-passage {
        grid-template-columns: minmax(300px, 40%) minmax(0, 60%) !important;
    }

    .edupro-layout-mode-reading .edupro-student-homework-question-list,
    .edupro-layout-mode-listening .edupro-student-homework-question-list {
        order: 2 !important;
    }

    .edupro-layout-mode-reading .edupro-student-assignment-passage,
    .edupro-layout-mode-listening .edupro-student-assignment-passage {
        order: 1 !important;
    }
}

@media (min-width: 901px) and (max-width: 1280px) {
    .edupro-student-homework-workspace.has-passage,
    .edupro-ielts-workspace.has-passage,
    .edupro-layout-mode-reading .edupro-student-homework-workspace.has-passage,
    .edupro-layout-mode-listening .edupro-student-homework-workspace.has-passage {
        grid-template-columns: minmax(280px, 40%) minmax(0, 60%) !important;
    }
}

@media (max-width: 560px) {
    .edupro-student-dashboard-review-filter {
        display: grid;
    }
}


/* EduPro fix: nội dung nhập từ TinyMCE giữ đúng định dạng, không tự thêm icon / không ép đậm toàn bộ */
.edupro-student-question-passage,
.edupro-student-assignment-passage,
.edupro-student-homework-content,
.edupro-student-assignment-content,
.edupro-question-passage,
.edupro-reading-passage {
    font-weight: 400;
}

.edupro-student-question-passage p,
.edupro-student-question-passage div,
.edupro-student-question-passage span,
.edupro-student-question-passage li,
.edupro-student-assignment-passage p,
.edupro-student-assignment-passage div,
.edupro-student-assignment-passage span,
.edupro-student-assignment-passage li,
.edupro-student-homework-content p,
.edupro-student-homework-content div,
.edupro-student-homework-content span,
.edupro-student-homework-content li,
.edupro-student-assignment-content p,
.edupro-student-assignment-content div,
.edupro-student-assignment-content span,
.edupro-student-assignment-content li,
.edupro-question-passage p,
.edupro-question-passage div,
.edupro-question-passage span,
.edupro-question-passage li,
.edupro-reading-passage p,
.edupro-reading-passage div,
.edupro-reading-passage span,
.edupro-reading-passage li {
    font-weight: inherit;
	font-family: 'font';
}

.edupro-student-question-passage strong::before,
.edupro-student-question-passage b::before,
.edupro-student-assignment-passage strong::before,
.edupro-student-assignment-passage b::before,
.edupro-student-homework-content strong::before,
.edupro-student-homework-content b::before,
.edupro-student-assignment-content strong::before,
.edupro-student-assignment-content b::before,
.edupro-question-passage strong::before,
.edupro-question-passage b::before,
.edupro-reading-passage strong::before,
.edupro-reading-passage b::before {
    content: none;
    display: none;
}

/* EduPro homework timer */
.edupro-student-homework-timer-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 18px 0;
    padding: 16px 18px;
    border: 1px solid #d8e2f2;
    border-left: 5px solid #4f46e5;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 12px 34px rgba(15, 23, 42, 0.06);
}
.edupro-student-homework-timer-card span {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
}
.edupro-student-homework-timer-card strong {
    display: block;
    font-size: 30px;
    line-height: 1;
    font-weight: 800;
    color: #111827;
}
.edupro-student-homework-timer-card p {
    max-width: 720px;
    margin: 0;
    color: #64748b;
    font-size: 14px;
    font-weight: 500;
}
.edupro-student-homework-timer-card.is-warning {
    border-left-color: #f59e0b;
    background: #fffbeb;
}
.edupro-student-homework-timer-card.is-expired {
    border-left-color: #ef4444;
    background: #fef2f2;
}
.edupro-student-homework-timer-card.is-expired strong {
    color: #dc2626;
}
@media (max-width: 768px) {
    .edupro-student-homework-timer-card {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* 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)}

/* Kho tài liệu học viên theo folder */
.edupro-student-materials-card[data-material-folder-id]{border-left:4px solid #635bff}

/* =====================================================
   EduPro v15 - Kho tài liệu học viên đồng bộ giao diện giáo viên/admin
   Chỉ xem tài liệu, không có chức năng upload.
===================================================== */
.edupro-student-materials-page{
    max-width:1520px!important;
    margin:0 auto!important;
    padding:40px 36px 70px!important;
    color:#0f172a!important;
}
.edupro-student-materials-page,
.edupro-student-materials-page *{box-sizing:border-box!important;}
.edupro-student-materials-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:22px!important;
    padding:28px 34px!important;
    margin:0 0 26px!important;
    border:1px solid #dbe7ff!important;
    border-radius:24px!important;
    background:linear-gradient(135deg,#ffffff 0%,#f5f8ff 58%,#eef2ff 100%)!important;
    box-shadow:0 18px 45px rgba(15,23,42,.06)!important;
}
.edupro-student-materials-head > div:first-child:before{
    content:'Thư viện tài liệu'!important;
    display:inline-flex!important;
    align-items:center!important;
    height:28px!important;
    margin-bottom:10px!important;
    padding:0 14px!important;
    border-radius:999px!important;
    background:#f0edff!important;
    color:#5b4df2!important;
    font-size:13px!important;
    font-weight:700!important;
}
.edupro-student-materials-head h1{
    margin:0!important;
    color:#07112d!important;
    font-size:38px!important;
    line-height:1.08!important;
    letter-spacing:-.03em!important;
    font-weight:700!important;
}
.edupro-student-materials-head p{
    margin:8px 0 0!important;
    color:#52627a!important;
    font-size:16px!important;
    line-height:1.45!important;
    font-weight:500!important;
}
.edupro-student-materials-summary{
    min-width:118px!important;
    min-height:82px!important;
    padding:14px 18px!important;
    border:1px solid #dbe7ff!important;
    border-radius:18px!important;
    background:#fff!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    box-shadow:0 12px 28px rgba(15,23,42,.06)!important;
}
.edupro-student-materials-summary span{
    order:2!important;
    color:#52627a!important;
    font-size:13px!important;
    text-transform:none!important;
    letter-spacing:0!important;
    font-weight:500!important;
}
.edupro-student-materials-summary strong{
    order:1!important;
    color:#07112d!important;
    font-size:30px!important;
    line-height:1!important;
    font-weight:700!important;
}
.edupro-student-materials-filter-bar{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr)) minmax(120px,auto)!important;
    gap:14px!important;
    align-items:end!important;
    padding:22px!important;
    margin:0 0 24px!important;
    border:1px solid #dbe7ff!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:0 12px 32px rgba(15,23,42,.045)!important;
}
.edupro-student-materials-filter-field{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    min-width:0!important;
}
.edupro-student-materials-filter-field label{
    margin:0!important;
    color:#0f172a!important;
    font-size:13px!important;
    line-height:1.2!important;
    font-weight:600!important;
}
.edupro-student-materials-filter-field select{
    width:100%!important;
    min-width:0!important;
    height:52px!important;
    padding:0 16px!important;
    border:1px solid #cfe0fb!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#0f172a!important;
    font-size:14px!important;
    font-weight:500!important;
    outline:none!important;
    box-shadow:none!important;
}
.edupro-student-materials-filter-field select:focus{
    border-color:#6c5cff!important;
    box-shadow:0 0 0 4px rgba(99,91,255,.12)!important;
}
.edupro-student-materials-filter-reset{
    height:52px!important;
    min-width:126px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 22px!important;
    border:0!important;
    border-radius:14px!important;
    background:#635bff!important;
    color:#fff!important;
    text-decoration:none!important;
    font-size:14px!important;
    font-weight:700!important;
    box-shadow:0 12px 26px rgba(99,91,255,.22)!important;
}
.edupro-student-materials-filter-reset:hover{
    background:#5146f0!important;
    color:#fff!important;
}
.edupro-student-materials-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
}
.edupro-student-materials-card{
    position:relative!important;
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr) auto!important;
    grid-template-areas:"icon title action" "icon meta action"!important;
    align-items:center!important;
    gap:10px 16px!important;
    min-height:92px!important;
    padding:18px 20px!important;
    border:1px solid #dbe7ff!important;
    border-left:4px solid #635bff!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
    box-shadow:0 12px 30px rgba(15,23,42,.045)!important;
    overflow:hidden!important;
    transition:.18s ease!important;
}
.edupro-student-materials-card:before{
    content:''!important;
    position:absolute!important;
    left:20px!important;
    right:20px!important;
    top:0!important;
    height:3px!important;
    border-radius:0 0 999px 999px!important;
    background:#c7d2fe!important;
    opacity:.9!important;
}
.edupro-student-materials-card.pdf:before{background:#fca5a5!important;}
.edupro-student-materials-card.video:before{background:#fdba74!important;}
.edupro-student-materials-card.audio:before{background:#86efac!important;}
.edupro-student-materials-card.word:before,
.edupro-student-materials-card.excel:before,
.edupro-student-materials-card.powerpoint:before{background:#93c5fd!important;}
.edupro-student-materials-card:hover{
    transform:translateY(-1px)!important;
    border-color:#bfceff!important;
    box-shadow:0 18px 40px rgba(15,23,42,.075)!important;
}
.edupro-student-materials-card:after{
    content:'📄'!important;
    grid-area:icon!important;
    width:42px!important;
    height:42px!important;
    border-radius:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#eef4ff!important;
    color:#4f46e5!important;
    font-size:19px!important;
}
.edupro-student-materials-card.pdf:after{content:'PDF'!important;color:#ef4444!important;background:#fff1f2!important;font-size:12px!important;font-weight:700!important;}
.edupro-student-materials-card.video:after{content:'▶'!important;color:#f97316!important;background:#fff7ed!important;}
.edupro-student-materials-card.audio:after{content:'♪'!important;color:#16a34a!important;background:#ecfdf5!important;}
.edupro-student-materials-card.powerpoint:after{content:'PPT'!important;color:#2563eb!important;background:#eff6ff!important;font-size:12px!important;font-weight:700!important;}
.edupro-student-materials-card.word:after{content:'DOC'!important;color:#2563eb!important;background:#eff6ff!important;font-size:12px!important;font-weight:700!important;}
.edupro-student-materials-card.excel:after{content:'XLS'!important;color:#059669!important;background:#ecfdf5!important;font-size:12px!important;font-weight:700!important;}
.edupro-student-materials-card h2{
    grid-area:title!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    color:#07112d!important;
    font-size:18px!important;
    line-height:1.25!important;
    font-weight:700!important;
    text-align:left!important;
}
.edupro-student-materials-title-text{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.edupro-student-materials-type{
    position:static!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    height:28px!important;
    margin:0!important;
    padding:0 12px!important;
    border-radius:999px!important;
    background:#eef2ff!important;
    color:#4f46e5!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:600!important;
    white-space:nowrap!important;
}
.edupro-student-materials-meta{
    grid-area:meta!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin:0!important;
    color:#52627a!important;
}
.edupro-student-materials-meta span{
    display:inline-flex!important;
    align-items:center!important;
    min-height:30px!important;
    padding:6px 11px!important;
    border:1px solid #e2eaf7!important;
    border-radius:999px!important;
    background:#f8fafc!important;
    color:#52627a!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:500!important;
    white-space:nowrap!important;
}
.edupro-student-materials-btn{
    grid-area:action!important;
    justify-self:end!important;
    align-self:center!important;
    min-width:132px!important;
    height:48px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 22px!important;
    border:0!important;
    border-radius:14px!important;
    background:#635bff!important;
    color:#fff!important;
    text-decoration:none!important;
    font-size:14px!important;
    font-weight:700!important;
    box-shadow:0 12px 26px rgba(99,91,255,.22)!important;
}
.edupro-student-materials-btn:hover{
    background:#5146f0!important;
    color:#fff!important;
    transform:none!important;
}
.edupro-student-materials-pagination{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin:22px 0 0!important;
}
.edupro-student-materials-pagination button{
    width:38px!important;
    height:38px!important;
    border:1px solid #dbe7ff!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#334155!important;
    font-weight:600!important;
    cursor:pointer!important;
}
.edupro-student-materials-pagination button.active,
.edupro-student-materials-pagination button:hover{
    border-color:#635bff!important;
    background:#635bff!important;
    color:#fff!important;
}
.edupro-student-materials-empty-wrap,
.edupro-student-materials-filter-empty{
    border:1px solid #dbe7ff!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:0 12px 32px rgba(15,23,42,.045)!important;
}
@media(max-width:1200px){
    .edupro-student-materials-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    .edupro-student-materials-filter-reset{width:100%!important;}
}
@media(max-width:760px){
    .edupro-student-materials-page{padding:24px 16px 54px!important;}
    .edupro-student-materials-head{grid-template-columns:1fr!important;padding:22px!important;}
    .edupro-student-materials-head h1{font-size:30px!important;}
    .edupro-student-materials-summary{align-items:flex-start!important;min-width:0!important;}
    .edupro-student-materials-filter-bar{grid-template-columns:1fr!important;padding:16px!important;}
    .edupro-student-materials-card{
        grid-template-columns:44px minmax(0,1fr)!important;
        grid-template-areas:"icon title" "meta meta" "action action"!important;
        padding:16px!important;
    }
    .edupro-student-materials-btn{justify-self:stretch!important;width:100%!important;}
    .edupro-student-materials-title-text{white-space:normal!important;}
}

/* EduPro v16 - Student material library as folder accordion like admin/teacher */
.edupro-student-materials-folder-list{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
}
.edupro-student-materials-folder-group{
    padding:0 !important;
    border:1px solid #dbe5f3 !important;
    border-radius:18px !important;
    background:#fff !important;
    overflow:hidden !important;
    box-shadow:0 12px 30px rgba(15,23,42,.055) !important;
}
.edupro-student-materials-folder-head{
    width:100% !important;
    min-height:76px !important;
    border:0 !important;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
    padding:16px 18px !important;
    display:grid !important;
    grid-template-columns:46px minmax(0,1fr) auto 32px !important;
    align-items:center !important;
    gap:14px !important;
    color:#0f172a !important;
    text-align:left !important;
    cursor:pointer !important;
}
.edupro-student-materials-folder-head:hover{
    background:#f3f7ff !important;
}
.edupro-student-materials-folder-icon{
    width:46px !important;
    height:46px !important;
    border-radius:14px !important;
    background:#eef4ff !important;
    color:#4f46e5 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:20px !important;
}
.edupro-student-materials-folder-title{
    min-width:0 !important;
    display:grid !important;
    gap:5px !important;
}
.edupro-student-materials-folder-title strong{
    font-size:18px !important;
    line-height:1.25 !important;
    color:#0f172a !important;
    font-weight:600 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}
.edupro-student-materials-folder-title small,
.edupro-student-materials-folder-class{
    color:#64748b !important;
    font-size:13px !important;
    font-weight:400 !important;
}
.edupro-student-materials-folder-class{
    background:#f1f5ff !important;
    border:1px solid #dbe5ff !important;
    border-radius:999px !important;
    padding:8px 12px !important;
    white-space:nowrap !important;
}
.edupro-student-materials-folder-arrow{
    width:32px !important;
    height:32px !important;
    border-radius:999px !important;
    background:#f1f5f9 !important;
    color:#475569 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:18px !important;
    transition:.18s ease !important;
}
.edupro-student-materials-folder-group.is-open .edupro-student-materials-folder-arrow{
    transform:rotate(180deg) !important;
    background:#e0e7ff !important;
    color:#4f46e5 !important;
}
.edupro-student-materials-folder-body{
    display:none !important;
    padding:14px !important;
    border-top:1px solid #e5edf8 !important;
    background:#f8fafc !important;
}
.edupro-student-materials-folder-group.is-open .edupro-student-materials-folder-body{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
}
.edupro-student-materials-file-row{
    display:grid !important;
    grid-template-columns:46px minmax(0,1fr) auto !important;
    gap:14px !important;
    align-items:center !important;
    padding:14px !important;
    background:#fff !important;
    border:1px solid #dbe5f3 !important;
    border-radius:16px !important;
}
.edupro-student-materials-file-icon{
    width:46px !important;
    height:46px !important;
    border-radius:14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#eef2ff !important;
    color:#4f46e5 !important;
    font-size:13px !important;
    font-weight:500 !important;
}
.edupro-student-materials-file-icon.pdf{background:#fff1f2 !important;color:#ef4444 !important;}
.edupro-student-materials-file-icon.powerpoint{background:#fff7ed !important;color:#f97316 !important;}
.edupro-student-materials-file-icon.word{background:#eff6ff !important;color:#2563eb !important;}
.edupro-student-materials-file-icon.excel{background:#ecfdf5 !important;color:#059669 !important;}
.edupro-student-materials-file-icon.video{background:#fdf2f8 !important;color:#db2777 !important;}
.edupro-student-materials-file-icon.audio{background:#f5f3ff !important;color:#7c3aed !important;}
.edupro-student-materials-file-info{min-width:0 !important;}
.edupro-student-materials-file-info h3{
    margin:0 0 6px !important;
    color:#0f172a !important;
    font-size:16px !important;
    font-weight:600 !important;
    line-height:1.3 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}
.edupro-student-materials-file-info p{
    margin:0 !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    color:#64748b !important;
    font-size:13px !important;
    font-weight:400 !important;
}
.edupro-student-materials-file-info p span{
    background:#f8fafc !important;
    border:1px solid #e2e8f0 !important;
    border-radius:999px !important;
    padding:5px 9px !important;
}
.edupro-student-materials-file-row .edupro-student-materials-btn{
    position:static !important;
    transform:none !important;
    white-space:nowrap !important;
}
@media (max-width:900px){
    .edupro-student-materials-folder-head{
        grid-template-columns:42px minmax(0,1fr) 30px !important;
    }
    .edupro-student-materials-folder-class{display:none !important;}
    .edupro-student-materials-file-row{
        grid-template-columns:42px minmax(0,1fr) !important;
    }
    .edupro-student-materials-file-row .edupro-student-materials-btn{
        grid-column:1 / -1 !important;
        justify-content:center !important;
        width:100% !important;
    }
}

/* EduPro v17 - Student folder rows giống giao diện kho tài liệu giáo viên/admin */
.edupro-student-materials-folder-group{
    border-radius:18px !important;
    border:1px solid #dbeafe !important;
    background:#f8fbff !important;
    box-shadow:0 16px 34px rgba(15,23,42,.055) !important;
}
.edupro-student-materials-folder-group.is-open{
    border-color:#8b7cf6 !important;
    background:#f8fbff !important;
}
.edupro-student-materials-folder-head{
    min-height:78px !important;
    background:#f6f9ff !important;
    grid-template-columns:50px minmax(0,1fr) auto auto !important;
    border-radius:18px !important;
}
.edupro-student-materials-folder-group.is-open .edupro-student-materials-folder-head{
    background:#f6f9ff !important;
    border-bottom:1px solid #dfe8ff !important;
    border-radius:18px 18px 0 0 !important;
}
.edupro-student-materials-folder-icon{
    background:#fff !important;
    color:#5b4bff !important;
}
.edupro-student-materials-folder-title strong{
    font-weight:600 !important;
}
.edupro-student-materials-folder-title small{
    display:none !important;
}
.edupro-student-materials-folder-class{
    display:none !important;
}
.edupro-student-materials-folder-arrow{
    width:auto !important;
    min-width:70px !important;
    height:36px !important;
    padding:0 14px !important;
    border:1px solid #d8d2ff !important;
    background:#fff !important;
    color:#5b4bff !important;
    font-size:0 !important;
    transform:none !important;
}
.edupro-student-materials-folder-arrow:before{
    content:'Mở';
    font-size:14px;
    font-weight:500;
}
.edupro-student-materials-folder-group.is-open .edupro-student-materials-folder-arrow{
    transform:none !important;
    background:#fff !important;
    color:#5b4bff !important;
}
.edupro-student-materials-folder-group.is-open .edupro-student-materials-folder-arrow:before{
    content:'Thu gọn';
}
.edupro-student-materials-folder-body{
    padding:14px !important;
    background:#f8fbff !important;
    border-top:0 !important;
}
.edupro-student-materials-file-admin-row{
    display:grid !important;
    grid-template-columns:54px minmax(240px,1.5fr) minmax(120px,.55fr) minmax(120px,.55fr) minmax(100px,.45fr) auto !important;
    gap:16px !important;
    align-items:center !important;
    min-height:78px !important;
    padding:14px 16px !important;
    background:#fff !important;
    border:1px solid #e2e8f0 !important;
    border-radius:16px !important;
    box-shadow:none !important;
}
.edupro-student-materials-file-admin-row + .edupro-student-materials-file-admin-row{
    margin-top:10px !important;
}
.edupro-student-materials-file-admin-row .edupro-student-materials-file-icon{
    width:50px !important;
    height:50px !important;
    border-radius:14px !important;
    font-size:18px !important;
}
.edupro-student-materials-file-admin-row .edupro-student-materials-file-info h3{
    font-size:16px !important;
    font-weight:600 !important;
    margin-bottom:4px !important;
}
.edupro-student-materials-file-admin-row .edupro-student-materials-file-info p{
    display:block !important;
    color:#64748b !important;
    font-size:13px !important;
    line-height:1.35 !important;
}
.edupro-student-materials-file-admin-row .edupro-student-materials-file-info p span{
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    padding:0 !important;
}
.edupro-student-materials-file-admin-row .edupro-student-materials-file-info p span:not(:last-child):after{
    content:' · ';
}
.edupro-student-materials-file-meta{
    display:grid !important;
    gap:2px !important;
    min-width:0 !important;
}
.edupro-student-materials-file-meta strong{
    color:#0f172a !important;
    font-size:14px !important;
    font-weight:600 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}
.edupro-student-materials-file-meta span{
    color:#94a3b8 !important;
    font-size:12px !important;
    font-weight:400 !important;
}
.edupro-student-materials-file-admin-row .edupro-student-materials-btn{
    justify-self:end !important;
    min-width:120px !important;
    height:42px !important;
    border-radius:14px !important;
    padding:0 18px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-weight:600 !important;
}
@media(max-width:1180px){
    .edupro-student-materials-file-admin-row{
        grid-template-columns:50px minmax(0,1fr) auto !important;
    }
    .edupro-student-materials-file-meta{display:none !important;}
}
@media(max-width:760px){
    .edupro-student-materials-folder-head{grid-template-columns:46px minmax(0,1fr) auto !important;}
    .edupro-student-materials-file-admin-row{
        grid-template-columns:46px minmax(0,1fr) !important;
    }
    .edupro-student-materials-file-admin-row .edupro-student-materials-btn{
        grid-column:1/-1 !important;
        justify-self:stretch !important;
        width:100% !important;
    }
}

/* =====================================================
   EduPro v18 - Kho tài liệu học viên dùng layout folder giống giáo viên/admin
   Gỡ toàn bộ style card cũ bị dư/chồng.
===================================================== */
.edupro-student-materials-page .edupro-student-materials-grid.edupro-material-folder-list{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
}
.edupro-student-materials-page .edupro-folder-group.edupro-student-materials-card{
    position:relative!important;
    display:block!important;
    grid-template-columns:none!important;
    grid-template-areas:none!important;
    min-height:0!important;
    padding:0!important;
    border:1px solid #dbe5f3!important;
    border-radius:18px!important;
    background:#fff!important;
    overflow:hidden!important;
    box-shadow:0 10px 24px rgba(15,23,42,.05)!important;
}
.edupro-student-materials-page .edupro-folder-group.edupro-student-materials-card::before,
.edupro-student-materials-page .edupro-folder-group.edupro-student-materials-card::after{
    display:none!important;
    content:none!important;
}
.edupro-student-materials-page .edupro-folder-head{
    width:100%!important;
    min-height:70px!important;
    border:0!important;
    background:linear-gradient(135deg,#f8fbff 0%,#eef5ff 100%)!important;
    padding:16px 18px!important;
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr) auto auto!important;
    gap:14px!important;
    align-items:center!important;
    text-align:left!important;
    cursor:pointer!important;
    color:#0f172a!important;
    transition:.18s ease!important;
}
.edupro-student-materials-page .edupro-folder-head:hover{
    background:linear-gradient(135deg,#eef4ff 0%,#e7efff 100%)!important;
}
.edupro-student-materials-page .edupro-folder-icon{
    width:46px!important;
    height:46px!important;
    border-radius:15px!important;
    background:#fff!important;
    color:#2563eb!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-shadow:0 8px 18px rgba(37,99,235,.10)!important;
}
.edupro-student-materials-page .edupro-folder-title{min-width:0!important;display:block!important;}
.edupro-student-materials-page .edupro-folder-title strong{
    display:block!important;
    font-size:18px!important;
    line-height:1.25!important;
    font-weight:700!important;
    color:#0f172a!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.edupro-student-materials-page .edupro-folder-title small{display:none!important;}
.edupro-student-materials-page .edupro-folder-head em{
    font-style:normal!important;
    font-size:13px!important;
    font-weight:700!important;
    color:#4f46e5!important;
    background:#eef2ff!important;
    border:1px solid #dfe4ff!important;
    border-radius:999px!important;
    padding:8px 13px!important;
    white-space:nowrap!important;
}
.edupro-student-materials-page .edupro-folder-toggle{
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    height:38px!important;
    padding:0 12px!important;
    border-radius:999px!important;
    border:1px solid #dbe5f3!important;
    background:#fff!important;
    color:#475569!important;
    font-size:13px!important;
    font-weight:700!important;
    white-space:nowrap!important;
    box-shadow:0 8px 18px rgba(15,23,42,.05)!important;
}
.edupro-student-materials-page .edupro-folder-arrow{
    width:22px!important;
    height:22px!important;
    border-radius:999px!important;
    background:#f1f5f9!important;
    color:#475569!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-weight:700!important;
    line-height:1!important;
    transition:.18s ease!important;
}
.edupro-student-materials-page .edupro-folder-group.is-open .edupro-folder-head{
    background:linear-gradient(135deg,#eef2ff 0%,#f8fbff 100%)!important;
}
.edupro-student-materials-page .edupro-folder-group.is-open .edupro-folder-toggle{
    color:#4f46e5!important;
    border-color:#c7d2fe!important;
    background:#eef2ff!important;
}
.edupro-student-materials-page .edupro-folder-group.is-open .edupro-folder-arrow{
    transform:rotate(180deg)!important;
    background:#4f46e5!important;
    color:#fff!important;
}
.edupro-student-materials-page .edupro-folder-body{
    display:none!important;
    padding:14px!important;
    border-top:1px solid #e5edf8!important;
    background:#f8fafc!important;
}
.edupro-student-materials-page .edupro-folder-group.is-open .edupro-folder-body{
    display:block!important;
}
.edupro-student-materials-page .edupro-material-folder-row{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    min-height:78px!important;
    margin:0 0 12px!important;
    padding:0!important;
    border:1px solid #dbe5f3!important;
    border-radius:16px!important;
    background:#fff!important;
    overflow:hidden!important;
}
.edupro-student-materials-page .edupro-material-folder-row:last-child{margin-bottom:0!important;}
.edupro-student-materials-page .edupro-material-folder-row::before,
.edupro-student-materials-page .edupro-material-folder-row::after{
    display:none!important;
    content:none!important;
}
.edupro-student-materials-page .edupro-material-card-link{
    min-width:0!important;
    display:grid!important;
    grid-template-columns:54px minmax(220px,1fr) minmax(110px,.45fr) minmax(110px,.45fr) minmax(110px,.45fr)!important;
    gap:14px!important;
    align-items:center!important;
    padding:14px 16px!important;
    color:inherit!important;
    text-decoration:none!important;
}
.edupro-student-materials-page .edupro-material-card-icon{
    width:48px!important;
    height:48px!important;
    border-radius:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#eef2ff!important;
    color:#4f46e5!important;
    font-size:20px!important;
}
.edupro-student-materials-page .edupro-material-card-info{min-width:0!important;}
.edupro-student-materials-page .edupro-material-card-info h3{
    margin:0 0 5px!important;
    font-size:16px!important;
    line-height:1.25!important;
    font-weight:700!important;
    color:#0f172a!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.edupro-student-materials-page .edupro-material-card-info p{
    margin:0!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:5px 8px!important;
    font-size:13px!important;
    color:#64748b!important;
    line-height:1.35!important;
}
.edupro-student-materials-page .edupro-material-folder-meta strong{
    display:block!important;
    font-size:14px!important;
    line-height:1.25!important;
    font-weight:700!important;
    color:#0f172a!important;
}
.edupro-student-materials-page .edupro-material-folder-meta span{
    display:block!important;
    margin-top:2px!important;
    font-size:12px!important;
    line-height:1.2!important;
    color:#94a3b8!important;
}
.edupro-student-materials-page .edupro-material-folder-row > .edupro-student-materials-btn{
    margin-right:14px!important;
    min-width:124px!important;
    height:40px!important;
    padding:0 18px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#5b4df2!important;
    color:#fff!important;
    border:0!important;
    text-decoration:none!important;
    font-size:14px!important;
    font-weight:700!important;
    box-shadow:0 12px 22px rgba(91,77,242,.22)!important;
    white-space:nowrap!important;
}
.edupro-student-materials-page .edupro-student-materials-folder-class,
.edupro-student-materials-page .edupro-student-materials-folder-icon,
.edupro-student-materials-page .edupro-student-materials-folder-arrow,
.edupro-student-materials-page .edupro-student-materials-card-top,
.edupro-student-materials-page .edupro-student-materials-icon,
.edupro-student-materials-page .edupro-student-materials-type{
    display:none!important;
}
.edupro-student-materials-page .edupro-student-materials-filter-reset{
    min-height:46px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-decoration:none!important;
}
@media(max-width:1100px){
    .edupro-student-materials-page .edupro-material-card-link{
        grid-template-columns:54px minmax(0,1fr) minmax(96px,.35fr) minmax(96px,.35fr)!important;
    }
    .edupro-student-materials-page .edupro-material-folder-meta:last-of-type{display:none!important;}
}
@media(max-width:760px){
    .edupro-student-materials-page .edupro-folder-head{grid-template-columns:42px minmax(0,1fr) auto!important;gap:10px!important;}
    .edupro-student-materials-page .edupro-folder-head em{grid-column:2 / 3;width:max-content!important;margin-top:4px!important;}
    .edupro-student-materials-page .edupro-folder-toggle{grid-column:3;grid-row:1 / 3;width:38px!important;padding:0!important;justify-content:center!important;}
    .edupro-student-materials-page .edupro-folder-toggle-text{display:none!important;}
    .edupro-student-materials-page .edupro-material-folder-row{grid-template-columns:1fr!important;padding-bottom:14px!important;}
    .edupro-student-materials-page .edupro-material-card-link{grid-template-columns:44px minmax(0,1fr)!important;padding:14px!important;}
    .edupro-student-materials-page .edupro-material-folder-meta{display:none!important;}
    .edupro-student-materials-page .edupro-material-folder-row > .edupro-student-materials-btn{margin:0 14px!important;width:calc(100% - 28px)!important;}
}

/* =====================================================
   EduPro v19 - Sửa nút Mở/Thu gọn kho tài liệu học viên
===================================================== */
.edupro-student-materials-page .edupro-folder-head,
.edupro-student-materials-page .edupro-student-materials-folder-head{
    appearance:none!important;
    -webkit-appearance:none!important;
    user-select:none!important;
}
.edupro-student-materials-page .edupro-folder-toggle,
.edupro-student-materials-page .edupro-folder-toggle *{
    pointer-events:none!important;
}
.edupro-student-materials-page .edupro-folder-toggle-text{
    display:inline!important;
}
.edupro-student-materials-page .edupro-folder-body,
.edupro-student-materials-page .edupro-student-materials-folder-body{
    display:none!important;
}
.edupro-student-materials-page .edupro-folder-group.is-open > .edupro-folder-body,
.edupro-student-materials-page .edupro-student-materials-folder-group.is-open > .edupro-student-materials-folder-body{
    display:block!important;
}
.edupro-student-materials-page .edupro-folder-group.is-open .edupro-folder-toggle-text::before{
    content:''!important;
}
.edupro-student-materials-page .edupro-folder-arrow{
    font-size:0!important;
}
.edupro-student-materials-page .edupro-folder-arrow::before{
    content:'⌄'!important;
    font-size:14px!important;
    line-height:1!important;
}
.edupro-student-materials-page .edupro-folder-group.is-open .edupro-folder-arrow{
    transform:rotate(180deg)!important;
}

/* =====================================================
   EduPro v20 - Căn hàng tài liệu học viên dạng ngang, nút xem nhỏ gọn
===================================================== */
.edupro-student-materials-page .edupro-student-materials-folder-body,
.edupro-student-materials-page .edupro-folder-body{
    padding:14px!important;
    background:#f8fbff!important;
}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) max-content!important;
    align-items:center!important;
    gap:12px!important;
    padding:0!important;
    min-height:74px!important;
    overflow:visible!important;
}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-link{
    display:grid!important;
    grid-template-columns:54px minmax(220px,1.3fr) minmax(105px,.42fr) minmax(105px,.42fr) minmax(90px,.32fr)!important;
    align-items:center!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    padding:12px 14px!important;
    min-width:0!important;
}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row > .edupro-student-materials-btn{
    width:auto!important;
    min-width:112px!important;
    max-width:132px!important;
    height:38px!important;
    line-height:38px!important;
    padding:0 18px!important;
    margin:0 14px 0 0!important;
    flex:0 0 auto!important;
    justify-self:end!important;
    border-radius:999px!important;
    font-size:13px!important;
    font-weight:600!important;
    white-space:nowrap!important;
    box-shadow:0 10px 20px rgba(91,77,242,.18)!important;
}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-icon{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    font-size:18px!important;
}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-info h3,
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta strong{
    font-weight:600!important;
}
@media(max-width:1180px){
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-link{
        grid-template-columns:54px minmax(180px,1fr) minmax(96px,.35fr) minmax(96px,.35fr)!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta:last-of-type{
        display:none!important;
    }
}
@media(max-width:760px){
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row{
        grid-template-columns:1fr!important;
        gap:8px!important;
        padding-bottom:12px!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-link{
        grid-template-columns:44px minmax(0,1fr)!important;
        padding:12px 14px 4px!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta{
        display:none!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row > .edupro-student-materials-btn{
        width:auto!important;
        min-width:112px!important;
        margin:0 14px!important;
        justify-self:start!important;
    }
}

/* =====================================================
   EduPro v21 - Căn thẳng hàng file trong folder học viên + bỏ mũi tên nút Mở
===================================================== */
.edupro-student-materials-page .edupro-folder-toggle{
    gap:0!important;
    min-width:92px!important;
    justify-content:center!important;
}
.edupro-student-materials-page .edupro-folder-arrow{
    display:none!important;
}
.edupro-student-materials-page .edupro-folder-arrow::before{
    content:none!important;
    display:none!important;
}
.edupro-student-materials-page .edupro-folder-group.is-open .edupro-folder-arrow{
    transform:none!important;
}
.edupro-student-materials-page .edupro-folder-toggle-text{
    line-height:1!important;
}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row{
    display: flex !important;
    align-items:center!important;
    min-height:92px!important;
    padding:0 14px!important;
    gap:16px!important;
}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-link{
    grid-template-columns:50px minmax(280px,1.2fr) minmax(120px,.42fr) minmax(110px,.35fr) minmax(90px,.3fr)!important;
    align-items:center!important;
    align-self:center!important;
    min-height:68px!important;
    height:auto!important;
    padding:10px 0!important;
    gap:16px!important;
}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row > .edupro-student-materials-btn{
    align-self:center!important;
    justify-self:end!important;
    width:122px!important;
    min-width:122px!important;
    max-width:122px!important;
    height:40px!important;
    line-height:40px!important;
    margin:0!important;
    padding:0 14px!important;
    text-align:center!important;
}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-info,
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta{
    align-self:center!important;
    margin:0!important;
}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-info p,
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta span,
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta strong{
    margin:0!important;
}
@media(max-width:1180px){
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row{
        grid-template-columns:minmax(0,1fr) 122px!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-link{
        grid-template-columns:50px minmax(220px,1fr) minmax(105px,.35fr) minmax(105px,.35fr)!important;
    }
}
@media(max-width:760px){
    .edupro-student-materials-page .edupro-folder-toggle{
        min-width:78px!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row{
        grid-template-columns:1fr!important;
        padding:12px 14px!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row > .edupro-student-materials-btn{
        justify-self:start!important;
        width:auto!important;
        min-width:112px!important;
    }
}


/* =========================================================
   EduPro v30 - Dọn giao diện kho tài liệu học viên giống admin/giáo viên
========================================================= */
.edupro-student-materials-page .edupro-folder-arrow,
.edupro-student-materials-page .edupro-student-materials-folder-arrow{display:none!important;}
.edupro-student-materials-page .edupro-folder-head,
.edupro-student-materials-page .edupro-student-materials-folder-head{
    display:grid!important;grid-template-columns:46px minmax(0,1fr) auto auto!important;gap:14px!important;align-items:center!important;
    width:100%!important;padding:16px 18px!important;border:0!important;border-radius:0!important;background:#f7faff!important;color:#0f172a!important;text-align:left!important;cursor:pointer!important;
}
.edupro-student-materials-page .edupro-folder-title strong{font-weight:700!important;font-size:17px!important;}
.edupro-student-materials-page .edupro-folder-head em{font-style:normal!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:34px!important;padding:0 13px!important;border-radius:999px!important;background:#eef2ff!important;color:#4f46e5!important;font-weight:700!important;font-size:13px!important;}
.edupro-student-materials-page .edupro-folder-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:34px!important;min-width:76px!important;padding:0 14px!important;border:1px solid #c7d2fe!important;border-radius:999px!important;background:#fff!important;color:#4f46e5!important;font-weight:700!important;font-size:13px!important;}
.edupro-student-materials-page .edupro-folder-body{padding:14px!important;border-top:1px solid #dbeafe!important;background:#f8fbff!important;}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row{
    display:grid!important;grid-template-columns:minmax(360px,1fr) 140px 130px 130px auto!important;gap:16px!important;align-items:center!important;min-height:84px!important;padding:12px 14px!important;margin:0 0 10px!important;border:1px solid #dbe5f2!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;
}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-link{
    display:grid!important;grid-template-columns:52px minmax(0,1fr) 140px 130px 130px!important;grid-column:1 / 5!important;gap:14px!important;align-items:center!important;width:100%!important;min-width:0!important;padding:0!important;color:inherit!important;text-decoration:none!important;
}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-info h3{margin:0 0 4px!important;font-size:15px!important;font-weight:700!important;color:#0f172a!important;}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-info p{margin:0!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important;color:#475569!important;font-size:13px!important;font-weight:400!important;}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta{min-width:0!important;text-align:left!important;}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta strong{display:block!important;font-size:14px!important;font-weight:700!important;color:#0f172a!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta span{display:block!important;margin-top:2px!important;font-size:12px!important;color:#64748b!important;font-weight:400!important;}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row > .edupro-student-materials-btn{grid-column:5!important;justify-self:end!important;align-self:center!important;width:auto!important;min-width:118px!important;height:42px!important;padding:0 18px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:13px!important;font-weight:700!important;line-height:1!important;white-space:nowrap!important;background:#5b4df5!important;color:#fff!important;box-shadow:0 10px 22px rgba(91,77,245,.20)!important;}
@media(max-width:1180px){
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row{grid-template-columns:1fr!important;gap:10px!important;}
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-link{grid-template-columns:48px minmax(0,1fr)!important;grid-column:1!important;}
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta{display:none!important;}
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row > .edupro-student-materials-btn{grid-column:1!important;justify-self:start!important;}
}

/* EduPro per-skill assignment content */
.edupro-student-skill-passage{
    margin:14px 0 18px;
    padding:18px 20px;
    border:1px solid rgba(14,165,233,.18);
    border-radius:18px;
    background:linear-gradient(135deg,rgba(240,249,255,.96),rgba(255,255,255,.98));
    box-shadow:0 12px 28px rgba(15,23,42,.05);
    color:#1e293b;
}
.edupro-student-skill-passage .edupro-student-assignment-audio{
    margin-bottom:14px;
}
.edupro-student-skill-passage p:last-child{margin-bottom:0;}


/* ===== Skill tabs / part tabs for homework ===== */
.edupro-student-skill-tabs{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 22px}
.edupro-student-skill-tab{display:inline-flex;align-items:center;gap:10px;border:1px solid #d8e5f7;background:#fff;border-radius:14px;padding:14px 18px;font-weight:800;font-size:15px;color:#23405f;cursor:pointer;transition:.2s ease;box-shadow:0 6px 18px rgba(16,36,94,.05)}
.edupro-student-skill-tab:hover,.edupro-student-skill-tab.is-active{background:linear-gradient(180deg,#18b7f3 0%,#06a7ea 100%);border-color:#06a7ea;color:#fff;box-shadow:0 10px 24px rgba(6,167,234,.24)}
.edupro-student-skill-tab-icon{font-size:18px;line-height:1}
.edupro-student-skill-tab-label{letter-spacing:.02em}
.edupro-student-skill-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:rgba(255,255,255,.18);font-size:13px;font-weight:800}
.edupro-student-skill-tab:not(.is-active) .edupro-student-skill-tab-count{background:#eef4fd;color:#2f4e77}
.edupro-student-skill-panel{display:none}
.edupro-student-skill-panel.is-active{display:block}
.edupro-student-skill-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;margin:0 0 18px;border-radius:18px;background:linear-gradient(180deg,#18b7f3 0%,#06a7ea 100%);color:#fff;box-shadow:0 14px 32px rgba(6,167,234,.18)}
.edupro-student-skill-banner-main{display:flex;align-items:center;gap:14px}
.edupro-student-skill-banner-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.18);font-size:24px}
.edupro-student-skill-banner strong{display:block;font-size:22px;line-height:1.2;color:#fff}
.edupro-student-skill-banner p{margin:4px 0 0;color:rgba(255,255,255,.92);font-size:14px}
.edupro-student-skill-banner em{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.18);font-style:normal;font-weight:800;color:#fff;white-space:nowrap}
.edupro-student-skill-workspace{display:grid;grid-template-columns:minmax(280px,36%) minmax(0,1fr);gap:24px;align-items:start}
.edupro-student-skill-workspace.no-skill-passage{grid-template-columns:minmax(0,1fr)}
.edupro-student-skill-passage-box{position:sticky;top:18px;border:1px solid #d8e5f7;border-radius:22px;background:#fff;padding:22px;box-shadow:0 10px 24px rgba(16,36,94,.05)}
.edupro-student-skill-passage-box>strong{display:block;font-size:22px;line-height:1.2;margin-bottom:14px;color:#1a2942}
.edupro-student-skill-passage-content{color:#30445f}
.edupro-student-skill-question-area{min-width:0}
.edupro-student-part-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 16px}
.edupro-student-part-tab{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:4px;padding:14px 18px;border-radius:16px;border:1px solid #d7def2;background:#f8fbff;color:#27415d;cursor:pointer;font-weight:800;transition:.2s ease}
.edupro-student-part-tab span{font-size:13px;letter-spacing:.04em;color:#5a6f8c}
.edupro-student-part-tab strong{font-size:16px;line-height:1.2;color:inherit}
.edupro-student-part-tab:hover,.edupro-student-part-tab.is-active{background:#4c4de8;border-color:#4c4de8;color:#fff;box-shadow:0 10px 24px rgba(76,77,232,.18)}
.edupro-student-part-tab:hover span,.edupro-student-part-tab.is-active span{color:rgba(255,255,255,.88)}
.edupro-student-part-panel{display:none}
.edupro-student-part-panel.is-active{display:block}
.edupro-student-part-panel .edupro-ielts-part-heading{margin-top:0}
.edupro-student-question-card-empty{padding:18px}
@media (max-width: 991px){.edupro-student-skill-workspace{grid-template-columns:minmax(0,1fr)}.edupro-student-skill-passage-box{position:static}.edupro-student-skill-banner{padding:18px;flex-direction:column;align-items:flex-start}}
@media (max-width: 767px){.edupro-student-skill-tab{width:100%;justify-content:flex-start}.edupro-student-part-tab{width:100%}.edupro-student-skill-banner strong{font-size:20px}}


/* ===== Skill tabs exact listening layout fix ===== */
.edupro-student-homework-detail-card .edupro-student-skill-tabs,
.edupro-bank-preview-shell .edupro-student-skill-tabs{
  display:flex!important;
  flex-wrap:wrap;
  gap:22px;
  align-items:center;
  margin:0 0 28px;
  padding:0;
}
.edupro-student-homework-detail-card .edupro-student-skill-tab,
.edupro-bank-preview-shell .edupro-student-skill-tab{
  min-width:178px;
  height:58px;
  display:inline-flex!important;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  border:1px solid #d9edf7!important;
  background:#fff!important;
  color:#6b7584!important;
  border-radius:7px!important;
  padding:0 18px!important;
  box-shadow:0 8px 18px rgba(15,34,67,.035)!important;
  font-size:14px!important;
  font-weight:800!important;
  text-transform:uppercase;
  letter-spacing:.01em;
  cursor:pointer!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-tab.is-active,
.edupro-student-homework-detail-card .edupro-student-skill-tab:hover,
.edupro-bank-preview-shell .edupro-student-skill-tab.is-active,
.edupro-bank-preview-shell .edupro-student-skill-tab:hover{
  background:#08b8e8!important;
  border-color:#08b8e8!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(8,184,232,.22)!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-tab-icon,
.edupro-bank-preview-shell .edupro-student-skill-tab-icon{font-size:21px;line-height:1;filter:none}
.edupro-student-homework-detail-card .edupro-student-skill-tab-count,
.edupro-bank-preview-shell .edupro-student-skill-tab-count{
  margin-left:auto;
  min-width:30px;
  height:30px;
  border-radius:10px;
  background:#f2f5f9!important;
  color:#6b7584!important;
  font-size:13px!important;
  box-shadow:0 6px 14px rgba(29,49,83,.08);
}
.edupro-student-homework-detail-card .edupro-student-skill-tab.is-active .edupro-student-skill-tab-count,
.edupro-bank-preview-shell .edupro-student-skill-tab.is-active .edupro-student-skill-tab-count{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  box-shadow:none;
}
.edupro-student-homework-detail-card .edupro-student-skill-banner,
.edupro-bank-preview-shell .edupro-student-skill-banner{
  min-height:70px;
  border-radius:9px!important;
  padding:0 22px!important;
  margin:0 0 20px!important;
  background:#08b8e8!important;
  box-shadow:0 10px 24px rgba(8,184,232,.16)!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-banner-icon,
.edupro-bank-preview-shell .edupro-student-skill-banner-icon{
  width:auto!important;
  height:auto!important;
  background:transparent!important;
  font-size:25px!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-banner strong,
.edupro-bank-preview-shell .edupro-student-skill-banner strong{
  font-size:16px!important;
  font-weight:900!important;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.edupro-student-homework-detail-card .edupro-student-skill-banner p,
.edupro-bank-preview-shell .edupro-student-skill-banner p{display:none!important}
.edupro-student-homework-detail-card .edupro-student-skill-banner em,
.edupro-bank-preview-shell .edupro-student-skill-banner em{
  height:36px;
  padding:0 15px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  font-size:13px!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-workspace,
.edupro-bank-preview-shell .edupro-student-skill-workspace{
  display:block!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-passage-box,
.edupro-bank-preview-shell .edupro-student-skill-passage-box{
  position:static!important;
  display:block!important;
  width:100%!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0 0 22px!important;
  background:transparent!important;
  box-shadow:none!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-passage-box>strong,
.edupro-bank-preview-shell .edupro-student-skill-passage-box>strong{display:none!important}
.edupro-student-homework-detail-card .edupro-student-skill-passage-content,
.edupro-bank-preview-shell .edupro-student-skill-passage-content{
  width:100%;
  margin:0 0 20px!important;
  padding:18px 20px!important;
  border-left:4px solid #12c5e8;
  border-radius:8px!important;
  background:#f4f7fb!important;
  color:#15233b!important;
  font-size:15px;
  line-height:1.65;
  font-weight:700;
}
.edupro-student-homework-detail-card .edupro-student-skill-passage-content p,
.edupro-bank-preview-shell .edupro-student-skill-passage-content p{margin:0!important}
.edupro-student-homework-detail-card .edupro-student-assignment-audio,
.edupro-bank-preview-shell .edupro-student-assignment-audio{
  width:100%!important;
  display:block!important;
  margin:0 0 24px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.edupro-student-homework-detail-card .edupro-student-assignment-audio span,
.edupro-bank-preview-shell .edupro-student-assignment-audio span{display:none!important}
.edupro-student-homework-detail-card .edupro-student-assignment-audio audio,
.edupro-bank-preview-shell .edupro-student-assignment-audio audio{
  display:block!important;
  width:100%!important;
  height:46px!important;
  border-radius:999px;
}
.edupro-student-homework-detail-card .edupro-student-part-tabs,
.edupro-bank-preview-shell .edupro-student-part-tabs{
  gap:10px;
  margin:0 0 16px!important;
}
.edupro-student-homework-detail-card .edupro-student-part-tab,
.edupro-bank-preview-shell .edupro-student-part-tab{
  min-width:160px;
  border-radius:999px!important;
  padding:10px 16px!important;
  background:#eef6ff!important;
  border:1px solid #cfe4ff!important;
  color:#293c5c!important;
  box-shadow:none!important;
  cursor:pointer!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.edupro-student-homework-detail-card .edupro-student-part-tab span,
.edupro-bank-preview-shell .edupro-student-part-tab span{font-size:12px!important;color:#64748b!important}
.edupro-student-homework-detail-card .edupro-student-part-tab strong,
.edupro-bank-preview-shell .edupro-student-part-tab strong{font-size:14px!important}
.edupro-student-homework-detail-card .edupro-student-part-tab.is-active,
.edupro-student-homework-detail-card .edupro-student-part-tab:hover,
.edupro-bank-preview-shell .edupro-student-part-tab.is-active,
.edupro-bank-preview-shell .edupro-student-part-tab:hover{
  background:#4f46e5!important;
  border-color:#4f46e5!important;
  color:#fff!important;
}
.edupro-student-homework-detail-card .edupro-student-part-tab.is-active span,
.edupro-student-homework-detail-card .edupro-student-part-tab:hover span,
.edupro-bank-preview-shell .edupro-student-part-tab.is-active span,
.edupro-bank-preview-shell .edupro-student-part-tab:hover span{color:rgba(255,255,255,.88)!important}
@media(max-width:767px){
  .edupro-student-homework-detail-card .edupro-student-skill-tab,
  .edupro-bank-preview-shell .edupro-student-skill-tab{width:100%;min-width:0}
}


/* ===== Restore left content layout after fullwidth test ===== */
.edupro-student-homework-detail-card .edupro-student-skill-workspace,
.edupro-bank-preview-shell .edupro-student-skill-workspace{
  display:grid!important;
  grid-template-columns:minmax(320px,36%) minmax(0,1fr)!important;
  gap:24px!important;
  align-items:start!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-workspace.no-skill-passage,
.edupro-bank-preview-shell .edupro-student-skill-workspace.no-skill-passage{
  grid-template-columns:minmax(0,1fr)!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-passage-box,
.edupro-bank-preview-shell .edupro-student-skill-passage-box{
  position:sticky!important;
  top:18px!important;
  display:block!important;
  width:auto!important;
  min-height:380px!important;
  border:1px solid #d8e5f7!important;
  border-radius:22px!important;
  padding:22px!important;
  margin:0!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(16,36,94,.05)!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-passage-box>strong,
.edupro-bank-preview-shell .edupro-student-skill-passage-box>strong{
  display:block!important;
  font-size:18px!important;
  line-height:1.25!important;
  margin:0 0 14px!important;
  color:#1a2942!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-passage-content,
.edupro-bank-preview-shell .edupro-student-skill-passage-content{
  width:auto!important;
  margin:0!important;
  padding:0!important;
  border-left:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#24354f!important;
  font-size:15px!important;
  line-height:1.65!important;
  font-weight:500!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-passage-content p,
.edupro-bank-preview-shell .edupro-student-skill-passage-content p{margin:0 0 12px!important}
.edupro-student-homework-detail-card .edupro-student-assignment-audio,
.edupro-bank-preview-shell .edupro-student-assignment-audio{
  width:100%!important;
  display:block!important;
  margin:0 0 18px!important;
  padding:12px!important;
  border:1px solid #e1eaf7!important;
  border-radius:16px!important;
  background:#f8fbff!important;
  box-shadow:none!important;
}
.edupro-student-homework-detail-card .edupro-student-assignment-audio span,
.edupro-bank-preview-shell .edupro-student-assignment-audio span{
  display:block!important;
  margin:0 0 8px!important;
  font-weight:800!important;
  color:#344966!important;
}
.edupro-student-homework-detail-card .edupro-student-assignment-audio audio,
.edupro-bank-preview-shell .edupro-student-assignment-audio audio{
  display:block!important;
  width:100%!important;
  height:44px!important;
  border-radius:999px!important;
}
.edupro-student-homework-detail-card [data-skill-tab],
.edupro-student-homework-detail-card [data-part-tab],
.edupro-bank-preview-shell [data-skill-tab],
.edupro-bank-preview-shell [data-part-tab]{
  pointer-events:auto!important;
  opacity:1!important;
  cursor:pointer!important;
}
.edupro-student-homework-detail-card [data-skill-tab]:disabled,
.edupro-student-homework-detail-card [data-part-tab]:disabled,
.edupro-bank-preview-shell [data-skill-tab]:disabled,
.edupro-bank-preview-shell [data-part-tab]:disabled{
  pointer-events:auto!important;
  opacity:1!important;
}
@media(max-width:991px){
  .edupro-student-homework-detail-card .edupro-student-skill-workspace,
  .edupro-bank-preview-shell .edupro-student-skill-workspace{grid-template-columns:minmax(0,1fr)!important}
  .edupro-student-homework-detail-card .edupro-student-skill-passage-box,
  .edupro-bank-preview-shell .edupro-student-skill-passage-box{position:static!important;min-height:0!important}
}

/* Part-based passage/file display */
.edupro-student-part-passage-box{margin:14px 0 18px;padding:16px;border:1px solid rgba(37,99,235,.14);border-radius:18px;background:#f8fbff;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.edupro-student-part-passage-content{color:#0f172a;line-height:1.7}
.edupro-student-part-passage-content p:last-child{margin-bottom:0}
.edupro-student-part-file{margin-top:12px}
.edupro-student-part-file a{display:inline-flex;margin-top:8px;font-weight:700;color:#2563eb;text-decoration:none}

/* Fix 27/05: nội dung/file của từng Part nằm ở cột trái trong review giáo viên và bài tập học viên */
.edupro-student-part-workspace{
    display:grid;
    grid-template-columns:minmax(280px, 38%) minmax(0, 1fr);
    gap:18px;
    align-items:start;
    margin-top:14px;
}
.edupro-student-part-workspace.no-part-passage{
    display:block;
}
.edupro-student-part-workspace .edupro-student-part-passage-box{
    margin:0;
    padding:18px;
    border:1px solid rgba(37,99,235,.18);
    border-radius:20px;
    background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);
    box-shadow:0 16px 34px rgba(15,23,42,.07);
    position:sticky;
    top:18px;
    max-height:calc(100vh - 180px);
    overflow:auto;
}
.edupro-student-part-passage-head{
    display:flex;
    flex-direction:column;
    gap:6px;
    margin-bottom:12px;
    padding-bottom:12px;
    border-bottom:1px solid rgba(148,163,184,.25);
}
.edupro-student-part-passage-head span{
    font-size:14px;
    font-weight:900;
    color:#0f172a;
}
.edupro-student-part-passage-head em{
    font-style:normal;
    font-size:13px;
    font-weight:700;
    color:#64748b;
    line-height:1.5;
}
.edupro-student-part-workspace .edupro-student-part-passage-content{
    color:#0f172a;
    font-size:15px;
    line-height:1.75;
}
.edupro-student-part-workspace .edupro-student-part-passage-content p:first-child{margin-top:0;}
.edupro-student-part-workspace .edupro-student-part-passage-content p:last-child{margin-bottom:0;}
.edupro-student-part-question-list{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:16px;
}
.edupro-student-part-question-list > .edupro-student-question-card{
    margin:0!important;
}
.edupro-bank-student-preview .edupro-student-part-workspace .edupro-student-part-passage-box,
.edupro-student-homework-detail-card .edupro-student-part-workspace .edupro-student-part-passage-box{
    border-color:#d7e4ff;
}
@media(max-width:1024px){
    .edupro-student-part-workspace{
        grid-template-columns:1fr;
    }
    .edupro-student-part-workspace .edupro-student-part-passage-box{
        position:relative;
        top:auto;
        max-height:none;
    }
}

/* Fix 27/05 v2: nội dung của Part thay thế trực tiếp box lớn bên trái */
.edupro-student-skill-passage-box.edupro-student-part-main-passage{
    min-height:360px;
    max-height:calc(100vh - 190px);
    overflow:auto;
}
.edupro-student-part-left-panel{display:none;}
.edupro-student-part-left-panel.is-active{display:block;}
.edupro-student-part-left-panel>strong{
    display:block;
    font-size:22px;
    line-height:1.25;
    margin:0 0 14px;
    color:#1a2942;
}
.edupro-student-skill-passage-description{
    margin:0 0 14px;
    padding-bottom:12px;
    border-bottom:1px solid rgba(148,163,184,.24);
    color:#334155;
    font-weight:700;
    line-height:1.65;
}
.edupro-student-skill-passage-description p:first-child,
.edupro-student-skill-passage-content p:first-child{margin-top:0;}
.edupro-student-skill-passage-description p:last-child,
.edupro-student-skill-passage-content p:last-child{margin-bottom:0;}
.edupro-student-part-workspace,
.edupro-student-part-workspace.has-part-passage,
.edupro-student-part-workspace.no-part-passage{
    display:block!important;
    margin-top:14px;
}
.edupro-student-part-workspace>.edupro-student-part-passage-box{display:none!important;}
.edupro-student-part-question-list{width:100%;}
@media(max-width:991px){
    .edupro-student-skill-passage-box.edupro-student-part-main-passage{min-height:0;max-height:none;}
}

/* EduPro final: tài liệu không có folder hiển thị như file riêng, không gom folder */
.edupro-student-materials-folder-group[data-material-folder-id="0"] .edupro-student-materials-folder-head{display:none!important}
.edupro-student-materials-folder-group[data-material-folder-id="0"]{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.edupro-student-materials-folder-group[data-material-folder-id="0"] .edupro-student-materials-folder-body{display:grid!important;gap:14px!important}
.edupro-student-materials-folder-group[data-material-folder-id="0"] .edupro-material-folder-row{border:1px solid #e5e7eb!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 24px rgba(15,23,42,.06)!important}

/* EduPro IELTS reading/listening layout giống mẫu: header xanh, 2 cột, câu hỏi bên phải */
.edupro-student-homework-detail-card .edupro-student-skill-tabs{gap:14px;margin-bottom:18px}
.edupro-student-homework-detail-card .edupro-student-skill-tab{background:#07aee0!important;color:#fff!important;border:0!important;border-radius:10px!important;box-shadow:0 4px 0 rgba(0,105,140,.25)!important;padding:14px 20px!important}
.edupro-student-homework-detail-card .edupro-student-skill-tab-count{background:rgba(255,255,255,.22)!important;color:#fff!important;border-radius:10px!important;padding:8px 10px!important}
.edupro-student-homework-detail-card .edupro-student-skill-banner{background:#08aee0!important;border:0!important;border-radius:10px!important;color:#fff!important;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12)!important}
.edupro-student-homework-detail-card .edupro-student-skill-banner strong,.edupro-student-homework-detail-card .edupro-student-skill-banner p,.edupro-student-homework-detail-card .edupro-student-skill-banner em{color:#fff!important}
.edupro-student-homework-detail-card .edupro-student-skill-workspace.has-skill-passage{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(390px,.96fr)!important;gap:0!important;border:1px solid #e5e7eb!important;border-radius:0!important;overflow:hidden!important;background:#fff!important;max-height:620px!important}
.edupro-student-homework-detail-card .edupro-student-skill-passage-box{position:relative!important;top:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:28px!important;max-height:72vh!important;overflow:auto!important;border-right:1px solid #e5e7eb!important;background:#fff!important}
.edupro-student-homework-detail-card .edupro-student-skill-question-area{padding:22px!important;max-height:72vh!important;overflow:auto!important;background:#fbfdff!important}
.edupro-student-homework-detail-card .edupro-ielts-part-heading{margin:0 0 16px!important;border-radius:10px!important;background:#086b82!important;color:#fff!important;padding:14px 18px!important}
.edupro-student-homework-detail-card .edupro-ielts-part-heading span,.edupro-student-homework-detail-card .edupro-ielts-part-heading strong,.edupro-student-homework-detail-card .edupro-ielts-part-heading p{color:#fff!important}
.edupro-student-homework-detail-card .edupro-student-question-card{border:1px solid #e5e7eb!important;border-radius:10px!important;background:#fff!important;box-shadow:0 5px 16px rgba(15,23,42,.05)!important;margin-bottom:12px!important;padding:16px!important}
.edupro-student-homework-detail-card .edupro-student-question-card-head{gap:12px!important}
.edupro-student-homework-detail-card .edupro-student-question-card-head h4{background:#08aee0!important;color:#fff!important;border-radius:9px!important;padding:8px 11px!important;font-size:13px!important}
.edupro-student-homework-detail-card .edupro-student-question-content{font-size:16px!important;line-height:1.65!important;color:#111827!important}
.edupro-student-homework-detail-card .edupro-student-part-tabs{position:sticky!important;top:0!important;z-index:3!important;background:#fbfdff!important;padding-bottom:12px!important}
.edupro-student-homework-detail-card .edupro-student-part-tab{border-radius:7px!important;padding:9px 14px!important;background:#eef2f7!important;border:1px solid #dbe3ee!important;box-shadow:none!important}
.edupro-student-homework-detail-card .edupro-student-part-tab.is-active{background:#08aee0!important;border-color:#08aee0!important;color:#fff!important}
@media(max-width:991px){.edupro-student-homework-detail-card .edupro-student-skill-workspace.has-skill-passage{grid-template-columns:1fr!important}.edupro-student-homework-detail-card .edupro-student-skill-passage-box,.edupro-student-homework-detail-card .edupro-student-skill-question-area{max-height:none!important;border-right:0!important}}

/* Kho tài liệu học viên: file chưa có folder nằm riêng bên ngoài, không hiện thẻ Folder "Chưa có folder" */
.edupro-student-materials-page .edupro-student-materials-loose-group{
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.edupro-student-materials-page .edupro-student-materials-loose-group > .edupro-folder-body{
    display:block !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
}
.edupro-student-materials-page .edupro-student-materials-loose-group .edupro-student-materials-file-row{
    margin-bottom:12px !important;
}

/* EduPro 28/05: thanh danh sách câu hỏi dưới bài làm/xem bài */
.edupro-student-homework-form .edupro-student-question-bottom-nav,
.edupro-bank-preview-shell .edupro-student-question-bottom-nav{
    position: sticky;
    bottom: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    width: 100%;
    margin: 18px 0 0;
    padding: 12px 14px;
    background: rgba(255,255,255,.96);
    border-top: 1px solid #e4e9f2;
    box-shadow: 0 -10px 26px rgba(15,23,42,.08);
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}
.edupro-student-homework-form .edupro-student-question-bottom-group,
.edupro-bank-preview-shell .edupro-student-question-bottom-group{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
}
.edupro-student-homework-form .edupro-student-question-bottom-part,
.edupro-bank-preview-shell .edupro-student-question-bottom-part{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 38px;
    border: 1px solid #d7e2f2;
    border-radius: 10px;
    background: #f8fafc;
    color: #182b49;
    padding: 0 13px;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
    cursor: pointer;
}
.edupro-student-homework-form .edupro-student-question-bottom-part span,
.edupro-bank-preview-shell .edupro-student-question-bottom-part span{
    color: #64748b;
    font-weight: 800;
}
.edupro-student-homework-form .edupro-student-question-bottom-numbers,
.edupro-bank-preview-shell .edupro-student-question-bottom-numbers{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex: 0 0 auto;
}
.edupro-student-homework-form .edupro-student-question-bottom-number,
.edupro-bank-preview-shell .edupro-student-question-bottom-number{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    border: 1px solid #d7e2f2;
    border-radius: 9px;
    background: #f8fafc;
    color: #334155;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    transition: .18s ease;
}
.edupro-student-homework-form .edupro-student-question-bottom-number:hover,
.edupro-student-homework-form .edupro-student-question-bottom-number.is-active,
.edupro-bank-preview-shell .edupro-student-question-bottom-number:hover,
.edupro-bank-preview-shell .edupro-student-question-bottom-number.is-active{
    background: #0ea5e9;
    border-color: #0ea5e9;
    color: #fff;
    box-shadow: 0 8px 18px rgba(14,165,233,.25);
}
.edupro-student-homework-form .edupro-student-question-bottom-number.is-answered,
.edupro-bank-preview-shell .edupro-student-question-bottom-number.is-answered{
    background: #ecfdf5;
    border-color: #bbf7d0;
    color: #047857;
}
.edupro-student-homework-form .edupro-student-question-bottom-number.is-answered:hover,
.edupro-student-homework-form .edupro-student-question-bottom-number.is-answered.is-active,
.edupro-bank-preview-shell .edupro-student-question-bottom-number.is-answered:hover,
.edupro-bank-preview-shell .edupro-student-question-bottom-number.is-answered.is-active{
    background: #10b981;
    border-color: #10b981;
    color: #fff;
}
.edupro-student-homework-form .edupro-student-homework-submit-bar,
.edupro-bank-preview-shell .edupro-student-homework-submit-bar{
    margin-top: 0;
}
@media (max-width: 767px){
    .edupro-student-homework-form .edupro-student-question-bottom-nav,
    .edupro-bank-preview-shell .edupro-student-question-bottom-nav{
        padding: 10px 8px;
        gap: 6px;
    }
    .edupro-student-homework-form .edupro-student-question-bottom-part,
    .edupro-bank-preview-shell .edupro-student-question-bottom-part{
        min-height: 34px;
        padding: 0 10px;
        font-size: 12px;
    }
    .edupro-student-homework-form .edupro-student-question-bottom-number,
    .edupro-bank-preview-shell .edupro-student-question-bottom-number{
        min-width: 34px;
        height: 34px;
        font-size: 13px;
    }
}

/* EduPro 28/05 final: IELTS bottom question navigator like reference */
.edupro-student-homework-form .edupro-student-part-tabs,
.edupro-bank-preview-shell .edupro-student-part-tabs{display:none!important;}
.edupro-student-homework-form .edupro-student-question-bottom-nav,
.edupro-bank-preview-shell .edupro-student-question-bottom-nav{
    position:sticky!important;bottom:0!important;left:0!important;right:0!important;z-index:25!important;
    display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;min-height:54px!important;
    margin:0!important;padding:8px 16px!important;background:rgba(255,255,255,.96)!important;border-top:1px solid #e5e7eb!important;
    box-shadow:0 -8px 22px rgba(15,23,42,.08)!important;overflow:visible!important;
}
.edupro-student-question-bottom-picker{position:relative!important;flex:0 0 auto!important;min-width:150px!important;z-index:30!important;}
.edupro-student-question-bottom-part{
    height:38px!important;min-width:150px!important;display:inline-flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;
    padding:0 12px!important;border:1px solid #d7dce5!important;border-radius:7px!important;background:#f3f6fa!important;color:#1f2937!important;
    font-size:13px!important;font-weight:800!important;line-height:1!important;box-shadow:none!important;white-space:nowrap!important;cursor:pointer!important;
}
.edupro-student-question-bottom-part span{display:inline-flex!important;align-items:center!important;gap:4px!important;white-space:nowrap!important;}
.edupro-student-question-bottom-part em{font-style:normal!important;color:#64748b!important;font-weight:700!important;font-size:12px!important;}
.edupro-student-question-bottom-part i{font-style:normal!important;color:#64748b!important;font-size:12px!important;}
.edupro-student-question-bottom-dropdown{
    display:none!important;position:absolute!important;left:0!important;bottom:calc(100% + 8px)!important;width:210px!important;max-height:260px!important;overflow:auto!important;
    background:#fff!important;border:1px solid #dbe3ee!important;border-radius:12px!important;box-shadow:0 18px 46px rgba(15,23,42,.18)!important;padding:6px!important;
}
.edupro-student-question-bottom-picker.is-open .edupro-student-question-bottom-dropdown{display:block!important;}
.edupro-student-question-bottom-option{
    width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;border:0!important;background:transparent!important;
    border-radius:9px!important;padding:10px!important;color:#1f2937!important;font-weight:800!important;text-align:left!important;cursor:pointer!important;box-shadow:none!important;
}
.edupro-student-question-bottom-option span{font-size:12px!important;color:#64748b!important;font-weight:700!important;white-space:nowrap!important;}
.edupro-student-question-bottom-option:hover,.edupro-student-question-bottom-option.is-active{background:#eef6ff!important;color:#08aee0!important;}
.edupro-student-question-bottom-number-wrap{display:flex!important;align-items:center!important;min-width:0!important;flex:1 1 auto!important;overflow-x:auto!important;overflow-y:visible!important;gap:6px!important;}
.edupro-student-question-bottom-group{display:none!important;align-items:center!important;gap:6px!important;min-width:max-content!important;}
.edupro-student-question-bottom-group.is-active{display:flex!important;}
.edupro-student-question-bottom-numbers{display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:nowrap!important;}
.edupro-student-question-bottom-number{
    width:36px!important;height:36px!important;min-width:36px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
    border:1px solid #d6dde8!important;border-radius:7px!important;background:#f3f6fa!important;color:#475569!important;font-size:13px!important;font-weight:800!important;
    padding:0!important;box-shadow:inset 0 -1px 0 rgba(15,23,42,.08)!important;cursor:pointer!important;
}
.edupro-student-question-bottom-number:hover,.edupro-student-question-bottom-number.is-active{background:#08aee0!important;border-color:#08aee0!important;color:#fff!important;}
.edupro-student-question-bottom-number.is-answered{background:#ecfdf5!important;border-color:#bbf7d0!important;color:#047857!important;}
.edupro-student-question-bottom-number.is-answered:hover,.edupro-student-question-bottom-number.is-answered.is-active{background:#10b981!important;border-color:#10b981!important;color:#fff!important;}
@media(max-width:768px){
 .edupro-student-homework-form .edupro-student-question-bottom-nav,.edupro-bank-preview-shell .edupro-student-question-bottom-nav{padding:8px!important;gap:6px!important;}
 .edupro-student-question-bottom-picker{min-width:130px!important;}
 .edupro-student-question-bottom-part{min-width:130px!important;font-size:12px!important;}
 .edupro-student-question-bottom-number{width:32px!important;height:32px!important;min-width:32px!important;}
}

/* EduPro 28/05 final: tài liệu không bị che ở học viên/giáo viên/admin */
.edupro-student-materials-page,
.edupro-teacher-material-main,
.edupro-material-page,
.edupro-admin-layout .edupro-main{
    padding-bottom:120px!important;
    overflow:visible!important;
}
.edupro-student-main,
.edupro-teacher-material-layout,
.edupro-admin-layout{
    overflow:visible!important;
}
.edupro-student-materials-grid,
.edupro-material-list,
.edupro-material-folder-list,
.edupro-folder-list{
    padding-bottom:40px!important;
}

/* EduPro 28/05 final: tách nút sửa/xóa khối */
.edupro-fixed-class-card span{display:inline-flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;}
.edupro-fixed-class-card .edupro-edit-fixed-class{border-color:#bfdbfe!important;background:#eff6ff!important;color:#2563eb!important;margin-right:0!important;}
.edupro-fixed-class-card .edupro-delete-fixed-class{border-color:#fecaca!important;background:#fff1f2!important;color:#e11d48!important;margin-left:0!important;}

/* EduPro 28/05 patch: bottom question nav luôn dính dưới màn hình + dropdown xổ được */
body:has(.edupro-student-question-bottom-nav){
    padding-bottom:86px!important;
}
.edupro-student-homework-form,
.edupro-student-homework-detail-card,
.edupro-bank-preview-shell{
    padding-bottom:86px!important;
}
.edupro-student-homework-form .edupro-student-skill-workspace,
.edupro-student-homework-detail-card .edupro-student-skill-workspace,
.edupro-bank-preview-shell .edupro-student-skill-workspace{
    margin-bottom:78px!important;
}
.edupro-student-homework-form .edupro-student-question-bottom-nav,
.edupro-bank-preview-shell .edupro-student-question-bottom-nav,
.edupro-student-homework-detail-card .edupro-student-question-bottom-nav{
    position:fixed!important;
    left:var(--edupro-bottom-nav-left, 18px)!important;
    right:var(--edupro-bottom-nav-right, 18px)!important;
    bottom:var(--edupro-bottom-nav-bottom, 16px)!important;
    width:auto!important;
    max-width:none!important;
    z-index:999999!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-height:56px!important;
    padding:9px 14px!important;
    background:rgba(255,255,255,.98)!important;
    border:1px solid #e2e8f0!important;
    border-radius:0!important;
    box-shadow:0 -8px 28px rgba(15,23,42,.12)!important;
    overflow:visible!important;
}
.swal2-popup .edupro-student-question-bottom-nav,
#edupro-session-modal .edupro-student-question-bottom-nav,
.edupro-modal .edupro-student-question-bottom-nav{
    left:calc(var(--edupro-modal-left, 4vw) + 28px)!important;
    right:calc(var(--edupro-modal-right, 4vw) + 28px)!important;
    bottom:calc(var(--edupro-modal-bottom, 18px) + 0px)!important;
}
.edupro-student-question-bottom-picker{
    position:relative!important;
    overflow:visible!important;
    z-index:1000001!important;
}
.edupro-student-question-bottom-dropdown{
    position:fixed!important;
    left:var(--edupro-part-dd-left, 18px)!important;
    bottom:var(--edupro-part-dd-bottom, 78px)!important;
    top:auto!important;
    width:240px!important;
    max-height:320px!important;
    overflow:auto!important;
    z-index:1000002!important;
    background:#fff!important;
    border:1px solid #dbe3ee!important;
    border-radius:12px!important;
    box-shadow:0 20px 50px rgba(15,23,42,.22)!important;
}
.edupro-student-question-bottom-picker.is-open .edupro-student-question-bottom-dropdown{
    display:block!important;
}
.edupro-student-question-bottom-part{
    min-width:230px!important;
    height:42px!important;
    border-radius:8px!important;
    font-size:14px!important;
}
.edupro-student-question-bottom-number-wrap{
    overflow-x:auto!important;
    overflow-y:visible!important;
    scrollbar-width:thin!important;
}
.edupro-student-question-bottom-number{
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    font-size:15px!important;
}
@media(max-width:768px){
    .edupro-student-homework-form .edupro-student-question-bottom-nav,
    .edupro-bank-preview-shell .edupro-student-question-bottom-nav,
    .edupro-student-homework-detail-card .edupro-student-question-bottom-nav{
        left:8px!important;right:8px!important;bottom:8px!important;padding:8px!important;
    }
    .edupro-student-question-bottom-part{min-width:160px!important;width:160px!important;font-size:12px!important;}
    .edupro-student-question-bottom-number{width:34px!important;min-width:34px!important;height:34px!important;font-size:13px!important;}
}

/* EduPro 28/05 patch: tài liệu không để nút che dung lượng / thông tin */
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 126px!important;
    align-items:center!important;
    gap:14px!important;
    overflow:hidden!important;
}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-link{
    grid-column:1!important;
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) minmax(95px,120px) minmax(95px,120px)!important;
    gap:12px!important;
    align-items:center!important;
    min-width:0!important;
    width:100%!important;
    overflow:hidden!important;
}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-info,
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta{
    min-width:0!important;
    overflow:hidden!important;
}
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row > .edupro-student-materials-btn{
    grid-column:2!important;
    justify-self:end!important;
    position:static!important;
    width:118px!important;
    min-width:118px!important;
    max-width:118px!important;
    margin:0!important;
    z-index:1!important;
}
@media(max-width:1280px){
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-link{
        grid-template-columns:48px minmax(0,1fr) minmax(90px,115px)!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta:nth-of-type(n+2){display:none!important;}
}
@media(max-width:900px){
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row{
        grid-template-columns:1fr!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-link{
        grid-template-columns:44px minmax(0,1fr)!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta{display:none!important;}
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row > .edupro-student-materials-btn{
        grid-column:1!important;justify-self:start!important;width:auto!important;min-width:112px!important;
    }
}

/* EduPro 28/05 final fix: bottom question nav native dropdown + smooth bar */
.edupro-student-homework-form .edupro-student-question-bottom-nav,
.edupro-bank-preview-shell .edupro-student-question-bottom-nav,
.edupro-student-homework-detail-card .edupro-student-question-bottom-nav{
    position:fixed!important;
    left:var(--edupro-bottom-nav-left, 24px)!important;
    right:var(--edupro-bottom-nav-right, 24px)!important;
    bottom:var(--edupro-bottom-nav-bottom, 14px)!important;
    width:auto!important;
    height:64px!important;
    min-height:64px!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    padding:10px 14px!important;
    background:#fff!important;
    border:1px solid #dbe5f3!important;
    border-radius:18px!important;
    box-shadow:0 16px 42px rgba(15,23,42,.14)!important;
    z-index:999999!important;
    overflow:visible!important;
}
.swal2-popup .edupro-student-question-bottom-nav,
#edupro-session-modal .edupro-student-question-bottom-nav,
.edupro-modal .edupro-student-question-bottom-nav{
    left:calc(var(--edupro-modal-left, 4vw) + 28px)!important;
    right:calc(var(--edupro-modal-right, 4vw) + 28px)!important;
    bottom:calc(var(--edupro-modal-bottom, 12px) + 6px)!important;
}
.edupro-student-question-bottom-picker{
    position:relative!important;
    flex:0 0 330px!important;
    width:330px!important;
    min-width:260px!important;
    max-width:min(42vw, 360px)!important;
    height:46px!important;
    z-index:1000001!important;
}
.edupro-student-question-bottom-select{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:46px!important;
    opacity:0!important;
    z-index:3!important;
    cursor:pointer!important;
    appearance:auto!important;
    -webkit-appearance:menulist!important;
}
.edupro-student-question-bottom-part{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:0 18px!important;
    border:1px solid #cfd9e8!important;
    border-radius:14px!important;
    background:#f5f7fb!important;
    color:#34445d!important;
    font-size:18px!important;
    font-weight:900!important;
    line-height:1!important;
    box-shadow:inset 0 -2px 0 rgba(15,23,42,.06)!important;
    pointer-events:none!important;
    white-space:nowrap!important;
}
.edupro-student-question-bottom-part span{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.edupro-student-question-bottom-part em{font-size:.82em!important;color:#64748b!important;font-weight:900!important;font-style:normal!important;}
.edupro-student-question-bottom-part i{font-size:18px!important;color:#64748b!important;font-style:normal!important;line-height:1!important;}
.edupro-student-question-bottom-dropdown{display:none!important;}
.edupro-student-question-bottom-number-wrap{
    flex:1 1 auto!important;
    min-width:0!important;
    height:46px!important;
    display:flex!important;
    align-items:center!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:8px!important;
    scrollbar-width:thin!important;
}
.edupro-student-question-bottom-group{height:46px!important;display:none!important;align-items:center!important;min-width:max-content!important;}
.edupro-student-question-bottom-group.is-active{display:flex!important;}
.edupro-student-question-bottom-numbers{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important;}
.edupro-student-question-bottom-number{
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #cfd9e8!important;
    border-radius:14px!important;
    background:#f5f7fb!important;
    color:#334155!important;
    font-size:18px!important;
    font-weight:900!important;
    box-shadow:inset 0 -2px 0 rgba(15,23,42,.06)!important;
    cursor:pointer!important;
}
.edupro-student-question-bottom-number:hover,
.edupro-student-question-bottom-number.is-active{background:#09acd8!important;border-color:#09acd8!important;color:#fff!important;}
.edupro-student-question-bottom-number.is-answered{background:#e9fff4!important;border-color:#b7f7d4!important;color:#059669!important;}
.edupro-student-question-bottom-number.is-answered:hover,
.edupro-student-question-bottom-number.is-answered.is-active{background:#10b981!important;border-color:#10b981!important;color:#fff!important;}
.edupro-student-homework-form,
.edupro-student-homework-detail-card,
.edupro-bank-preview-shell{padding-bottom:110px!important;}
.edupro-student-homework-form .edupro-student-skill-workspace,
.edupro-student-homework-detail-card .edupro-student-skill-workspace,
.edupro-bank-preview-shell .edupro-student-skill-workspace{margin-bottom:104px!important;}
@media(max-width:768px){
    .edupro-student-homework-form .edupro-student-question-bottom-nav,
    .edupro-bank-preview-shell .edupro-student-question-bottom-nav,
    .edupro-student-homework-detail-card .edupro-student-question-bottom-nav{left:8px!important;right:8px!important;bottom:8px!important;height:auto!important;min-height:58px!important;padding:8px!important;gap:8px!important;border-radius:14px!important;}
    .edupro-student-question-bottom-picker{flex-basis:190px!important;width:190px!important;min-width:160px!important;height:42px!important;}
    .edupro-student-question-bottom-select,.edupro-student-question-bottom-part{height:42px!important;font-size:13px!important;border-radius:12px!important;padding:0 12px!important;}
    .edupro-student-question-bottom-number-wrap,.edupro-student-question-bottom-group{height:42px!important;}
    .edupro-student-question-bottom-number{width:40px!important;min-width:40px!important;height:40px!important;font-size:15px!important;border-radius:12px!important;}
}

/* EduPro 28/05 final fix: material rows never let buttons cover size/meta */
.edupro-material-folder-row,
.edupro-student-materials-file-row,
.edupro-teacher-material-row,
.edupro-admin-material-row,
.edupro-material-file-row{
    min-height:76px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:16px!important;
    overflow:visible!important;
}
.edupro-material-folder-row .edupro-material-card-link,
.edupro-student-materials-file-row .edupro-material-card-link,
.edupro-teacher-material-row .edupro-material-card-link,
.edupro-admin-material-row .edupro-material-card-link,
.edupro-material-file-row .edupro-material-card-link{
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    overflow:hidden!important;
}
.edupro-material-folder-row .edupro-material-card-info,
.edupro-material-folder-row .edupro-material-folder-meta,
.edupro-material-folder-row .edupro-material-card-title,
.edupro-material-folder-row .edupro-material-card-size,
.edupro-student-materials-file-row .edupro-material-card-info,
.edupro-student-materials-file-row .edupro-material-folder-meta,
.edupro-teacher-material-row .edupro-material-card-info,
.edupro-admin-material-row .edupro-material-card-info,
.edupro-material-file-row .edupro-material-card-info{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.edupro-material-folder-row .edupro-student-materials-btn,
.edupro-material-folder-row .edupro-material-actions,
.edupro-material-folder-row .edupro-material-btn,
.edupro-student-materials-file-row .edupro-student-materials-btn,
.edupro-teacher-material-row .edupro-material-actions,
.edupro-admin-material-row .edupro-material-actions,
.edupro-material-file-row .edupro-material-actions{
    position:static!important;
    grid-column:2!important;
    justify-self:end!important;
    flex:0 0 auto!important;
    white-space:nowrap!important;
    max-width:none!important;
    z-index:1!important;
}
@media(max-width:900px){
    .edupro-material-folder-row,
    .edupro-student-materials-file-row,
    .edupro-teacher-material-row,
    .edupro-admin-material-row,
    .edupro-material-file-row{grid-template-columns:1fr!important;}
    .edupro-material-folder-row .edupro-material-card-link,
    .edupro-student-materials-file-row .edupro-material-card-link,
    .edupro-teacher-material-row .edupro-material-card-link,
    .edupro-admin-material-row .edupro-material-card-link,
    .edupro-material-file-row .edupro-material-card-link{grid-template-columns:44px minmax(0,1fr)!important;}
    .edupro-material-folder-row .edupro-material-actions,
    .edupro-material-folder-row .edupro-student-materials-btn,
    .edupro-student-materials-file-row .edupro-student-materials-btn,
    .edupro-teacher-material-row .edupro-material-actions,
    .edupro-admin-material-row .edupro-material-actions,
    .edupro-material-file-row .edupro-material-actions{grid-column:1!important;justify-self:start!important;}
}


/* EduPro 28/05 urgent fix: dropdown part dưới cùng phải bấm xổ được + thanh đẹp lại */
.edupro-student-homework-form .edupro-student-question-bottom-nav,
.edupro-bank-preview-shell .edupro-student-question-bottom-nav,
.edupro-student-homework-detail-card .edupro-student-question-bottom-nav{
    position:fixed!important;
    left:var(--edupro-bottom-nav-left, 22px)!important;
    right:var(--edupro-bottom-nav-right, 22px)!important;
    bottom:var(--edupro-bottom-nav-bottom, 14px)!important;
    height:auto!important;
    min-height:64px!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    padding:10px 14px!important;
    background:#ffffff!important;
    border:1px solid #d7e2f0!important;
    border-radius:18px!important;
    box-shadow:0 14px 38px rgba(15,23,42,.16)!important;
    z-index:2147483000!important;
    overflow:visible!important;
}
.edupro-student-question-bottom-picker{
    position:relative!important;
    flex:0 0 330px!important;
    width:330px!important;
    max-width:min(42vw, 360px)!important;
    height:46px!important;
    z-index:2147483002!important;
    overflow:visible!important;
}
.edupro-student-question-bottom-select{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:46px!important;
    opacity:0!important;
    pointer-events:none!important;
    z-index:1!important;
}
.edupro-student-question-bottom-part,
.edupro-bank-preview-shell .edupro-student-question-bottom-part,
.edupro-student-homework-form .edupro-student-question-bottom-part,
.edupro-student-homework-detail-card .edupro-student-question-bottom-part{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:46px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:0 18px!important;
    border:1px solid #cfd9e8!important;
    border-radius:14px!important;
    background:#f5f7fb!important;
    color:#34445d!important;
    font-size:18px!important;
    font-weight:900!important;
    line-height:1!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    box-shadow:inset 0 -2px 0 rgba(15,23,42,.06)!important;
    white-space:nowrap!important;
}
.edupro-student-question-bottom-part:disabled{opacity:1!important;cursor:pointer!important;}
.edupro-student-question-bottom-part span{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.edupro-student-question-bottom-part i{font-style:normal!important;font-size:18px!important;color:#64748b!important;line-height:1!important;transition:transform .18s ease!important;}
.edupro-student-question-bottom-picker.is-open .edupro-student-question-bottom-part i{transform:rotate(180deg)!important;}
.edupro-student-question-bottom-dropdown,
.edupro-student-homework-form .edupro-student-question-bottom-dropdown,
.edupro-bank-preview-shell .edupro-student-question-bottom-dropdown,
.edupro-student-homework-detail-card .edupro-student-question-bottom-dropdown{
    display:none!important;
    position:fixed!important;
    left:var(--edupro-part-dd-left, 22px)!important;
    bottom:var(--edupro-part-dd-bottom, 86px)!important;
    top:auto!important;
    width:330px!important;
    max-width:calc(100vw - 32px)!important;
    max-height:300px!important;
    overflow:auto!important;
    background:#fff!important;
    border:1px solid #dbe5f3!important;
    border-radius:16px!important;
    box-shadow:0 22px 60px rgba(15,23,42,.24)!important;
    padding:8px!important;
    z-index:2147483004!important;
}
.edupro-student-question-bottom-picker.is-open .edupro-student-question-bottom-dropdown,
.edupro-student-homework-form .edupro-student-question-bottom-picker.is-open .edupro-student-question-bottom-dropdown,
.edupro-bank-preview-shell .edupro-student-question-bottom-picker.is-open .edupro-student-question-bottom-dropdown,
.edupro-student-homework-detail-card .edupro-student-question-bottom-picker.is-open .edupro-student-question-bottom-dropdown{
    display:block!important;
}
.edupro-student-question-bottom-option,
.edupro-bank-preview-shell .edupro-student-question-bottom-option{
    width:100%!important;
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:10px 12px!important;
    border:0!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#1f2a44!important;
    font-weight:900!important;
    cursor:pointer!important;
    text-align:left!important;
    pointer-events:auto!important;
}
.edupro-student-question-bottom-option:hover,
.edupro-student-question-bottom-option.is-active{background:#eff6ff!important;color:#08aee0!important;}
.edupro-student-question-bottom-number-wrap{height:46px!important;display:flex!important;align-items:center!important;overflow-x:auto!important;overflow-y:hidden!important;gap:8px!important;}
.edupro-student-question-bottom-number{pointer-events:auto!important;}
.edupro-student-homework-form,
.edupro-student-homework-detail-card,
.edupro-bank-preview-shell{padding-bottom:118px!important;}
.edupro-student-homework-form .edupro-student-skill-workspace,
.edupro-student-homework-detail-card .edupro-student-skill-workspace,
.edupro-bank-preview-shell .edupro-student-skill-workspace{margin-bottom:112px!important;}
@media(max-width:768px){
    .edupro-student-question-bottom-picker{flex-basis:190px!important;width:190px!important;min-width:170px!important;}
    .edupro-student-question-bottom-part{font-size:13px!important;padding:0 12px!important;}
    .edupro-student-question-bottom-dropdown{width:240px!important;}
}

/* EduPro 28/05 fix: gom nút Hủy/Nộp bài vào cùng thanh danh sách câu hỏi */
.edupro-student-homework-form .edupro-student-question-bottom-nav{
    padding-right:280px!important;
}
.edupro-student-homework-form .edupro-student-homework-submit-bar{
    position:fixed!important;
    right:calc(var(--edupro-modal-right, 0px) + 52px)!important;
    bottom:calc(var(--edupro-modal-bottom, 10px) + 16px)!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:12px!important;
    z-index:2147483005!important;
}
.edupro-student-homework-form .edupro-student-homework-cancel,
.edupro-student-homework-form .edupro-student-homework-submit-btn{
    min-height:46px!important;
    height:46px!important;
    padding:0 22px!important;
    border-radius:14px!important;
    white-space:nowrap!important;
}
.edupro-student-homework-form .edupro-student-skill-workspace,
.edupro-student-homework-detail-card .edupro-student-skill-workspace,
.edupro-bank-preview-shell .edupro-student-skill-workspace{
    margin-bottom:72px!important;
}
.edupro-student-homework-form,
.edupro-student-homework-detail-card,
.edupro-bank-preview-shell{
    padding-bottom:20px!important;
}
@media(max-width:900px){
    .edupro-student-homework-form .edupro-student-question-bottom-nav{
        padding-right:12px!important;
        flex-wrap:wrap!important;
    }
    .edupro-student-homework-form .edupro-student-homework-submit-bar{
        position:static!important;
        width:100%!important;
        padding:8px 0 0!important;
        justify-content:flex-end!important;
        order:5!important;
    }
}

/* EduPro 28/05 fix: tài liệu - nút chỉnh sửa/xóa chỉ hiện khi hover và nằm chung hàng dưới */
.edupro-material-card.edupro-material-folder-row,
.edupro-material-folder-row.edupro-student-materials-file-row,
.edupro-material-file-row,
.edupro-teacher-material-row,
.edupro-admin-material-row{
    position:relative!important;
    padding-bottom:52px!important;
}
.edupro-material-folder-row .edupro-material-card-link,
.edupro-student-materials-file-row .edupro-material-card-link,
.edupro-material-file-row .edupro-material-card-link,
.edupro-teacher-material-row .edupro-material-card-link,
.edupro-admin-material-row .edupro-material-card-link{
    padding-right:170px!important;
}
.edupro-material-folder-row .edupro-material-edit,
.edupro-material-folder-row .edupro-material-delete,
.edupro-material-file-row .edupro-material-edit,
.edupro-material-file-row .edupro-material-delete,
.edupro-teacher-material-row .edupro-material-edit,
.edupro-teacher-material-row .edupro-material-delete,
.edupro-admin-material-row .edupro-material-edit,
.edupro-admin-material-row .edupro-material-delete{
    position:absolute!important;
    top:auto!important;
    right:auto!important;
    bottom:14px!important;
    transform:none!important;
    z-index:20!important;
    margin:0!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
}
.edupro-material-folder-row .edupro-material-delete,
.edupro-material-file-row .edupro-material-delete,
.edupro-teacher-material-row .edupro-material-delete,
.edupro-admin-material-row .edupro-material-delete{
    left:22px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    padding:0!important;
    border-radius:12px!important;
}
.edupro-material-folder-row .edupro-material-edit,
.edupro-material-file-row .edupro-material-edit,
.edupro-teacher-material-row .edupro-material-edit,
.edupro-admin-material-row .edupro-material-edit{
    left:72px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 18px!important;
    border-radius:12px!important;
}
.edupro-material-card:hover .edupro-material-edit,
.edupro-material-card:hover .edupro-material-delete,
.edupro-material-folder-row:hover .edupro-material-edit,
.edupro-material-folder-row:hover .edupro-material-delete,
.edupro-material-file-row:hover .edupro-material-edit,
.edupro-material-file-row:hover .edupro-material-delete,
.edupro-teacher-material-row:hover .edupro-material-edit,
.edupro-teacher-material-row:hover .edupro-material-delete,
.edupro-admin-material-row:hover .edupro-material-edit,
.edupro-admin-material-row:hover .edupro-material-delete{
    display:inline-flex!important;
}
@media(max-width:900px){
    .edupro-material-card.edupro-material-folder-row,
    .edupro-material-folder-row.edupro-student-materials-file-row,
    .edupro-material-file-row,
    .edupro-teacher-material-row,
    .edupro-admin-material-row{padding-bottom:62px!important;}
    .edupro-material-folder-row .edupro-material-card-link,
    .edupro-student-materials-file-row .edupro-material-card-link,
    .edupro-material-file-row .edupro-material-card-link,
    .edupro-teacher-material-row .edupro-material-card-link,
    .edupro-admin-material-row .edupro-material-card-link{padding-right:16px!important;}
}

/* =========================================================
   EduPro v31 - FIX RIÊNG kho tài liệu bên HỌC VIÊN
   Chặn CSS kho tài liệu giáo viên/admin làm vỡ chiều cao file row
========================================================= */
.edupro-student-materials-page,
.edupro-student-materials-page *{
    box-sizing:border-box!important;
}

.edupro-student-materials-page .edupro-student-materials-folder-list{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
}

.edupro-student-materials-page .edupro-student-materials-folder-group{
    display:block!important;
    padding:0!important;
    border:1px solid #dbe6f6!important;
    border-radius:22px!important;
    background:#fff!important;
    overflow:hidden!important;
    box-shadow:0 12px 30px rgba(15,23,42,.045)!important;
}

.edupro-student-materials-page .edupro-student-materials-folder-group:before,
.edupro-student-materials-page .edupro-student-materials-folder-group:after{
    display:none!important;
    content:none!important;
}

.edupro-student-materials-page .edupro-student-materials-folder-head{
    width:100%!important;
    min-height:72px!important;
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) auto auto!important;
    align-items:center!important;
    gap:14px!important;
    padding:16px 18px!important;
    border:0!important;
    border-radius:0!important;
    background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%)!important;
    color:#0f172a!important;
    cursor:pointer!important;
    text-align:left!important;
}

.edupro-student-materials-page .edupro-student-materials-folder-head .edupro-folder-icon{
    width:48px!important;
    height:48px!important;
    border-radius:16px!important;
    background:#f1f5ff!important;
    color:#5b4df5!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}

.edupro-student-materials-page .edupro-student-materials-folder-head .edupro-folder-title strong{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    color:#0f172a!important;
    font-size:17px!important;
    line-height:1.25!important;
    font-weight:800!important;
}

.edupro-student-materials-page .edupro-student-materials-folder-head .edupro-folder-title small{
    display:none!important;
}

.edupro-student-materials-page .edupro-student-materials-folder-head em{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:34px!important;
    padding:0 14px!important;
    border-radius:999px!important;
    background:#eef2ff!important;
    color:#5b4df5!important;
    font-style:normal!important;
    font-size:13px!important;
    font-weight:800!important;
    white-space:nowrap!important;
}

.edupro-student-materials-page .edupro-student-materials-folder-head .edupro-folder-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:76px!important;
    height:34px!important;
    padding:0 14px!important;
    border:1px solid #cfd7ff!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#5b4df5!important;
    font-size:13px!important;
    font-weight:800!important;
    box-shadow:none!important;
}

.edupro-student-materials-page .edupro-student-materials-folder-head .edupro-folder-arrow{
    display:none!important;
}

.edupro-student-materials-page .edupro-student-materials-folder-body{
    display:none!important;
    padding:14px!important;
    border-top:1px solid #e4ebf7!important;
    background:#f7faff!important;
}

.edupro-student-materials-page .edupro-student-materials-folder-group.is-open > .edupro-student-materials-folder-body,
.edupro-student-materials-page .edupro-student-materials-loose-group > .edupro-student-materials-folder-body{
    display:block!important;
}

.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:16px!important;
    row-gap:10px!important;
    min-height:0!important;
    height:auto!important;
    margin:0 0 12px!important;
    padding:14px!important;
    border:1px solid #dce7f5!important;
    border-radius:18px!important;
    background:#fff!important;
    overflow:hidden!important;
    box-shadow:0 8px 20px rgba(15,23,42,.035)!important;
    transform:none!important;
}

.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row:last-child{
    margin-bottom:0!important;
}

.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row:before,
.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row:after{
    display:none!important;
    content:none!important;
}

.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-link{
    grid-column:auto!important;
    display:grid!important;
    grid-template-columns:54px minmax(220px,1fr) minmax(112px,.32fr) minmax(112px,.32fr) minmax(110px,.28fr)!important;
    align-items:center!important;
    gap:14px!important;
    width:100%!important;
    min-width:0!important;
    min-height:58px!important;
    padding:0!important;
    padding-right:0!important;
    color:inherit!important;
    text-decoration:none!important;
}

.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-icon{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    border-radius:16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#eef2ff!important;
    color:#5b4df5!important;
    font-size:18px!important;
    line-height:1!important;
    font-weight:800!important;
    white-space:nowrap!important;
    overflow:hidden!important;
}

.edupro-student-materials-page .edupro-material-card-icon.pdf{background:#fff1f2!important;color:#ef4444!important;font-size:13px!important;}
.edupro-student-materials-page .edupro-material-card-icon.word,
.edupro-student-materials-page .edupro-material-card-icon.excel{background:#eff6ff!important;color:#2563eb!important;}
.edupro-student-materials-page .edupro-material-card-icon.powerpoint{background:#fff7ed!important;color:#f97316!important;}
.edupro-student-materials-page .edupro-material-card-icon.audio{background:#f5f3ff!important;color:#6d28d9!important;}
.edupro-student-materials-page .edupro-material-card-icon.video{background:#fdf2f8!important;color:#db2777!important;}

.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-info{
    min-width:0!important;
}

.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-info h3{
    display:block!important;
    max-width:100%!important;
    margin:0 0 5px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    color:#0f172a!important;
    font-size:16px!important;
    line-height:1.25!important;
    font-weight:800!important;
}

.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-info p{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:4px 8px!important;
    margin:0!important;
    color:#64748b!important;
    font-size:13px!important;
    line-height:1.35!important;
    font-weight:500!important;
}

.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-info p span{
    display:inline!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
}

.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-info p span:not(:last-child)::after{
    content:'•';
    margin-left:8px;
    color:#94a3b8;
}

.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta{
    min-width:0!important;
    text-align:left!important;
    align-self:center!important;
    margin:0!important;
}

.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta strong{
    display:block!important;
    max-width:100%!important;
    margin:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    color:#18243a!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:800!important;
}

.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta span{
    display:block!important;
    margin:3px 0 0!important;
    color:#64748b!important;
    font-size:12px!important;
    line-height:1.2!important;
    font-weight:500!important;
    white-space:nowrap!important;
}

.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row > .edupro-student-materials-btn{
    position:static!important;
    grid-column:auto!important;
    justify-self:end!important;
    align-self:center!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:118px!important;
    max-width:none!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 20px!important;
    border:0!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,#6b5cff 0%,#4f46e5 100%)!important;
    color:#fff!important;
    text-decoration:none!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:800!important;
    white-space:nowrap!important;
    box-shadow:0 12px 24px rgba(79,70,229,.22)!important;
    transform:none!important;
}

.edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row > .edupro-student-materials-btn:hover{
    transform:translateY(-1px)!important;
    background:linear-gradient(135deg,#5b4df5 0%,#4338ca 100%)!important;
    color:#fff!important;
}

@media(max-width:1280px){
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-link{
        grid-template-columns:54px minmax(0,1fr) minmax(105px,.32fr) minmax(105px,.32fr)!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta:last-of-type{
        display:none!important;
    }
}

@media(max-width:920px){
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row{
        grid-template-columns:1fr!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-link{
        grid-template-columns:54px minmax(0,1fr)!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta{
        display:none!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row > .edupro-student-materials-btn{
        justify-self:start!important;
    }
}

@media(max-width:640px){
    .edupro-student-materials-page .edupro-student-materials-folder-head{
        grid-template-columns:44px minmax(0,1fr) auto!important;
        gap:10px!important;
        padding:14px!important;
    }
    .edupro-student-materials-page .edupro-student-materials-folder-head em{
        display:none!important;
    }
    .edupro-student-materials-page .edupro-student-materials-folder-head .edupro-folder-toggle{
        min-width:62px!important;
        padding:0 10px!important;
    }
    .edupro-student-materials-page .edupro-student-materials-folder-body{
        padding:10px!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row{
        padding:12px!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-icon{
        width:46px!important;
        height:46px!important;
        min-width:46px!important;
    }
    .edupro-student-materials-page .edupro-material-folder-row.edupro-student-materials-file-row > .edupro-student-materials-btn{
        width:100%!important;
    }
}

/* =========================================================
   Review media đồng bộ: hiển thị hình/link ở trang học viên
========================================================= */
.edupro-student-review-drive-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:12px;
    min-height:42px;
    padding:0 16px;
    border-radius:999px;
    background:#eef2ff;
    color:#4f46e5;
    font-weight:900;
    text-decoration:none;
}
.edupro-student-review-drive-link:hover{
    color:#4338ca;
    background:#e0e7ff;
}
.edupro-student-review-session-image{
    margin-top:14px;
}
.edupro-student-review-session-image img{
    display:block;
    max-width:360px;
    width:100%;
    border-radius:16px;
    border:1px solid #e2e8f0;
    box-shadow:0 10px 25px rgba(15,23,42,.08);
}

/* =========================================================
   FIX V5: Kho tài liệu học viên - ép các cột và nút cùng 1 hàng
========================================================= */
.edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 132px!important;
    align-items:center!important;
    column-gap:18px!important;
    row-gap:0!important;
    min-height:96px!important;
    height:auto!important;
    padding:16px 18px!important;
    overflow:hidden!important;
}

.edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row > .edupro-material-card-link{
    display:grid!important;
    grid-template-columns:56px minmax(260px,1fr) minmax(120px,.35fr) minmax(110px,.32fr) minmax(105px,.32fr)!important;
    align-items:center!important;
    gap:16px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:64px!important;
    height:auto!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
}

.edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row > .edupro-student-materials-btn{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:132px!important;
    min-width:132px!important;
    max-width:132px!important;
    height:44px!important;
    min-height:44px!important;
    line-height:1!important;
    margin:0!important;
    padding:0 18px!important;
    white-space:nowrap!important;
    position:static!important;
    transform:none!important;
}

.edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-icon,
.edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-info,
.edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta{
    align-self:center!important;
    margin-top:0!important;
    margin-bottom:0!important;
}

.edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-info{
    min-width:0!important;
    overflow:hidden!important;
}

.edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-info h3{
    margin:0 0 4px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

.edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-card-info p{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    margin:0!important;
    line-height:1.35!important;
}

.edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta{
    min-width:0!important;
    text-align:left!important;
}

.edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta strong,
.edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta span{
    display:block!important;
    margin:0!important;
    line-height:1.25!important;
}

@media(max-width:1180px){
    .edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row > .edupro-material-card-link{
        grid-template-columns:56px minmax(220px,1fr) minmax(105px,.35fr) minmax(100px,.32fr)!important;
    }
    .edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta:last-of-type{
        display:none!important;
    }
}

@media(max-width:860px){
    .edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row{
        grid-template-columns:1fr!important;
        gap:12px!important;
    }
    .edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row > .edupro-material-card-link{
        grid-template-columns:56px minmax(0,1fr)!important;
    }
    .edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row .edupro-material-folder-meta{
        display:none!important;
    }
    .edupro-student-materials-page .edupro-folder-body .edupro-material-card.edupro-material-folder-row.edupro-student-materials-file-row > .edupro-student-materials-btn{
        grid-column:1!important;
        grid-row:2!important;
        justify-self:start!important;
        width:auto!important;
        min-width:132px!important;
    }
}

/* =====================================================
   EduPro fix 04/06/2026: Language Focus full-width questions
   - Xem bài tập và làm bài tập: Language Focus không có cột nội dung bên trái.
   - Listening/Reading/Writing vẫn giữ layout 2 cột như cũ.
===================================================== */
.edupro-student-homework-detail-card .edupro-student-skill-panel-language-focus .edupro-student-skill-workspace,
.edupro-bank-preview-shell .edupro-student-skill-panel-language-focus .edupro-student-skill-workspace,
.edupro-bank-student-preview .edupro-student-skill-panel-language-focus .edupro-student-skill-workspace{
    display:grid!important;
    grid-template-columns:minmax(0, 1fr)!important;
    gap:0!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-panel-language-focus .edupro-student-skill-passage-box,
.edupro-bank-preview-shell .edupro-student-skill-panel-language-focus .edupro-student-skill-passage-box,
.edupro-bank-student-preview .edupro-student-skill-panel-language-focus .edupro-student-skill-passage-box{
    display:none!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-panel-language-focus .edupro-student-skill-question-area,
.edupro-bank-preview-shell .edupro-student-skill-panel-language-focus .edupro-student-skill-question-area,
.edupro-bank-student-preview .edupro-student-skill-panel-language-focus .edupro-student-skill-question-area,
.edupro-student-homework-detail-card .edupro-student-skill-panel-language-focus .edupro-student-part-question-list,
.edupro-bank-preview-shell .edupro-student-skill-panel-language-focus .edupro-student-part-question-list,
.edupro-bank-student-preview .edupro-student-skill-panel-language-focus .edupro-student-part-question-list{
    width:100%!important;
    max-width:none!important;
}


/* EduPro update: fill-answer inputs auto-width by configured answer length */
.edupro-fill-answer-auto-width{
    width:min(max(var(--edupro-blank-ch, 18ch), 96px), 100%)!important;
    max-width:100%;
}
.edupro-student-blank-row .edupro-fill-answer-auto-width{
    flex:0 1 auto;
}

/* EduPro update: Writing 2 behaves like Language Focus - questions full width */
.edupro-student-homework-detail-card .edupro-student-skill-panel-writing-2 .edupro-student-skill-workspace,
.edupro-bank-preview-shell .edupro-student-skill-panel-writing-2 .edupro-student-skill-workspace,
.edupro-bank-student-preview .edupro-student-skill-panel-writing-2 .edupro-student-skill-workspace{
    display:grid!important;
    grid-template-columns:minmax(0, 1fr)!important;
    gap:0!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-panel-writing-2 .edupro-student-skill-passage-box,
.edupro-bank-preview-shell .edupro-student-skill-panel-writing-2 .edupro-student-skill-passage-box,
.edupro-bank-student-preview .edupro-student-skill-panel-writing-2 .edupro-student-skill-passage-box{
    display:none!important;
}
.edupro-student-homework-detail-card .edupro-student-skill-panel-writing-2 .edupro-student-skill-question-area,
.edupro-bank-preview-shell .edupro-student-skill-panel-writing-2 .edupro-student-skill-question-area,
.edupro-bank-student-preview .edupro-student-skill-panel-writing-2 .edupro-student-skill-question-area,
.edupro-student-homework-detail-card .edupro-student-skill-panel-writing-2 .edupro-student-part-question-list,
.edupro-bank-preview-shell .edupro-student-skill-panel-writing-2 .edupro-student-part-question-list,
.edupro-bank-student-preview .edupro-student-skill-panel-writing-2 .edupro-student-part-question-list{
    width:100%!important;
    max-width:none!important;
}
.edupro-student-skill-section-writing-2{
    background:linear-gradient(135deg,#fff7ed,#fffbeb)!important;
}
.edupro-student-skill-section-writing-2 .edupro-student-skill-section-icon,
.edupro-student-question-skill-writing-2{
    background:#fff7ed!important;
    color:#c2410c!important;
}


/* EduPro v5: fill-answer inputs follow answer length, no forced min-width */
.edupro-inline-blank-content-fill .edupro-inline-blank-input,
.edupro-fill-answer-auto-width{
    width:min(max(calc(var(--edupro-blank-ch, 8ch) + 2ch), 34px), 100%)!important;
    min-width:0!important;
    max-width:100%!important;
}
.edupro-student-blank-row .edupro-fill-answer-auto-width{
    width:min(max(calc(var(--edupro-blank-ch, 8ch) + 2ch), 34px), 100%)!important;
    min-width:0!important;
    justify-self:start;
}
.edupro-student-materials-child-folder{
    margin:10px 0 0 0;
}
.edupro-student-materials-child-folder-head{
    width:100%;
    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid #dbeafe;
    background:#f8fbff;
    border-radius:16px;
    padding:12px 14px;
    color:#0f172a;
    font-weight:900;
    cursor:pointer;
}
.edupro-student-materials-child-folder-head em{
    margin-left:auto;
    font-style:normal;
    color:#64748b;
    font-size:13px;
}
.edupro-student-materials-child-folder-body{
    padding:10px 0 0 14px;
    border-left:2px dashed #dbeafe;
    margin-left:12px;
}

/* EduPro v6: chỉ input điền từ co theo độ dài đáp án, không ép min-width lớn */
.edupro-inline-blank-content-fill .edupro-inline-blank-input,
.edupro-student-blank-row .edupro-fill-answer-auto-width{
    width:min(max(calc(var(--edupro-blank-ch, 8ch) + 2ch), 34px), 100%)!important;
    min-width:0!important;
    max-width:100%!important;
    padding-left:10px!important;
    padding-right:10px!important;
}

/* EduPro v9: sửa lỗi folder con trong kho tài liệu học viên không mở được */
.edupro-student-materials-page .edupro-student-materials-child-folder-body,
.edupro-student-materials-page .edupro-unit-folder-body{
    display:none!important;
}
.edupro-student-materials-page .edupro-student-materials-child-folder.is-open > .edupro-student-materials-child-folder-body,
.edupro-student-materials-page .edupro-unit-folder-group.is-open > .edupro-unit-folder-body{
    display:block!important;
}
.edupro-student-materials-page .edupro-student-materials-child-folder-head{
    text-align:left!important;
}
.edupro-student-materials-page .edupro-student-materials-child-folder-head strong{
    flex:1 1 auto!important;
    min-width:0!important;
    text-align:left!important;
}

/* EduPro v19 - Đồng bộ dropdown chọn Part bên học viên giống màn review GV */
.edupro-student-question-bottom-picker,
.edupro-student-homework-form .edupro-student-question-bottom-picker,
.edupro-student-homework-detail-card .edupro-student-question-bottom-picker,
.edupro-bank-preview-shell .edupro-student-question-bottom-picker{
    flex:0 0 330px!important;
    width:330px!important;
    max-width:min(42vw, 330px)!important;
    min-width:260px!important;
}
.edupro-student-question-bottom-part,
.edupro-student-homework-form .edupro-student-question-bottom-part,
.edupro-student-homework-detail-card .edupro-student-question-bottom-part,
.edupro-bank-preview-shell .edupro-student-question-bottom-part{
    width:100%!important;
    min-width:0!important;
    max-width:330px!important;
}
.edupro-student-question-bottom-part span,
.edupro-student-homework-form .edupro-student-question-bottom-part span,
.edupro-student-homework-detail-card .edupro-student-question-bottom-part span,
.edupro-bank-preview-shell .edupro-student-question-bottom-part span{
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.edupro-student-question-bottom-select,
.edupro-student-homework-form .edupro-student-question-bottom-select,
.edupro-student-homework-detail-card .edupro-student-question-bottom-select,
.edupro-bank-preview-shell .edupro-student-question-bottom-select{
    pointer-events:none!important;
    opacity:0!important;
}
.edupro-student-question-bottom-dropdown,
.edupro-student-homework-form .edupro-student-question-bottom-dropdown,
.edupro-student-homework-detail-card .edupro-student-question-bottom-dropdown,
.edupro-bank-preview-shell .edupro-student-question-bottom-dropdown{
    width:330px!important;
    max-width:calc(100vw - 32px)!important;
}
.edupro-student-question-bottom-option strong{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
@media(max-width:768px){
    .edupro-student-question-bottom-picker,
    .edupro-student-homework-form .edupro-student-question-bottom-picker,
    .edupro-student-homework-detail-card .edupro-student-question-bottom-picker,
    .edupro-bank-preview-shell .edupro-student-question-bottom-picker{
        flex-basis:210px!important;
        width:210px!important;
        min-width:180px!important;
        max-width:52vw!important;
    }
    .edupro-student-question-bottom-dropdown,
    .edupro-student-homework-form .edupro-student-question-bottom-dropdown,
    .edupro-student-homework-detail-card .edupro-student-question-bottom-dropdown,
    .edupro-bank-preview-shell .edupro-student-question-bottom-dropdown{
        width:240px!important;
    }
}
