/* Instructor packages: compact statistics, aligned filters and inset covers. */
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) { width: 100%; min-width: 0; padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-header { margin-bottom: 26px; gap: 16px; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-title { font-size: 1.5rem; color: var(--awx-design-ink); letter-spacing: -.025em; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-stats { gap: 16px; margin-bottom: 26px; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-stat { min-width: 0; padding: 20px; border-radius: 15px; background: var(--awx-design-surface); border-color: var(--awx-design-line); gap: 16px; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-stat-icon { width: 48px; height: 48px; border-radius: 13px; font-size: 24px; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-stat-icon.blue { background: #edf2ff; color: var(--awx-primary); }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-stat-val { font-size: 1.5rem; line-height: 1.3; color: var(--awx-design-ink); }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-stat-label { font-size: .8125rem; color: var(--awx-design-muted); }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-toolbar { gap: 12px; margin-bottom: 24px; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-tabs { flex-wrap: wrap; gap: 4px; background: var(--awx-design-soft); max-width: 100%; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-tab { min-height: 38px; padding: 8px 14px; font-size: .8125rem; color: var(--awx-design-muted); }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-tab.on { background: var(--awx-design-surface); color: var(--awx-design-ink); }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-search { flex: 1 1 220px; min-width: 0; max-width: 340px; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-search input { height: 46px; padding-left: 40px; border-radius: 25px; background: var(--awx-design-soft); border-color: var(--awx-design-line); color: var(--awx-design-ink); }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-search i { left: 15px; font-size: 18px; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-select { min-height: 42px; max-width: 100%; background: var(--awx-design-soft); color: var(--awx-design-ink); border-color: var(--awx-design-line); }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-grid { grid-template-columns: repeat(auto-fill,minmax(min(100%,260px),1fr)); gap: 18px; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-card { min-width: 0; padding: 20px; border-radius: 20px; background: var(--awx-design-surface); border-color: var(--awx-design-line); box-shadow: 0 4px 16px rgb(64 81 137 / 5%); }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-card-thumb { height: auto; aspect-ratio: 1.75; border-radius: 11px; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-card-body { padding: 18px 0; gap: 10px; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-card-cat { font-size: .6875rem; color: var(--awx-design-muted); }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-card-title { display: block; overflow: visible; font-size: 1.0625rem; line-height: 1.4; color: var(--awx-design-ink); overflow-wrap: anywhere; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-card-meta { color: var(--awx-design-muted); font-size: .8125rem; padding-top: 4px; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-card-footer { padding: 0; border: 0; flex-wrap: wrap; gap: 8px; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) :is(.ic-actions .btn-primary,.ic-empty .btn-primary,.ia-edit,.ia-view) { background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; --bs-btn-border-radius: 9px; min-height: 38px; box-shadow: 0 3px 9px rgb(64 81 137 / 16%); }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) :is(.ic-actions .btn-primary,.ic-empty .btn-primary,.ia-edit,.ia-view):hover { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; border-color: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-tab:focus-visible { outline: 3px solid #005fcc; outline-offset: 2px; }
@media (max-width: 575px) {
    body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) { padding-inline: 4px; }
    body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-stats { grid-template-columns: 1fr; gap: 10px; }
    body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-stat { padding: 16px; }
    body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-search { flex-basis: 100%; max-width: none; }
    body.awx-app-design :is(.awx-instructor-packages,.awx-instructor-courses) .ic-card { padding: 16px; }
}
/* Courses share the package toolbar, with full-width covers and equal actions. */
body.awx-app-design .awx-instructor-courses .ic-grid { grid-template-columns: repeat(auto-fill,minmax(min(100%,240px),1fr)); gap: 16px; }
body.awx-app-design .awx-instructor-courses .ic-card { padding: 0; border-radius: 18px; }
body.awx-app-design .awx-instructor-courses .ic-card-thumb { border-radius: 0; aspect-ratio: 2.15; }
body.awx-app-design .awx-instructor-courses .ic-card-body { padding: 6px 14px; gap: 3px; }
body.awx-app-design .awx-instructor-courses .ic-card-cat { color: var(--awx-design-ink); }
body.awx-app-design .awx-instructor-courses .ic-card-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; min-height: 2.6em; font-size: .9375rem; line-height: 1.3; }
body.awx-app-design .awx-instructor-courses .ic-card-meta { flex-wrap: wrap; gap: 6px 10px; padding-top: 0; font-size: .75rem; }
body.awx-app-design .awx-instructor-courses .ic-card-footer { padding: 8px 10px; border-top: 1px solid var(--awx-design-line); background: var(--awx-design-soft); }
body.awx-app-design .awx-instructor-courses .ic-card-footer :is(.ia-edit,.ia-view) { flex: 1 1 75px; min-width: 0; }
body.awx-app-design .awx-instructor-courses .ic-card-status { padding: 5px 10px; }
body.awx-app-design .awx-instructor-courses .status-publish { background: #008c7e; }
body.awx-app-design .awx-instructor-courses .ic-stat > div:last-child { min-width: 0; overflow-wrap: anywhere; }

/* Visual shell adapted from the private Lexpraxis design reference.
 * Presentation only: existing navigation, data hooks and handlers are retained.
 * The 1.1 desktop zoom is shared with the existing boxed-theme measurement.
 */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/inter-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/inter-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/inter-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/inter-latin-700-normal.woff2') format('woff2'); }
body.awx-app-design {
    --awx-design-accent: var(--awx-primary, #2458d6);
    --awx-design-bg: var(--awx-content-bg, #e9edf3);
    --awx-design-surface: var(--awx-surface, #fff);
    --awx-design-soft: var(--awx-soft, #f8faff);
    --awx-design-line: var(--awx-line, #e4e9f2);
    --awx-design-ink: var(--awx-text-color, #1f2937);
    --awx-design-muted: var(--awx-muted, #5d6b85);
    --awx-design-rail: calc(250px + 75px * (var(--font-scale) - 1));
    --awx-design-inset: 14px;
    --awx-design-start: calc(var(--awx-design-rail) + 2 * var(--awx-design-inset));
}
/* Do not animate font measurements used by the accessibility text controls. */
body.awx-app-design :is(a, button, input, select, textarea) {
    transition-property: color, background-color, border-color, box-shadow, opacity, transform !important;
}
body.awx-app-design.darkmode-body,
body.awx-app-design [data-bs-theme="dark"],
body.awx-app-design .darkmode-sidebar-menu,
body.awx-app-design .darkmode-header {
    --awx-design-bg: #181e27;
    --awx-design-surface: #242c38;
    --awx-design-soft: #202936;
    --awx-design-line: #3c485b;
    --awx-design-ink: #f1f5f9;
    --awx-design-muted: #bec9da;
}
html:not(.awx-guest) body.awx-app-design {
    background-color: var(--awx-design-bg) !important;
}
html:not(.awx-guest) body.awx-app-design main.main-content-wrap.style-two {
    background-color: var(--awx-design-bg) !important;
}
html:not(.awx-guest) body.awx-app-design .header-content-wrapper {
    border: 1px solid var(--awx-design-line);
    background: var(--awx-design-surface);
    box-shadow: 0 12px 32px rgb(31 54 98 / 7%);
}
html:not(.awx-guest) body.awx-app-design .side-menu-area .sidebar-nav {
    background: var(--awx-design-surface) !important;
}
html:not(.awx-guest) body.awx-app-design .side-menu-area .sidebar-nav #sidebar-menu {
    padding: 12px 10px 90px !important;
    background: var(--awx-design-surface) !important;
}
html:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu > li {
    margin: 0 0 5px !important;
}
html:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu > li > .box-style {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border-radius: 11px !important;
    color: var(--awx-design-muted) !important;
    background: transparent !important;
    font-size: .875rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    gap: 10px;
}
html:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu > li > .box-style:hover,
html:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu > li.mm-active > .box-style {
    color: var(--awx-design-accent) !important;
    background: color-mix(in srgb, var(--awx-design-accent) 10%, var(--awx-design-surface)) !important;
}
html:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu > li.mm-active > .box-style {
    box-shadow: inset 3px 0 0 var(--awx-design-accent) !important;
    font-weight: 700 !important;
}
html:not(.awx-guest) body.awx-app-design .side-menu-area.style-two .metismenu > li > .box-style::before,
html:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu > li > .box-style .icon::before {
    content: none !important;
}
html:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu > li > .box-style .icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    line-height: 1 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
html:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu > li > .box-style .icon img {
    width: 20px !important;
    height: 20px !important;
    object-fit: contain !important;
    filter: none !important;
}
html:not(.awx-guest) body.awx-app-design.darkmode-body .side-menu-area .box-style .icon img,
html:not(.awx-guest) body.awx-app-design .darkmode-sidebar-menu .box-style .icon img {
    filter: brightness(0) invert(1) !important;
}
html:not(.awx-guest) body.awx-app-design .side-menu-area .menu-title {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}
html:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu .has-arrow::after {
    right: 15px !important;
    width: 7px !important;
    height: 7px !important;
    border-width: 0 1.5px 1.5px 0 !important;
}
html:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu > li > ul > li > a {
    display: flex !important;
    align-items: center !important;
    min-height: 38px !important;
    padding: 7px 9px !important;
    border-radius: 9px !important;
    color: var(--awx-design-muted) !important;
    font-size: .8125rem !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
}
html:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu > li > ul > li > a:hover,
html:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu > li > ul > li > a.active {
    color: var(--awx-design-accent) !important;
    background: color-mix(in srgb, var(--awx-design-accent) 8%, var(--awx-design-surface)) !important;
}
html:not(.awx-guest) body.awx-app-design .side-menu-area .inst-nav-badge { margin-left: auto !important; }
html:not(.awx-guest) body.awx-app-design .side-menu-area .has-arrow .inst-nav-badge { margin-right: 20px !important; }

@media (min-width: 1200px) {
    html:not(.awx-guest) body.awx-app-design .side-menu-area {
        left: var(--awx-design-inset) !important; /* The rail stays at the viewport edge; only content is centered. */
        top: var(--awx-design-inset) !important;
        bottom: var(--awx-design-inset) !important;
        width: var(--awx-design-rail) !important;
        height: auto !important;
        margin-top: 0 !important;
        overflow: hidden !important;
        background: var(--awx-design-surface) !important;
        border: 1px solid var(--awx-design-line) !important;
        border-radius: 20px !important;
        box-shadow: 0 16px 38px rgb(31 54 98 / 9%) !important;
    }
    html:not(.awx-guest) body.awx-app-design .sidebar-logo-wrap {
        display: flex !important;
        align-items: center;
        justify-content: center;
        height: 94px;
        padding: 14px 20px;
        border-bottom: 1px solid var(--awx-design-line);
    }
    html:not(.awx-guest) body.awx-app-design .sidebar-logo-wrap img {
        display: block;
        width: auto;
        height: 60px;
        max-width: 178px;
        object-fit: contain;
    }
    html:not(.awx-guest) body.awx-app-design .side-menu-area nav.sidebar-nav {
        top: 94px !important;
        bottom: 0 !important;
        height: auto !important;
        border: 0 !important;
    }
    html:not(.awx-guest) body.awx-app-design .header-area {
        left: calc(var(--awx-design-offset, var(--awx-box-offset, 0px)) + var(--awx-design-start)) !important;
        top: var(--awx-design-inset) !important;
        width: calc(var(--awx-design-width, var(--awx-box-width, 90.9090909vw)) - var(--awx-design-start) - var(--awx-design-inset)) !important;
    }
    html:not(.awx-guest) body.awx-app-design .header-area > .container-fluid {
        width: 100% !important;
        max-width: 1240px !important;
        padding: 0 !important;
        margin-inline: auto !important;
    }
    html:not(.awx-guest) body.awx-app-design .header-content-wrapper {
        min-height: 76px;
        margin: 0 !important;
        padding: 12px 16px !important;
        border-radius: 18px !important;
    }
    html:not(.awx-guest) body.awx-app-design .header-left-content .main-logo { display: none !important; }
    html:not(.awx-guest) body.awx-app-design .header-left-content { flex: 1 1 auto !important; min-width: 0; }
    html:not(.awx-guest) body.awx-app-design .header-left-content .search-bar { width: min(440px, 100%) !important; }
    html:not(.awx-guest) body.awx-app-design main.main-content-wrap.style-two {
        margin-left: var(--awx-design-offset, var(--awx-box-offset, 0px)) !important;
        width: var(--awx-design-width, var(--awx-box-width, 90.9090909vw)) !important;
        padding-left: var(--awx-design-start) !important;
        padding-right: var(--awx-design-inset) !important;
        padding-top: calc(var(--awx-header-h, 90px) + 24px) !important;
    }
    html:not(.awx-guest) body.awx-app-design main.main-content-wrap > :is(.overview-content-area, .page-title-area, .container-fluid, .tcd-page) {
        max-width: none;
        margin-inline: auto;
    }
    html:not(.awx-guest) body.awx-app-design main .overview-content-area { margin-top: 12px !important; }
    html:not(.awx-guest) body.awx-app-design main .overview-content-area > .container-fluid { padding-inline: 0; }
}

/* Dashboard: full-width welcome, shortcuts and learning sections. No data is moved. */
.awx-app-design .awx-dashboard { color: var(--awx-design-ink); }
.awx-app-design .awx-dashboard-intro,
.awx-app-design .awx-dashboard-learning { row-gap: 24px !important; margin-bottom: 24px !important; }
.awx-app-design .awx-dashboard-intro > *,
.awx-app-design .awx-dashboard-learning > * { width: 100%; }
.awx-app-design .awx-dashboard .dash-hero {
    min-height: 214px;
    padding: 32px;
    border-radius: 20px;
    background: linear-gradient(135deg, var(--awx-design-accent), #6d35cf);
    box-shadow: 0 10px 28px rgb(36 88 214 / 16%);
}
.awx-app-design .awx-dashboard .dash-hero-text { max-width: 720px; }
.awx-app-design .awx-dashboard .dash-hero-text::before {
    content: "TU ESPACIO DE APRENDIZAJE";
    display: block;
    margin-bottom: 8px;
    color: #ffffffc7;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
}
.awx-app-design .awx-dashboard .dash-hero-text h4 {
    color: #fff;
    font-size: 2rem;
    line-height: 1.2;
    letter-spacing: -.03em;
}
.awx-app-design .awx-dashboard .dash-hero-text p {
    color: #ffffffe6;
    max-width: 650px;
    font-size: 1rem;
    line-height: 1.55;
}
.awx-app-design .awx-dashboard .dash-hero-bg { background-position: center 42%; }
.awx-app-design .awx-dashboard .dash-hero-bg::after {
    background: linear-gradient(100deg, color-mix(in srgb, var(--awx-design-accent) 96%, transparent), color-mix(in srgb, var(--awx-design-accent) 78%, transparent) 46%, #6d35cf61);
}
.awx-app-design .awx-dashboard :is(.dash-hero-btn, .dash-continue-btn) { --bs-btn-font-size: .875rem; --bs-btn-border-radius: 10px; --bs-btn-padding-y: .75rem; }
.awx-app-design .awx-dashboard-shortcuts,
.awx-app-design .awx-dashboard .card {
    padding: 22px;
    background: var(--awx-design-surface) !important;
    border: 1px solid var(--awx-design-line) !important;
    border-radius: 16px !important;
    box-shadow: 0 5px 16px rgb(31 41 55 / 5%) !important;
}
.awx-app-design .awx-dashboard .card > .card-body { padding: 0; }
.awx-app-design .awx-dashboard-shortcuts::before {
    content: "NAVEGACIÓN";
    display: table;
    margin-bottom: 9px;
    padding: 5px 8px;
    border-radius: 6px;
    color: var(--awx-design-accent);
    background: color-mix(in srgb, var(--awx-design-accent) 9%, var(--awx-design-surface));
    font-size: .625rem;
    font-weight: 700;
    letter-spacing: .1em;
}
.awx-app-design .awx-dashboard #quickLinks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    height: auto !important;
    margin: 0;
}
.awx-app-design .awx-dashboard #quickLinks::before {
    content: "Accesos rápidos";
    grid-column: 1 / -1;
    margin-bottom: 4px;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -.02em;
}
.awx-app-design .awx-dashboard #quickLinks > .col-6 { width: auto; margin: 0; padding: 0; min-width: 0; }
.awx-app-design .awx-dashboard .quick-link-card {
    min-height: 108px;
    padding: 18px !important;
    gap: 12px !important;
    background: var(--awx-design-soft) !important;
    color: var(--awx-design-ink) !important;
    border: 1px solid var(--awx-design-line);
    border-radius: 16px !important;
    box-shadow: none !important;
}
.awx-app-design .awx-dashboard .quick-link-card > div:first-child { width: 48px !important; height: 48px !important; border-radius: 13px !important; }
.awx-app-design .awx-dashboard .quick-link-card > div:first-child i { font-size: 22px !important; }
.awx-app-design .awx-dashboard .quick-link-card > div:nth-child(2) > div:first-child { font-size: .9375rem !important; white-space: normal !important; overflow: visible !important; }
.awx-app-design .awx-dashboard .quick-link-card > div:nth-child(2) > div:last-child { font-size: .8125rem !important; color: var(--awx-design-muted) !important; }
.awx-app-design .awx-dashboard .quick-link-card:hover { transform: translateY(-2px); border-color: var(--awx-design-accent); }
.awx-app-design .awx-dashboard .card h6 { color: var(--awx-design-ink); font-size: 1.25rem !important; line-height: 1.35; }
.awx-app-design .awx-dashboard-learning .card > .card-body > :is(h6, .d-flex) { margin-bottom: 18px !important; }
.awx-app-design .awx-dashboard .dash-continue-thumb { width: 240px; max-width: 42%; height: 142px; border-radius: 13px; }
.awx-app-design .awx-dashboard #dashContinue > .d-flex { align-items: center !important; gap: 20px !important; }
.awx-app-design .awx-dashboard #dashContinue :is(strong, .fw-bold) { color: var(--awx-design-ink); font-size: 1rem !important; line-height: 1.4; }
.awx-app-design .awx-dashboard .dash-suggested-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; overflow: visible; }
.awx-app-design .awx-dashboard .dash-suggested-card { min-width: 0; padding: 14px; border: 1px solid var(--awx-design-line); border-radius: 13px; background: var(--awx-design-soft); }
.awx-app-design .awx-dashboard .dash-suggested-card img { height: 132px; border-radius: 10px; }
.awx-app-design .awx-dashboard .dash-suggested-title { font-size: .9375rem; line-height: 1.4; color: var(--awx-design-ink); }
.awx-app-design .awx-dashboard .dash-suggested-meta { font-size: .75rem; color: var(--awx-design-muted); flex-wrap: wrap; }
.awx-app-design .awx-dashboard .dash-suggested-price { color: var(--awx-design-ink); }
.awx-app-design .awx-dashboard .dash-progress-track { height: 7px; border-radius: 99px; }
.awx-app-design .awx-dashboard .dash-progress-fill { background: var(--awx-design-accent); border-radius: inherit; }
.awx-app-design .awx-dashboard .dash-grade-item { border-color: var(--awx-design-line); flex-wrap: wrap; }
.awx-app-design .awx-dashboard > .container-fluid > .row:last-child {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, calc(260px * var(--font-scale))), 1fr));
}
.awx-app-design .awx-dashboard > .container-fluid > .row:last-child > * { width: 100%; min-width: 0; }
.awx-app-design .awx-dashboard .card-body > .d-flex { flex-wrap: wrap; gap: 10px; }
.awx-app-design .awx-dashboard .quick-link-card > div:nth-child(2) > div:last-child {
    white-space: normal !important;
    overflow: visible !important;
}
html.awx-a11y-contrast .awx-app-design .awx-dashboard .dash-hero-bg::after {
    background: none !important;
}
html.awx-a11y-contrast .awx-app-design .awx-dashboard-shortcuts::before {
    background: #000 !important;
    color: #fff !important;
}
@media (max-width: 1199px) {
    .awx-app-design .awx-dashboard #quickLinks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .awx-app-design .awx-dashboard .dash-hero { padding: 24px; min-height: 210px; }
    .awx-app-design .awx-dashboard .dash-hero-text { max-width: 100%; }
    .awx-app-design .awx-dashboard .dash-hero-text h4 { font-size: 1.625rem; }
    .awx-app-design .awx-dashboard-shortcuts, .awx-app-design .awx-dashboard .card { padding: 18px; }
    .awx-app-design .awx-dashboard #quickLinks { grid-template-columns: 1fr; gap: 10px; }
    .awx-app-design .awx-dashboard .quick-link-card { min-height: 80px; padding: 14px !important; }
    .awx-app-design .awx-dashboard .dash-suggested-row { grid-template-columns: 1fr; }
    .awx-app-design .awx-dashboard .dash-suggested-card img { height: 180px; }
    .awx-app-design .awx-dashboard #dashContinue > .d-flex { flex-wrap: wrap !important; }
    .awx-app-design .awx-dashboard .dash-continue-thumb { width: 100%; max-width: 100%; height: 180px; }
}
@media (prefers-reduced-motion: reduce) {
    .awx-app-design .awx-dashboard :is(.quick-link-card, .dash-hero-btn, .dash-suggested-card) { transition: none; transform: none; }
}

/* Shared sizing follows the available content box, not the viewport alone. */
html:not(.awx-guest) body.awx-app-design main.main-content-wrap {
    box-sizing: border-box;
    min-width: 0;
    max-width: var(--awx-design-width, 100%) !important;
    container-type: inline-size;
}
body.awx-app-design :is(.row > *, .card, .card-body, .color-row, .color-hex, .cb-grid > *, .cb-row2 > *) { min-width: 0; }
body.awx-app-design :is(.form-control, .form-select, .cb-input, .cb-select, .cb-textarea) { max-width: 100%; }
body.awx-app-design :is(.cfg-tabs, .cb-tabs) { overflow-x: auto; }
body.awx-app-design .cfg-tab { flex-shrink: 0; }
body.awx-app-design .color-hex { width: 0; }
body.awx-app-design .cfg-card { padding: clamp(16px, 3cqi, 28px); }
body.awx-app-design #presetList { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); }
body.awx-app-design .preset-pill { border-radius: 12px; padding: 12px; text-align: left; color: var(--awx-design-ink); background: var(--awx-design-surface); }
body.awx-app-design .preset-pill.active { border-color: var(--awx-design-accent); outline: 1px solid var(--awx-design-accent); background: var(--awx-design-soft); }
body.awx-app-design .cfg-card > .d-flex { flex-wrap: wrap; }
body.awx-app-design .prev-content-area { min-width: 0; }
html:not(.awx-guest) body.awx-app-design .side-menu-area,
html:not(.awx-guest) body.awx-app-design .side-menu-area :is(.sidebar-nav, #sidebar-menu) { background: var(--awx-sidebar-bg, #fff) !important; }
html:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu > li > .box-style,
html:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu > li > ul > li > a { color: var(--awx-sidebar-ink, #39465e) !important; }
body.awx-app-design :is(.card, .card-box-style, .cb-card, .cb-bar, .cb-tabs) { background-color: var(--awx-design-surface); color: var(--awx-design-ink); }
body.awx-app-design .btn-primary { color: var(--awx-on-primary, #fff) !important; }
body.awx-app-design .cb { box-sizing: border-box; min-width: 0; background: var(--awx-design-bg); container-type: inline-size; }
body.awx-app-design .cb-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 270px); }
body.awx-app-design .cb-panels { min-height: 0; min-width: 0; }
body.awx-app-design .cb-row2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.awx-app-design .cb-ebody { overflow-wrap: anywhere; }
body.awx-app-design .cb-ebody :is(img, video, iframe) { max-width: 100%; }
body.awx-app-design .cb-ci-row1 { flex-wrap: wrap; }
body.awx-app-design .cb-ci-content-field { min-width: min(180px, 100%); }
@media (min-width: 1200px) {
    html:not(.awx-guest) body.awx-app-design .cb {
        left: calc(var(--awx-design-offset, 0px) + var(--awx-design-start)) !important;
        right: auto !important;
        width: calc(var(--awx-design-width, 90.9090909vw) - var(--awx-design-start) - var(--awx-design-inset));
        top: calc(var(--awx-header-h, 90px) + 28px);
        bottom: 14px;
        border-radius: 16px;
    }
    html:not(.awx-guest) body.awx-app-design .header-right-content { min-width: 0; flex-shrink: 0; }
    html:not(.awx-guest) body.awx-app-design .header-left-content .search-bar { min-width: 0; }
    html:not(.awx-guest) body.awx-app-design .header-area .container-fluid { max-width: none !important; }
}
@container (max-width: 850px) {
    .awx-app-design main .row > :is(.col-lg-7, .col-lg-5, .col-lg-8, .col-lg-4) { width: 100%; }
    .awx-app-design #pane-tema [style*="sticky"] { position: static !important; }
    .awx-app-design .cb-grid { grid-template-columns: minmax(0, 1fr); }
}
@container (max-width: 540px) {
    .awx-app-design main .row > .col-md-6 { width: 100%; }
    .awx-app-design .cb-row2 { grid-template-columns: minmax(0, 1fr); }
    .awx-app-design .awx-dashboard #quickLinks { grid-template-columns: 1fr; }
}
/* The night palette gives the existing editor and cards readable surfaces. */
html.awx-design-dark body.awx-app-design :is(.card, .card-box-style, .cb-card, .cb-bar, .cb-tabs, .cb-topic-wrap, .cb-modal, .prev-content-card) {
    background-color: var(--awx-surface) !important; color: var(--awx-text-color); border-color: var(--awx-line) !important;
}
html.awx-design-dark body.awx-app-design :is(h1,h2,h3,h4,h5,h6,.form-label,.cb-label,.cb-title-input,.cb-topic-title,.cfg-card .fw-semibold) { color: var(--awx-text-color) !important; }
html.awx-design-dark body.awx-app-design :is(.form-control,.form-select,.cb-input,.cb-select,.cb-textarea,.cb-ebody,.cb-etb) { background-color: var(--awx-soft) !important; color: var(--awx-text-color) !important; border-color: var(--awx-line) !important; }
html.awx-design-dark body.awx-app-design :is(.text-muted,.cb-sub,.cb-card-hd) { color: var(--awx-muted) !important; }
html.awx-design-dark body.awx-app-design .side-menu-area .box-style .icon img { filter: brightness(0) invert(1) !important; }
html.awx-design-dark body.awx-app-design input::placeholder { color: var(--awx-muted); }
/* Geometry must update atomically when the configured width changes. */
html:not(.awx-guest) body.awx-app-design :is(main.main-content-wrap, .header-area, .header-content-wrapper, .side-menu-area, .cb) { transition: none !important; }
html:not(.awx-guest) body.awx-app-design .header-area .header-content-wrapper { background: var(--awx-design-surface) !important; }
@container (max-width: 850px) {
    .awx-app-design .cb-s1-grid { flex-direction: column; }
    .awx-app-design .cb-s1-side { width: 100%; }
    .awx-app-design .cb-s1-main { width: 100%; }
}
@container (max-width: 540px) {
    .awx-app-design .cb-s1-main [style*="grid-template-columns:1fr 1fr 1fr"] { grid-template-columns: minmax(0, 1fr) !important; }
}
html.awx-design-dark:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu > li > .box-style .icon img,
html.awx-design-dark body.awx-app-design .search-bar button img { filter: brightness(0) invert(1) !important; }
html.awx-design-dark body.awx-app-design .header-right-content i { color: var(--awx-text-color) !important; }
html.awx-design-dark body.awx-app-design .sidebar-logo-wrap img { background: #fff; padding: 6px; border-radius: 8px; }
html.awx-design-dark body.awx-app-design :is(.cb-step-nav,.cb-topic-hd,.cb-title-big) { background-color: var(--awx-surface); color: var(--awx-text-color); }
html.awx-design-dark body.awx-app-design .cfg-tab { color: var(--awx-muted); }
html.awx-design-dark body.awx-app-design .cfg-tab.active { background: var(--awx-soft); color: var(--awx-primary); }

/* Instructor home — visual grouping from the published design demo. */
.awx-instructor-home { --inst-accent: var(--awx-design-accent, #2458d6); color: var(--awx-design-ink); }
.awx-instructor-home .awx-inst-intro { row-gap: 24px; }
.awx-instructor-home .awx-inst-intro > * { width: 100%; }
.awx-instructor-home .dash-hero { padding: 32px; min-height: 230px; border-radius: 20px; background: var(--inst-accent); box-shadow: 0 10px 28px rgb(36 88 214 / 12%); }
.awx-instructor-home .dash-hero-text { max-width: 760px; }
.awx-instructor-home .dash-hero-text::before { content: 'PANEL DE GESTIÓN'; display: block; margin-bottom: 10px; font-size: .75rem; font-weight: 700; letter-spacing: .08em; color: #ffffffd9; }
.awx-instructor-home .dash-hero h4 { font-size: 2rem; line-height: 1.2; letter-spacing: -.025em; }
.awx-instructor-home .dash-hero p { max-width: 680px; font-size: 1rem; line-height: 1.55; }
.awx-instructor-home .dash-hero-bg { background-position: center 42%; }
.awx-instructor-home .dash-hero-bg::after { background: linear-gradient(100deg, color-mix(in srgb, var(--inst-accent) 96%, transparent), color-mix(in srgb, var(--inst-accent) 78%, transparent) 46%, #6d35cf61); }
.awx-instructor-home #dashMonth { max-width: 100%; padding: 10px 36px 10px 14px; height: auto; min-height: 44px; border-radius: 10px !important; background-color: #fff; color: #24344e; font-size: .875rem; }
.awx-instructor-home :is(.awx-inst-shortcuts, .awx-inst-metrics, .awx-inst-section) { background: var(--awx-design-surface); border: 1px solid var(--awx-design-line); border-radius: 16px; padding: 22px; box-shadow: 0 5px 16px rgb(31 41 55 / 5%); }
.awx-instructor-home :is(.awx-inst-metrics,.awx-inst-section) { margin-inline: 0; margin-bottom: 24px !important; --bs-gutter-x: 16px; --bs-gutter-y: 16px; }
.awx-instructor-home :is(.awx-inst-shortcuts,.awx-inst-metrics,.awx-inst-section)::before { display: block; flex: 0 0 100%; width: 100%; padding: 0; margin: 0 0 18px; font-size: 1.25rem; line-height: 1.35; font-weight: 750; letter-spacing: -.02em; color: var(--awx-design-ink); }
.awx-instructor-home .awx-inst-shortcuts::before { content: 'Accesos rápidos'; }
.awx-instructor-home .awx-inst-metrics::before { content: 'Tu actividad de un vistazo'; }
#adminDashboardWrap.awx-instructor-home .awx-inst-metrics::before { content: 'Indicadores principales'; }
.awx-instructor-home .awx-inst-learning::before { content: 'Actividad de cursos y estudiantes'; }
.awx-instructor-home .awx-inst-community::before { content: 'Rendimiento y agenda'; }
.awx-instructor-home .awx-inst-reviews::before { content: 'Revisiones y calendario'; }
.awx-instructor-home .awx-inst-operations::before { content: 'Pedidos, actividad e ingresos'; }
.awx-instructor-home .awx-inst-shortcuts > .row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 0; height: auto !important; }
.awx-instructor-home .awx-inst-shortcuts > .row > * { width: auto; min-width: 0; padding: 0; margin: 0; }
.awx-instructor-home .quick-link-card { min-height: 108px; padding: 18px !important; gap: 14px !important; background: var(--awx-design-soft) !important; border: 1px solid var(--awx-design-line); border-radius: 16px !important; box-shadow: none !important; }
.awx-instructor-home .quick-link-card > div:first-child { width: 48px !important; height: 48px !important; border-radius: 13px !important; }
.awx-instructor-home .quick-link-card > div:first-child i { font-size: 22px !important; }
.awx-instructor-home .quick-link-card > div:nth-child(2) > div { white-space: normal !important; overflow: visible !important; line-height: 1.45; }
.awx-instructor-home .quick-link-card > div:nth-child(2) > div:first-child { font-size: .9375rem !important; }
.awx-instructor-home .quick-link-card > div:nth-child(2) > div:last-child { font-size: .8125rem !important; color: var(--awx-design-muted) !important; }
.awx-instructor-home .quick-link-card:hover { border-color: var(--inst-accent); transform: translateY(-2px); }
.awx-instructor-home .card { min-width: 0; border: 1px solid var(--awx-design-line) !important; border-radius: 14px !important; background: var(--awx-design-soft); box-shadow: none !important; }
.awx-instructor-home .card-body { padding: 20px !important; min-width: 0; }
.awx-instructor-home .card-body > .d-flex { flex-wrap: wrap; gap: 10px; }
.awx-instructor-home .card h6 { font-size: 1rem !important; line-height: 1.4; color: var(--awx-design-ink); }
.awx-instructor-home .card-body a:not(.btn) { color: var(--inst-accent); font-weight: 600; }
.awx-instructor-home .awx-inst-metrics > div { flex: 1 1 160px; min-width: 0; margin-top: 0; }
.awx-instructor-home .awx-inst-metrics .card { min-height: 150px; }
.awx-instructor-home .awx-inst-metrics .text-muted { font-size: .8125rem !important; }
.awx-instructor-home .table { --bs-table-bg: transparent; --bs-table-color: var(--awx-design-ink); --bs-table-border-color: var(--awx-design-line); font-size: .8125rem !important; }
.awx-instructor-home .table th { font-size: .75rem; color: var(--awx-design-muted); font-weight: 600 !important; white-space: normal; }
.awx-instructor-home .table td { vertical-align: middle; padding-block: 12px; }
.awx-instructor-home :is(#dashChart,#adIngresosChart) { max-width: 100%; min-width: 0; overflow: hidden; }
.awx-instructor-home .awx-inst-section > div { margin-top: 0; }
@container (max-width: 1050px) {
    .awx-instructor-home .awx-inst-section > div { width: 100%; }
    .awx-instructor-home .awx-inst-section { row-gap: 16px; }
}
@container (max-width: 800px) { .awx-instructor-home .awx-inst-shortcuts > .row { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@container (max-width: 500px) { .awx-instructor-home .awx-inst-shortcuts > .row { grid-template-columns: 1fr; } }
@media (max-width: 767px) {
    .awx-instructor-home .dash-hero { padding: 24px; }
    .awx-instructor-home .dash-hero-text { max-width: 100%; }
    .awx-instructor-home .dash-hero h4 { font-size: 1.7rem; }
    .awx-instructor-home :is(.awx-inst-shortcuts,.awx-inst-metrics,.awx-inst-section) { padding: 18px; }
    .awx-instructor-home .awx-inst-metrics > div { flex-basis: 100%; }
}
html.awx-a11y-contrast .awx-instructor-home .dash-hero-bg::after { background: none !important; }
@media (prefers-reduced-motion: reduce) { .awx-instructor-home .quick-link-card { transition: none; transform: none; } }

/* Current demo visual system. Theme variables retain the user's palette;
   real page content and semantic success/error/button variants are preserved. */
body.awx-app-design { font-family: 'Inter', 'Segoe UI', Arial, sans-serif; font-size: .875rem; line-height: 1.6; }
body.awx-app-design :is(h1,h2,h3,h4,h5,h6,p,label,input,select,textarea,button,.btn,table) { font-family: 'Inter', 'Segoe UI', Arial, sans-serif !important; }
body.awx-app-design main :is(h1,h2,h3,h4,h5,h6) { color: var(--awx-design-ink); letter-spacing: -.02em; line-height: 1.35; }
body.awx-app-design main h1 { font-size: 2rem; }
body.awx-app-design main h2 { font-size: 1.625rem; }
body.awx-app-design main h3 { font-size: 1.25rem; }
body.awx-app-design main h4 { font-size: 1.125rem; }
body.awx-app-design main h5 { font-size: 1rem; }
body.awx-app-design main h6 { font-size: .875rem; }
body.awx-app-design .header-right-content :is(h3,h4,h5,h6) { font-size: .8125rem; }
body.awx-app-design :is(.card,.card-box-style,.cfg-card,.modal-content,.dropdown-menu) {
    background-color: var(--awx-design-surface); border-color: var(--awx-design-line);
    color: var(--awx-design-ink); border-radius: 14px; box-shadow: 0 3px 12px rgb(64 81 137 / 8%);
}
body.awx-app-design main :is(.row > *, .card-body, .input-group, .d-flex > *) { min-width: 0; }
body.awx-app-design main :is(input,select,textarea,video,iframe) { max-width: 100%; }
body.awx-app-design main :is(.card-title,.page-title) { overflow-wrap: anywhere; }
body.awx-app-design .table-responsive { max-width: 100%; overflow-x: auto; border: 1px solid var(--awx-design-line); border-radius: 14px; background: var(--awx-design-surface); }
body.awx-app-design main .table { --bs-table-color: var(--awx-design-ink); --bs-table-bg: transparent; --bs-table-border-color: var(--awx-design-line); font-size: .875rem; margin-bottom: 0; }
body.awx-app-design main .table :is(th,td) { padding: 10px 12px; vertical-align: middle; }
body.awx-app-design main .table thead th { background: var(--awx-design-soft); color: var(--awx-design-muted); font-size: .75rem; font-weight: 600; }
body.awx-app-design :is(.form-control,.form-select,.cb-input,.cb-select,.cb-textarea) {
    background-color: var(--awx-design-soft); color: var(--awx-design-ink); border: 1px solid var(--awx-design-line);
    border-radius: 10px; font-size: .875rem; min-width: 0;
}
body.awx-app-design :is(.form-control,.form-select,.cb-input,.cb-select,.cb-textarea):focus {
    border-color: var(--awx-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--awx-primary) 18%, transparent);
}
body.awx-app-design main :is(input[type='search'],input[type='date'],input[type='month'],input[type='text'][placeholder*='Buscar' i]) {
    min-height: 44px; border-radius: 24px; background-color: var(--awx-design-soft); font-size: .875rem;
}
body.awx-app-design main .input-group > :is(input,.form-control) { border-radius: 0; }
body.awx-app-design main .input-group > :first-child { border-top-left-radius: 24px; border-bottom-left-radius: 24px; }
body.awx-app-design main .input-group > :last-child { border-top-right-radius: 24px; border-bottom-right-radius: 24px; }
body.awx-app-design .btn-primary { --bs-btn-bg: var(--awx-primary); --bs-btn-border-color: var(--awx-primary); --bs-btn-color: var(--awx-on-primary); }
body.awx-app-design .btn { font-size: .8125rem; font-weight: 600; }
html.awx-design-dark-rail:not(.awx-guest) body.awx-app-design .side-menu-area { background: var(--awx-sidebar-bg) !important; }
html.awx-design-dark-rail:not(.awx-guest) body.awx-app-design .side-menu-area :is(.sidebar-nav,.simplebar-content,.simplebar-content-wrapper),
html.awx-design-dark-rail:not(.awx-guest) body.awx-app-design .side-menu-area .sidebar-nav #sidebar-menu { background: var(--awx-sidebar-bg) !important; }
html.awx-design-dark-rail:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu :is(.box-style,a) { color: var(--awx-sidebar-ink) !important; }
html.awx-design-dark-rail:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu :is(.box-style,a) :is(.menu-title,i) { color: inherit !important; }
html.awx-design-dark-rail:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu > li > .box-style .icon img { filter: brightness(0) invert(1) !important; }
html.awx-design-dark-rail:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu :is(.box-style,a):hover,
html.awx-design-dark-rail:not(.awx-guest) body.awx-app-design .side-menu-area .metismenu .mm-active > :is(.box-style,a) { background: #ffffff24 !important; box-shadow: inset 3px 0 0 var(--awx-secondary) !important; }
html.awx-design-dark-rail:not(.awx-guest) body.awx-app-design .side-menu-area .sidebar-nav .metismenu > li.mm-active > .box-style,
html.awx-design-dark-rail:not(.awx-guest) body.awx-app-design .side-menu-area .sidebar-nav .metismenu > li.mm-active > .box-style :is(span,i) { color: var(--awx-sidebar-ink) !important; }
html.awx-design-dark-rail body.awx-app-design .sidebar-logo-wrap { background: #fff; border-radius: 14px 14px 0 0; }

/* Compact welcome panels use the existing live greetings and actions. */
body.awx-app-design :is(.awx-dashboard,.awx-instructor-home) .dash-hero {
    min-height: 164px; padding: 28px 30px; border-radius: 18px;
    border: 1px solid color-mix(in srgb, var(--awx-primary) 24%, var(--awx-design-line));
    background: linear-gradient(112deg, var(--awx-design-surface), var(--awx-design-soft));
    box-shadow: 0 3px 12px rgb(64 81 137 / 8%);
}
body.awx-app-design :is(.awx-dashboard,.awx-instructor-home) .dash-hero-bg { display: none; }
body.awx-app-design :is(.awx-dashboard,.awx-instructor-home) .dash-hero-text { max-width: 100%; }
body.awx-app-design :is(.awx-dashboard,.awx-instructor-home) .dash-hero-text::before { color: var(--awx-primary); font-size: .6875rem; }
body.awx-app-design :is(.awx-dashboard,.awx-instructor-home) .dash-hero-text h4 { font-size: 1.6875rem; font-weight: 700; color: var(--awx-design-ink); }
body.awx-app-design :is(.awx-dashboard,.awx-instructor-home) .dash-hero-text p { font-size: .875rem; color: var(--awx-design-muted); opacity: 1; }
body.awx-app-design :is(.awx-dashboard,.awx-instructor-home) .dash-hero-btn { background: var(--awx-design-surface); color: var(--awx-primary); border: 1px solid var(--awx-design-line); box-shadow: none; }
body.awx-app-design :is(.awx-dashboard,.awx-instructor-home) .quick-link-card { min-height: 92px; border-radius: 14px !important; }
body.awx-app-design .awx-instructor-home .awx-inst-metrics .card { min-height: 124px; background: var(--awx-design-surface); }
@media (max-width: 575px) {
    body.awx-app-design :is(.awx-dashboard,.awx-instructor-home) .dash-hero { padding: 22px; }
    body.awx-app-design :is(.awx-dashboard,.awx-instructor-home) .dash-hero-text h4 { font-size: 1.5rem; }
}
/* Student home composition aligned with the supplied demo screenshot. */
body.awx-app-design .awx-dashboard .dash-hero.awx-summary-ready {
    display: grid; grid-template-columns: minmax(240px, .85fr) minmax(0, 1.7fr);
    align-items: center; gap: 28px; min-height: 174px; overflow: hidden; isolation: isolate;
}
body.awx-app-design .awx-dashboard .dash-hero.awx-summary-ready::after {
    content: ''; position: absolute; width: 260px; height: 260px; border-radius: 50%;
    background: color-mix(in srgb, var(--awx-secondary) 6%, transparent);
    right: -100px; bottom: -120px; z-index: -1; pointer-events: none;
}
.awx-summary-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); min-width: 0; gap: 14px; }
.awx-summary-metric { display: flex; align-items: center; gap: 13px; border-left: 1px solid var(--awx-design-line); padding: 8px 0 8px 14px; min-width: 0; }
.awx-summary-metric > div { min-width: 0; }
.awx-summary-metric strong { display: block; color: var(--awx-design-ink); font-size: 1.5rem; font-weight: 700; line-height: 1.3; }
.awx-summary-metric span { display: block; color: var(--awx-design-muted); font-size: .8125rem; margin-top: 5px; overflow-wrap: anywhere; }
.awx-summary-icon { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px; border-radius: 13px; font-size: 24px; }
.awx-summary-icon.blue { background: #e9efff; color: var(--awx-primary); }
.awx-summary-icon.teal { background: #e2f7f2; color: #008f83; }
.awx-summary-icon.amber { background: #fff4dc; color: #ad7600; }
body.awx-app-design .awx-dashboard .dash-hero-btn { border: 0; background: transparent; padding: 0; min-height: 0; font-size: .875rem; font-weight: 700; }
body.awx-app-design .awx-dashboard .dash-hero-text p { max-width: none; }
body.awx-app-design .awx-dashboard #quickLinks { grid-template-columns: repeat(4,minmax(0,1fr)); }
body.awx-app-design .awx-dashboard .quick-link-card { min-height: 108px; }
body.awx-app-design .awx-dashboard .quick-link-card::after { content: '\203A'; color: var(--awx-design-muted); font-size: 25px; margin-left: auto; }
body.awx-app-design .awx-dashboard .quick-link-card > div:nth-child(2) > div:last-child { white-space: normal !important; overflow: visible !important; }
body.awx-app-design .awx-dashboard-learning > div:first-child .card-body::before { content: 'TU CURSO ACTIVO'; display: table; margin-bottom: 12px; padding: 3px 8px; border-radius: 6px; background: color-mix(in srgb,var(--awx-primary) 9%,var(--awx-design-surface)); color: var(--awx-primary); font-size: .625rem; font-weight: 700; letter-spacing: .1em; }
@container (max-width: 680px) {
    body.awx-app-design .awx-dashboard .dash-hero.awx-summary-ready { grid-template-columns: minmax(0,1fr); gap: 20px; }
    body.awx-app-design .awx-dashboard #quickLinks { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@container (max-width: 540px) {
    .awx-summary-metrics { grid-template-columns: minmax(0,1fr); }
    .awx-summary-metric { border-left: 0; border-top: 1px solid var(--awx-design-line); padding: 12px 0; }
    body.awx-app-design .awx-dashboard #quickLinks { grid-template-columns: minmax(0,1fr); }
}
/* Both student and instructor navigation work before menu enhancement runs. */
html.awx-design-dark-rail:not(.awx-guest) body.awx-app-design .side-menu-area #sidebar-menu :is(a,.box-style, a span, a i) { color: var(--awx-sidebar-ink) !important; }
html.awx-design-dark-rail:not(.awx-guest) body.awx-app-design .side-menu-area #sidebar-menu :is(a.active,.mm-active > a) { background: #ffffff24 !important; color: #fff !important; }
html.awx-design-dark-rail:not(.awx-guest) body.awx-app-design .side-menu-area #sidebar-menu a .icon img { filter: brightness(0) invert(1) !important; }
body.awx-app-design .awx-dashboard .dash-hero .dash-hero-btn { background: transparent !important; padding: 0 !important; color: var(--awx-primary) !important; border: 0 !important; }
.awx-more-shortcuts { margin-top: 12px; }
.awx-more-shortcuts summary { cursor: pointer; color: var(--awx-primary); font-weight: 600; font-size: .8125rem; }
.awx-more-shortcuts-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 12px; }
.awx-more-shortcuts-grid > .col-6 { width: auto; min-width: 0; }
@container (max-width: 540px) { .awx-more-shortcuts-grid { grid-template-columns: minmax(0,1fr); } }
/* Shared application components: consistent surfaces without changing state classes. */
body.awx-app-design main .page-title-area h3 { font-size: 1.5rem; font-weight: 700; }
body.awx-app-design main :is(.card-header,.card-footer,.modal-header,.modal-footer) { border-color: var(--awx-design-line); background-color: var(--awx-design-surface); }
body.awx-app-design main :is(.nav-tabs,.nav-pills) { gap: 6px; flex-wrap: wrap; border-color: var(--awx-design-line); }
body.awx-app-design main :is(.nav-tabs,.nav-pills) .nav-link { border-radius: 9px; color: var(--awx-design-muted); font-size: .875rem; }
body.awx-app-design main :is(.nav-tabs,.nav-pills) .nav-link.active { background: color-mix(in srgb,var(--awx-primary) 10%,var(--awx-design-surface)); color: var(--awx-primary); border-color: var(--awx-design-line); }
body.awx-app-design main .text-muted { color: var(--awx-design-muted) !important; }

/* Messaging — same two-panel workspace for instructor and student. */
body.awx-app-design .chat-content-area > .container-fluid { display: grid; grid-template-columns: minmax(0,45fr) minmax(0,55fr); gap: 20px; align-items: stretch; }
body.awx-app-design .chat-content-area :is(.sidebar-left,.content-right) { float: none !important; width: 100% !important; min-width: 0; padding: 0 !important; margin: 0 !important; }
body.awx-app-design .chat-content-area :is(.sidebar-left > .sidebar,.chat-list) { background: var(--awx-design-surface); border: 1px solid var(--awx-design-line); border-radius: 16px; box-shadow: 0 3px 12px rgb(64 81 137 / 8%); box-sizing: border-box; }
body.awx-app-design .chat-content-area :is(.sidebar-left > .sidebar,.content-right > .chat-area,.chat-list-wrapper,.chat-list) { width: 100% !important; height: 100% !important; min-width: 0; min-height: 0; margin: 0; }
body.awx-app-design .chat-content-area .sidebar-left > .sidebar { display: flex; padding: 18px; overflow: hidden; }
body.awx-app-design .chat-content-area .sidebar-left .sidebar .top-chat-menu.awx-vtabs { flex: 0 0 104px; width: 104px; padding-right: 12px; border-color: var(--awx-design-line); }
body.awx-app-design .chat-content-area .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a { background: var(--awx-design-soft); color: var(--awx-design-muted); font-size: .75rem; overflow-wrap: anywhere; }
body.awx-app-design .chat-content-area .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a.active { background: color-mix(in srgb,var(--awx-primary) 12%,var(--awx-design-surface)); color: var(--awx-primary); }
body.awx-app-design .chat-content-area .sidebar-left .sidebar .top-chat-menu.awx-vtabs .awx-vtab-icon { background: var(--awx-design-surface); color: var(--awx-design-muted); box-shadow: none; }
body.awx-app-design .chat-content-area .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a.active .awx-vtab-icon { background: var(--awx-primary); color: var(--awx-on-primary); }
body.awx-app-design .chat-content-area .sidebar-left .sidebar .msg-list-col { display: flex; flex-direction: column; flex: 1; min-width: 0; min-height: 0; padding-left: 14px; }
body.awx-app-design .chat-content-area .sidebar-left .sidebar .sidebar-content { width: 100% !important; flex: 1; min-height: 0; margin: 0; padding: 0; }
body.awx-app-design .chat-content-area .sidebar-left .sidebar .chat-menu { width: 100%; min-width: 0; padding: 0; }
body.awx-app-design .chat-content-area .msg-filter-bar { flex-wrap: wrap; padding: 0 0 14px; gap: 8px; }
body.awx-app-design .chat-content-area :is(.msg-filter-btn,.msg-sort-btn) { color: var(--awx-design-ink); background: var(--awx-design-soft); border-color: var(--awx-design-line); }
body.awx-app-design .chat-content-area .msg-filter-menu { background: var(--awx-design-surface); border: 1px solid var(--awx-design-line); }
body.awx-app-design .chat-content-area .msg-filter-item { color: var(--awx-design-ink); }
body.awx-app-design .chat-content-area .msg-filter-item:hover { background: var(--awx-design-soft); }
body.awx-app-design .chat-content-area .list-group-user li { padding: 14px 10px; margin: 0 0 8px; border: 1px solid transparent; border-radius: 12px; cursor: pointer; background: var(--awx-design-surface); }
body.awx-app-design .chat-content-area .list-group-user li:is(.active,:hover) { background: var(--awx-design-soft); border-color: var(--awx-design-line); }
body.awx-app-design .chat-content-area .list-group-user li .user-name { min-width: 0; }
body.awx-app-design .chat-content-area .list-group-user li .user-name :is(h6,span) { max-width: 100% !important; }
body.awx-app-design .chat-content-area :is(.dsc-avatar,.dsc-avatar-sm) { box-shadow: none; border: 0; color: var(--awx-primary); background: color-mix(in srgb,var(--awx-primary) 12%,var(--awx-design-surface)); }
body.awx-app-design .chat-content-area .chat-list { display: flex; flex-direction: column; overflow: hidden; }
body.awx-app-design .chat-content-area .chat-list-header { flex: 0 0 auto; padding: 20px; border-bottom: 1px solid var(--awx-design-line); background: var(--awx-design-surface); }
body.awx-app-design .chat-content-area .chat-list-header .header-left { text-align: left; min-width: 0; gap: 8px; }
body.awx-app-design .chat-content-area .chat-list-header .header-left > div { min-width: 0; overflow-wrap: anywhere; }
body.awx-app-design .chat-content-area .chat-list-header .header-left span { color: var(--awx-design-muted); }
body.awx-app-design .chat-content-area .content-right .chat-list .chat-container { flex: 1 1 auto; height: auto !important; min-height: 0; padding: 20px !important; background: var(--awx-design-soft); }
body.awx-app-design .chat-content-area .chat-message { background: var(--awx-primary); color: var(--awx-on-primary); border-radius: 14px; padding: 14px 16px; box-shadow: none; max-width: 100%; overflow-wrap: anywhere; }
body.awx-app-design .chat-content-area .chat-left .chat-message { background: var(--awx-design-surface); color: var(--awx-design-ink); border: 1px solid var(--awx-design-line); }
body.awx-app-design .chat-content-area .chat-message p { color: inherit; font-size: .875rem; line-height: 1.6; white-space: normal; }
body.awx-app-design .chat-content-area .chat-message img { max-width: 100%; height: auto; }
body.awx-app-design .chat-content-area .chat-message::before { display: none; }
body.awx-app-design .chat-content-area .content-right .chat-list-wrapper .chat-list .chat-list-footer { position: static !important; inset: auto !important; width: 100% !important; flex: 0 0 auto; padding: 16px !important; border-radius: 0 !important; border-top: 1px solid var(--awx-design-line) !important; background: var(--awx-design-surface) !important; box-shadow: none !important; }
body.awx-app-design .chat-content-area .chat-list-footer form { gap: 12px; min-width: 0; }
body.awx-app-design .chat-content-area .chat-list-footer .form-group { min-width: 0; margin: 0; }
body.awx-app-design .chat-content-area .chat-list-footer #replyBox { background: var(--awx-design-soft) !important; color: var(--awx-design-ink) !important; border-color: var(--awx-design-line) !important; }
body.awx-app-design .chat-content-area .chat-list-footer .send-btn { position: static; flex-shrink: 0; margin: 0; height: auto; background: var(--awx-primary); color: var(--awx-on-primary); }
body.awx-app-design .chat-content-area :is(.chat-thread-empty,.chat-list-empty) { color: var(--awx-design-muted); }
body.awx-app-design .chat-content-area .dm-form-wrap { width: 100%; max-width: 560px; padding: 20px; }
body.awx-app-design .chat-content-area :is(.dm-textarea,.dm-form-wrap label) { color: var(--awx-design-ink); }
body.awx-app-design .chat-content-area .dm-textarea { background: var(--awx-design-surface); border-color: var(--awx-design-line); }
@container (min-width: 1051px) {
    body.awx-app-design .chat-content-area :is(.sidebar-left,.content-right) { height: clamp(520px,calc(100dvh - 210px),680px) !important; }
}
@container (max-width: 1050px) {
    body.awx-app-design .chat-content-area > .container-fluid { grid-template-columns: minmax(0,1fr); }
    body.awx-app-design .chat-content-area .sidebar-left { height: 390px !important; }
    body.awx-app-design .chat-content-area .content-right { height: 580px !important; }
    body.awx-app-design .chat-content-area .sidebar-left > .sidebar { flex-direction: column; }
    body.awx-app-design .chat-content-area .sidebar-left .sidebar .top-chat-menu.awx-vtabs { flex: 0 0 auto; flex-direction: row; width: 100%; border-right: 0; border-bottom: 1px solid var(--awx-design-line); padding: 0 0 12px; margin-bottom: 12px; }
    body.awx-app-design .chat-content-area .sidebar-left .sidebar .top-chat-menu.awx-vtabs li { flex: 1; width: auto; }
    body.awx-app-design .chat-content-area .sidebar-left .sidebar .msg-list-col { padding-left: 0; }
}
/* Legacy title wrappers shrink to their text when centered: give them the page width. */
html:not(.awx-guest) body.awx-app-design main > .page-title-area { display: block; width: 100%; max-width: none; margin: 0 0 22px !important; padding: 0 !important; }
body.awx-app-design .chat-content-area .sidebar-left .sidebar .top-chat-menu.awx-vtabs { flex-basis: 128px; width: 128px; }
body.awx-app-design .chat-content-area .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a { overflow-wrap: normal; }
body.awx-app-design .chat-content-area .content-right .chat-list .chat-container .chat-content .chat .chat-body .chat-message { background: var(--awx-primary); color: var(--awx-on-primary); border-radius: 14px; }
body.awx-app-design .chat-content-area .content-right .chat-list .chat-container .chat-content .chat.chat-left .chat-body .chat-message { background: var(--awx-design-surface); color: var(--awx-design-ink); }
@container (max-width: 1050px) { body.awx-app-design .chat-content-area .sidebar-left .sidebar .top-chat-menu.awx-vtabs { flex-basis: auto; width: 100%; } }
/* Instructor messaging: reference layout, existing data and handlers intact. */
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) > .container-fluid { display: grid; grid-template-columns: minmax(0,45fr) minmax(0,55fr); gap: 20px; align-items: stretch; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) :is(.sidebar-left,.content-right) { float: none !important; width: 100% !important; min-width: 0; padding: 0 !important; margin: 0 0 24px; height: clamp(520px,calc(90dvh - 180px),680px); }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) :is(.sidebar,.chat-area,.chat-list-wrapper,.chat-list) { width: 100% !important; height: 100% !important; min-height: 0; margin: 0; box-sizing: border-box; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) :is(.sidebar,.chat-list) { background: var(--awx-design-surface); border: 1px solid var(--awx-design-line); border-radius: 18px; box-shadow: 0 3px 12px rgb(64 81 137 / 8%); }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-list { display: flex; flex-direction: column; overflow: hidden; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar { padding: 18px 16px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .msg-list-col { display: flex; flex-direction: column; min-height: 0; padding-left: 14px !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs { flex-basis: 106px; width: 106px; padding-right: 12px; border-color: var(--awx-design-line); }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a { background: var(--awx-design-soft); color: var(--awx-design-muted); font-size: .75rem; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a.active { background: color-mix(in srgb,var(--awx-primary) 12%,var(--awx-design-surface)); color: var(--awx-primary); }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a.active .awx-vtab-icon { background: var(--awx-primary); color: var(--awx-on-primary); }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .sidebar-content { flex: 1; min-height: 0; height: auto !important; max-height: none; overflow: auto; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .msg-filter-bar { flex-wrap: wrap; padding-bottom: 14px; gap: 6px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) :is(.msg-filter-btn,.msg-sort-btn,.msg-filter-item) { color: var(--awx-design-ink); font-size: .75rem; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .msg-filter-menu { background: var(--awx-design-surface); border: 1px solid var(--awx-design-line); }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .list-group-user li { padding: 14px 10px; border-bottom: 1px solid var(--awx-design-line); border-radius: 10px; overflow-wrap: anywhere; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .list-group-user li:hover,
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .list-group-user li.active { background: var(--awx-design-soft); }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) :is(.dsc-avatar,.dsc-avatar-sm) { background: color-mix(in srgb,var(--awx-primary) 12%,var(--awx-design-surface)); color: var(--awx-primary); border-color: var(--awx-design-surface); box-shadow: none; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-list-header { flex: 0 0 auto; padding: 20px; border-bottom: 1px solid var(--awx-design-line); background: var(--awx-design-surface); }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-list-header .header-left { text-align: left; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-list-header h6 { font-size: 1rem; color: var(--awx-design-ink); overflow-wrap: anywhere; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .content-right .chat-container { flex: 1 1 auto; min-height: 0 !important; height: auto !important; padding: 20px 18px 8px !important; overflow: auto; background: var(--awx-design-soft); }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat { display: flex; flex-direction: row-reverse; gap: 10px; margin-bottom: 20px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat.chat-left { flex-direction: row; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-avatar { float: none; flex: 0 0 36px; width: 36px; margin: 0; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-body { float: none; margin: 0; max-width: calc(100% - 46px); min-width: 0; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-message { background: var(--awx-primary); color: var(--awx-on-primary); border-radius: 14px 14px 4px 14px; padding: 12px 16px; text-align: left; overflow-wrap: anywhere; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-left .chat-message { background: var(--awx-design-surface); color: var(--awx-design-ink); border: 1px solid var(--awx-design-line); border-radius: 14px 14px 14px 4px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-message::before { display: none; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-message :is(p,a,div) { color: inherit !important; font-size: .8125rem; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-message :is(img,video) { max-width: 100%; height: auto; }
/* Override only presentation from the legacy floating-composer positioning. */
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .content-right .chat-list-wrapper .chat-list #threadFooter { position: static !important; inset: auto !important; width: 100% !important; flex: 0 0 auto; padding: 14px !important; background: var(--awx-design-surface) !important; border-top: 1px solid var(--awx-design-line) !important; border-radius: 0 !important; box-shadow: none !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter form { gap: 10px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter .form-group { flex: 1; min-width: 0; margin: 0; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter #replyBox { background: var(--awx-design-soft) !important; color: var(--awx-design-ink); border-color: var(--awx-design-line) !important; min-height: 48px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #replySendBtn { flex: 0 0 auto; position: static; margin: 0; min-height: 44px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .dm-form-wrap { padding: 22px; width: 100%; max-width: 560px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) :is(.dm-textarea,.dm-form-wrap label) { color: var(--awx-design-ink); background: var(--awx-design-surface); }
@container (max-width: 1050px) {
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) > .container-fluid { grid-template-columns: minmax(0,1fr); }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left { height: 360px; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .content-right { height: 600px; }
}
@media (max-width: 767px) {
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) > .container-fluid { grid-template-columns: minmax(0,1fr); gap: 0; padding-inline: 0; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left { height: 380px; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .content-right { height: 570px; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs { flex-basis: auto; width: 100%; padding-right: 0; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .msg-list-col { padding-left: 0 !important; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-body { max-width: calc(100% - 46px); }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter form { flex-wrap: wrap; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #replySendBtn { margin-left: auto; }
}
/* Compact conversation picker and aligned, prominent reply composer. */
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #msgListTitle { text-align: left !important; font-size: .75rem !important; color: var(--awx-design-muted) !important; padding: 2px 8px 12px !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #msgList li { padding: 12px 10px; cursor: pointer; margin-bottom: 5px; border: 1px solid transparent; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #msgList li.active { border-color: color-mix(in srgb,var(--awx-primary) 35%,var(--awx-design-line)); box-shadow: inset 3px 0 var(--awx-primary); }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #msgList li > .d-flex { align-items: flex-start !important; gap: 10px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #msgList .avatar { margin: 0 !important; flex: 0 0 36px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #msgList .avatar :is(img,.dsc-avatar) { width: 36px !important; height: 36px !important; border-width: 1px; font-size: .6875rem; box-shadow: none; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #msgList .user-name { flex: 1; min-width: 0; width: auto; position: relative; padding-right: 12px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #msgList .user-name h6 { font-size: .75rem !important; line-height: 1.4; max-width: 100% !important; margin: 0 0 4px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #msgList .user-name > .d-block { font-size: .6875rem !important; line-height: 1.5; color: var(--awx-design-muted); max-width: 100% !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #msgList .user-name .date { position: static !important; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 7px; font-size: .625rem !important; color: var(--awx-design-muted); }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #msgList .dsc-type-badge { font-size: .5625rem !important; padding: 3px 7px; margin-left: 0; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #msgList .sms-count { top: 3px; right: 0; width: 8px; height: 8px; line-height: 8px; font-size: 10px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .content-right .chat-list-wrapper .chat-list #threadFooter {
    padding: 16px !important; border-top: 2px solid color-mix(in srgb,var(--awx-primary) 30%,var(--awx-design-line)) !important;
    background: color-mix(in srgb,var(--awx-primary) 7%,var(--awx-design-surface)) !important;
    box-shadow: 0 -5px 18px rgb(64 81 137 / 7%) !important;
}
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter form { display: grid !important; grid-template-columns: minmax(0,1fr) auto; align-items: end !important; gap: 12px; width: 100%; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter .form-group { width: 100% !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter #replyBox { display: block; height: 48px; min-height: 48px; max-height: 120px; margin: 0 !important; padding: 13px 14px !important; background: var(--awx-design-surface) !important; border-radius: 12px !important; line-height: 20px; font-size: .8125rem !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter #replyBox:focus { border-color: var(--awx-primary) !important; box-shadow: 0 0 0 3px color-mix(in srgb,var(--awx-primary) 18%,transparent) !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter #replySendBtn { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; align-self: end; height: 48px; min-height: 48px; min-width: 102px; padding: 0 18px !important; margin: 0 !important; transform: none !important; border-radius: 12px; line-height: 1; box-shadow: 0 4px 10px color-mix(in srgb,var(--awx-primary) 24%,transparent); }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter #replySendBtn i { margin: 0 !important; font-size: 18px; line-height: 1; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #replySendBtn:disabled { opacity: .55; box-shadow: none; }
@media (max-width: 420px) {
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter form { gap: 8px; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter #replySendBtn { min-width: 82px; padding-inline: 10px !important; }
}
/* Messaging reference: airy white panels, broad bubbles, quiet separators. */
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) :is(.sidebar,.chat-list) { border-radius: 24px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar { padding: 24px 20px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs { flex-basis: 126px; width: 126px; padding-right: 16px; gap: 10px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a { padding: 16px 8px; border-radius: 15px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a.active { background: #eee9ff; color: #6845e8; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a.active .awx-vtab-icon { background: #6845e8; color: #fff; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .msg-list-col { padding-left: 20px !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #msgList li { padding-block: 18px; border-bottom-color: var(--awx-design-line); }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #msgList .user-name > .d-block { white-space: normal !important; display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .content-right .chat-container { background: var(--awx-design-surface); padding: 24px !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat { margin-bottom: 16px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-body { width: 82%; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-message { border-radius: 16px; padding: 16px 20px; box-shadow: none; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-left .chat-message { border: 0; border-radius: 16px; background: color-mix(in srgb,var(--awx-primary) 8%,var(--awx-design-surface)); }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-message p { line-height: 1.65; margin-bottom: 0; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-list-header { padding: 22px 24px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-list-header h6 { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: .875rem; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-list-header .header-left > div:last-child { min-width: 0; flex: 1; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-list-header .header-left > div:last-child > span { display: table; margin-top: 8px; padding: 4px 8px; background: color-mix(in srgb,var(--awx-primary) 8%,var(--awx-design-surface)); color: var(--awx-primary); border-radius: 7px; font-size: .6875rem; overflow-wrap: anywhere; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .content-right .chat-list-wrapper .chat-list #threadFooter { padding: 18px !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter #replySendBtn { min-width: 110px; }
@media (max-width: 767px) {
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar { padding: 14px; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs { flex-basis: auto; width: 100%; padding-right: 0; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a { padding: 10px 4px; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .msg-list-col { padding-left: 0 !important; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .content-right .chat-container { padding: 14px !important; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-body { width: auto; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-message { padding: 12px; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter #replySendBtn { min-width: 82px; }
}
/* Compact messaging height; lists and conversation retain their own scroll. */
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) :is(.sidebar-left,.content-right) {
    height: clamp(400px,calc(80dvh - 180px),540px) !important;
    min-height: 0 !important;
    margin-bottom: 16px;
}
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar { padding-block: 16px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #msgList li { padding-block: 10px; margin-bottom: 3px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a { padding-block: 10px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat-list-header { padding-block: 14px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .chat { margin-bottom: 12px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .content-right .chat-list-wrapper .chat-list #threadFooter { padding-block: 12px !important; }
@container (max-width: 1050px) {
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left { height: 300px !important; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .content-right { height: 450px !important; }
}
@media (max-width: 767px) {
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left { height: 300px !important; }
    body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .content-right { height: 450px !important; }
}
/* Messaging controls: exact indigo/violet palette from the supplied reference. */
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) :is(#replySendBtn,.msg-filter-btn,.msg-sort-btn,.dm-btn-primary) {
    --bs-btn-border-radius: 12px;
    --awx-button-color: var(--awx-primary);
    background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important;
    box-shadow: 0 3px 8px rgb(64 86 143 / 18%);
}
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) :is(#replySendBtn,.msg-filter-btn,.msg-sort-btn,.dm-btn-primary):hover:not(:disabled) {
    background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; border-color: color-mix(in srgb,var(--awx-primary) 85%,black) !important; color: var(--awx-on-primary) !important;
}
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) :is(#replySendBtn,.msg-filter-btn,.msg-sort-btn,.dm-btn-primary):active:not(:disabled) { background: #2d406b !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) :is(.msg-filter-btn,.msg-sort-btn) :is(span,strong,i) { color: inherit !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a.active { background: #eee9ff; color: #6340ef; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a.active .awx-vtab-icon { background: #6038f2; color: #fff; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a:focus-visible { outline-color: #00b5a5 !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .content-right .chat-list .chat-container .chat-content .chat:not(.chat-left) .chat-body .chat-message { background: var(--awx-primary); color: var(--awx-on-primary); }
html:not(.awx-design-dark) body.awx-app-design:not(.darkmode-body) :is(.awx-instructor-messages,.awx-student-messages) .content-right .chat-list .chat-container .chat-content .chat.chat-left .chat-body .chat-message { background: #edf2fa; color: #344963; border-color: #edf2fa; }
html:not(.awx-design-dark) body.awx-app-design:not(.darkmode-body) :is(.awx-instructor-messages,.awx-student-messages) .content-right .chat-list-wrapper .chat-list #threadFooter { background: #f3f3f9 !important; border-top-color: #e5eaf5 !important; }
html:not(.awx-design-dark) body.awx-app-design:not(.darkmode-body) :is(.awx-instructor-messages,.awx-student-messages) #threadFooter #replyBox { background: #fff !important; border-color: #cbd8ff !important; }
/* SimpleBar owns the thread's single scroll surface after initialization. */
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadScroll[data-simplebar='init'] { overflow: hidden !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadScroll .simplebar-content-wrapper {
    height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none;
}
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadScroll .simplebar-content-wrapper::-webkit-scrollbar { display: none !important; width: 0 !important; height: 0 !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadScroll .simplebar-track.simplebar-horizontal { display: none !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadScroll .simplebar-track.simplebar-vertical { width: 8px; right: 2px; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadScroll .simplebar-scrollbar::before { background: #b8c6e3; border-radius: 8px; }
/* Smaller conversation heading and status labels. */
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadHeader h6.mb-0.fw-bold { font-size: .75rem !important; line-height: 1.4; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadHeader h6 :is(.dsc-badge-answered,.dsc-badge-open,.dsc-type-badge) { font-size: .625rem !important; line-height: 1.4; }
/* Payment tabs share one bounded canvas, including long masked values. */
html:has(.awx-payment-settings) { scrollbar-gutter: stable; }
body.awx-app-design .awx-payment-settings { width: 100%; min-width: 0; }
body.awx-app-design .awx-payment-settings > .container-fluid { width: 100%; max-width: 100%; padding-inline: 12px !important; box-sizing: border-box; }
body.awx-app-design .awx-payment-settings :is(#pgwContent,.pgw-panel,.pgw-card,.pgw-card-body,.pgw-tl-body,.pgw-tl-field,.pgw-secret-wrap,.row > *) { min-width: 0; max-width: 100%; box-sizing: border-box; }
body.awx-app-design .awx-payment-settings :is(.pgw-panel,.pgw-card) { width: 100%; margin-inline: 0; }
body.awx-app-design .awx-payment-settings .pgw-tabs { width: 100%; gap: 4px; align-items: stretch; margin-inline: 0; padding-inline: 0; }
body.awx-app-design .awx-payment-settings .pgw-tab { min-height: 44px; height: 100%; padding: 10px 18px; font-size: .8125rem; }
body.awx-app-design .awx-payment-settings :is(.pgw-card-header,.pgw-tl-header) { padding: 20px 24px; gap: 16px; flex-wrap: wrap; }
body.awx-app-design .awx-payment-settings :is(.pgw-card-header,.pgw-tl-header) > * { min-width: 0; }
body.awx-app-design .awx-payment-settings .pgw-tl-brand { min-width: 0; }
body.awx-app-design .awx-payment-settings :is(.pgw-card-desc,.pgw-tl-sub,.pgw-masked-hint) { overflow-wrap: anywhere; }
body.awx-app-design .awx-payment-settings .pgw-card-body:not(.p-0) { padding: 20px 24px; }
body.awx-app-design .awx-payment-settings .pgw-tl-row { grid-template-columns: minmax(0,180px) minmax(0,1fr); padding: 16px 24px; }
body.awx-app-design .awx-payment-settings .pgw-tl-foot { padding: 20px 24px; flex-wrap: wrap; }
body.awx-app-design .awx-payment-settings :is(.pgw-input,.pgw-tl-input) { box-sizing: border-box; min-width: 0; max-width: 100%; }
body.awx-app-design .awx-payment-settings .pgw-secret-wrap .pgw-tl-input { padding-right: 42px; }
body.awx-app-design .awx-payment-settings .pgw-mode-selector { max-width: 100%; flex-wrap: wrap; }
body.awx-app-design .awx-payment-settings .pgw-mode-btn { white-space: normal; }
body.awx-app-design .awx-payment-settings .pgw-tl-readonly-wrap { min-width: 0; flex-wrap: wrap; }
body.awx-app-design .awx-payment-settings .pgw-tl-readonly-val { min-width: 0; overflow-wrap: anywhere; }
@container (max-width: 600px) {
    body.awx-app-design .awx-payment-settings .pgw-tl-row { grid-template-columns: minmax(0,1fr); gap: 8px; }
    body.awx-app-design .awx-payment-settings .pgw-tl-label { padding-top: 0; }
    body.awx-app-design .awx-payment-settings :is(.pgw-card-header,.pgw-tl-header,.pgw-tl-row,.pgw-tl-foot,.pgw-card-body:not(.p-0)) { padding-inline: 16px; }
}
@media (max-width: 575px) {
    body.awx-app-design .awx-payment-settings .pgw-tabs { flex-wrap: wrap; overflow: visible; }
    body.awx-app-design .awx-payment-settings .pgw-tab { padding-inline: 12px; }
}
/* Notification tabs: one canvas and wrapping controls at every width. */
html:has(.awx-notification-settings) { scrollbar-gutter: stable; }
body.awx-app-design .awx-notification-settings { width: 100%; min-width: 0; }
body.awx-app-design .awx-notification-settings > .container-fluid { width: 100%; max-width: 100%; padding-inline: 12px !important; box-sizing: border-box; }
body.awx-app-design .awx-notification-settings :is(#nnContent,.nn-panel,.nn-section,.nn-send-card,.nn-quick-card,.nn-custom-list,.nn-custom-card) { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
body.awx-app-design .awx-notification-settings .nn-tabs { width: 100%; flex-wrap: wrap; align-items: stretch; gap: 4px; }
body.awx-app-design .awx-notification-settings .nn-tab { min-height: 44px; padding: 10px 18px; }
body.awx-app-design .awx-notification-settings :is(.nn-quick-left,.nn-quick-right,.nn-quick-right > *, .nn-form-group,.nn-log-body,.nn-custom-body) { min-width: 0; max-width: 100%; }
body.awx-app-design .awx-notification-settings .nn-quick-left { flex: 1 1 280px; }
body.awx-app-design .awx-notification-settings .nn-quick-right { flex: 1 1 380px; justify-content: flex-start; }
body.awx-app-design .awx-notification-settings .nn-quick-right > div { flex-wrap: wrap; }
body.awx-app-design .awx-notification-settings :is(.nn-quick-card,.nn-send-card,.nn-custom-card) { padding: 20px 24px; }
body.awx-app-design .awx-notification-settings :is(.nn-form-input,.nn-form-textarea) { min-width: 0; max-width: 100%; box-sizing: border-box; }
body.awx-app-design .awx-notification-settings :is(.nn-section-head,.nn-event-row) { grid-template-columns: minmax(0,1fr) repeat(3,minmax(0,80px)); }
body.awx-app-design .awx-notification-settings :is(.nn-section-head,.nn-event-row) > * { min-width: 0; overflow-wrap: anywhere; }
body.awx-app-design .awx-notification-settings :is(.nn-save-bar,.nn-custom-actions,.nn-custom-card) { flex-wrap: wrap; }
body.awx-app-design .awx-notification-settings :is(.nn-quick-desc,.nn-custom-name,.nn-event-desc) { overflow-wrap: anywhere; }
@container (max-width: 600px) {
    body.awx-app-design .awx-notification-settings :is(.nn-quick-card,.nn-send-card,.nn-custom-card) { padding: 16px; }
    body.awx-app-design .awx-notification-settings :is(.nn-section-head,.nn-event-row) { grid-template-columns: minmax(0,1fr) repeat(3,44px); gap: 4px; padding: 12px; }
    body.awx-app-design .awx-notification-settings .nn-ch-label { font-size: .5625rem; letter-spacing: 0; }
    body.awx-app-design .awx-notification-settings .nn-tab { padding-inline: 12px; font-size: .75rem; }
}
/* Student-specific compose controls within the shared messaging layout. */
body.awx-app-design .awx-student-messages .ask-form-wrap { width: 100%; max-width: 560px; min-width: 0; padding: 20px; }
body.awx-app-design .awx-student-messages .ask-type-toggle { flex-wrap: wrap; }
body.awx-app-design .awx-student-messages :is(.cqa-textarea,.ask-form-wrap .form-select) { max-width: 100%; min-width: 0; box-sizing: border-box; background: var(--awx-design-surface); color: var(--awx-design-ink); border-color: var(--awx-design-line); border-radius: 10px; }
body.awx-app-design .awx-student-messages .ask-form-wrap label { color: var(--awx-design-ink); }
body.awx-app-design .awx-student-messages #askSubmitBtn { --bs-btn-border-radius: 12px; background: var(--awx-primary) !important; color: var(--awx-on-primary) !important; border-color: var(--awx-primary) !important; min-height: 44px; }
body.awx-app-design .awx-student-messages #askSubmitBtn:hover:not(:disabled) { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
/* The initialized list delegates scrolling to SimpleBar, including mobile. */
body.awx-app-design .awx-student-messages #msgList { max-height: none; min-height: 0; overflow: visible; }
body.awx-app-design .awx-student-messages .sidebar-content[data-simplebar='init'] { overflow: hidden !important; }
body.awx-app-design .awx-student-messages .sidebar-content .simplebar-content-wrapper { scrollbar-width: none !important; }
body.awx-app-design .awx-student-messages .sidebar-content .simplebar-content-wrapper::-webkit-scrollbar { display: none !important; width: 0 !important; }
/* Course detail: reference presentation, live enrollment controls retained. */
.awx-course-design { --course-accent: var(--awx-primary); --course-ink: var(--awx-design-ink,#101828); --course-muted: var(--awx-design-muted,#667085); --course-surface: var(--awx-design-surface,#fff); --course-line: var(--awx-design-line,#e6eaf0); font-family: Inter,'Segoe UI',sans-serif; min-width: 0; }
.awx-course-design .tcd-main { grid-template-columns: minmax(0,1fr) minmax(280px,350px); gap: 28px; padding: 28px 20px 24px; }
.awx-course-design :is(.tcd-content-col,.tcd-sidebar,.tcd-hero-text,.tcd-content-body) { min-width: 0; }
.awx-course-design .tcd-sidebar { position: static; display: flex; flex-direction: column; gap: 20px; }
.awx-course-design .tcd-course-header { padding: 0 0 24px; gap: 10px; }
.awx-course-design .tcd-hero-row { align-items: flex-start; }
body.awx-app-design .awx-course-design #tcdTitle { font-size: 2rem; font-weight: 700; line-height: 1.25; letter-spacing: -.035em; color: var(--course-ink); overflow-wrap: anywhere; }
.awx-course-design .tcd-hero-excerpt { font-size: .9375rem; line-height: 1.7; color: var(--course-muted); }
.awx-course-design .tcd-stats-bar { flex-wrap: wrap; gap: 16px; margin-top: 18px; padding: 14px 0 0; border-top: 1px solid var(--course-line); border-bottom: 0; }
.awx-course-design .tcd-stat-item { gap: 9px; }
.awx-course-design :is(.tcd-stat-item,.tcd-section-title) > i { display: inline-grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border: 1px solid #d9e6ff; border-radius: 10px; background: #edf4ff; color: var(--course-accent); font-size: 17px; }
.awx-course-design .tcd-header-img { width: 100%; max-width: none; height: 220px; max-height: none; margin: 0; border-radius: 24px; background: linear-gradient(135deg,#dce8ff,#b9d8ff); box-shadow: 0 14px 34px rgb(16 24 40 / 10%); }
.awx-course-design .tcd-header-img > img { width: 100%; height: 100%; object-fit: cover; }
.awx-course-design .tcd-enrollment-card { position: static; background: linear-gradient(155deg,#f1f6ff,#eaf2ff); border: 1px solid #dbe7fb; border-radius: 24px; box-shadow: none; }
.awx-course-design .tcd-card-body { padding: 28px; }
.awx-course-design :is(#tcdPrice,.tcd-price-sub) { text-align: center; }
.awx-course-design :is(.tcd-price-free,.tcd-price-main) { font-size: 2rem; color: var(--course-accent); letter-spacing: -.03em; }
.awx-course-design .tcd-btn-primary { --bs-btn-border-radius: 12px; background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; box-shadow: 0 6px 16px rgb(64 86 143 / 18%); min-height: 44px; white-space: normal; }
.awx-course-design .tcd-btn-primary:hover:not(:disabled) { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; border-color: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
.awx-course-design .tcd-btn-primary:disabled { box-shadow: none; opacity: .6; }
.awx-course-design .tcd-card-progress-fill { background: linear-gradient(90deg,var(--awx-primary),#0ab39c); }
.awx-course-design .tcd-section { padding: 28px; margin-bottom: 20px; border: 1px solid var(--course-line); border-radius: 18px; background: var(--course-surface); box-shadow: 0 6px 20px rgb(16 24 40 / 5%); }
body.awx-app-design .awx-course-design .tcd-section-title { font-size: 1.0625rem; color: var(--course-ink); letter-spacing: -.02em; padding-bottom: 16px; border-bottom: 1px solid var(--course-line); }
.awx-course-design .tcd-desc-content { font-family: inherit; font-size: .9375rem; color: var(--course-ink); overflow-wrap: anywhere; }
.awx-course-design .tcd-desc-content :is(img,video,iframe,table) { max-width: 100%; }
.awx-course-design .tcd-topic { border-radius: 12px; border-color: var(--course-line); overflow: hidden; }
.awx-course-design .tcd-topic-head { background: var(--awx-design-soft,#f8f9fc); padding: 15px 18px; }
.awx-course-design :is(.tcd-topic-title,.tcd-lesson-title,.tcd-inst-bio,.tcd-plan-name) { min-width: 0; overflow-wrap: anywhere; }
.awx-course-design .tcd-similar-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.awx-course-design .tcd-sim-card { border-radius: 16px; border-color: var(--course-line); background: var(--course-surface); }
html.awx-design-dark .awx-course-design .tcd-enrollment-card, body.darkmode-body .awx-course-design .tcd-enrollment-card { background: #1b2a43; border-color: #405189; }
html.awx-design-dark .awx-course-design :is(.tcd-price-free,.tcd-price-main) { color: #a7bcff; }
@container (max-width: 950px) {
    .awx-course-design .tcd-main { grid-template-columns: minmax(0,1fr); grid-template-areas: none; gap: 18px; }
    .awx-course-design .tcd-content-col { display: contents; }
    .awx-course-design .tcd-course-header { grid-column: 1; order: -2; }
    .awx-course-design .tcd-sidebar { grid-area: auto; grid-column: 1; order: -1; }
    .awx-course-design .tcd-section { grid-column: 1; }
    .awx-course-design .tcd-header-img { height: 300px; }
}
@media (max-width: 991px) {
    .awx-course-design .tcd-main { grid-template-columns: minmax(0,1fr); grid-template-areas: none; padding: 24px 16px; gap: 18px; }
    .awx-course-design .tcd-content-col { display: contents; }
    .awx-course-design .tcd-course-header { grid-column: 1; order: -2; }
    .awx-course-design .tcd-sidebar { grid-area: auto; grid-column: 1; order: -1; }
    .awx-course-design .tcd-section { grid-column: 1; }
}
@media (max-width: 575px) {
    body.awx-app-design .awx-course-design #tcdTitle { font-size: 1.55rem; }
    .awx-course-design .tcd-main { padding-inline: 0; }
    .awx-course-design :is(.tcd-card-body,.tcd-section) { padding: 20px; }
    .awx-course-design .tcd-header-img { height: 230px; border-radius: 18px; }
    .awx-course-design .tcd-similar-grid { grid-template-columns: minmax(0,1fr); }
}
/* Bundle catalogue, matching the demo cards without replacing live content. */
body.awx-app-design .awx-packages { width: 100%; min-width: 0; }
body.awx-app-design .awx-packages > .container-fluid { padding-inline: 12px !important; padding-bottom: 32px; }
body.awx-app-design .awx-packages #pkgPageTitle { font-size: 1.5rem; line-height: 1.3; color: var(--awx-design-ink) !important; letter-spacing: -.025em; }
body.awx-app-design .awx-packages form { max-width: 100%; align-items: center; }
body.awx-app-design .awx-packages #pkgSearch { width: min(320px,100%); min-width: 0 !important; min-height: 44px; border-radius: 24px; background: var(--awx-design-surface); border: 1px solid var(--awx-design-line); padding-inline: 18px; }
body.awx-app-design .awx-packages form .btn { flex-shrink: 0; min-width: 44px; min-height: 44px; --bs-btn-border-radius: 12px; background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; }
body.awx-app-design .awx-packages #pkgGrid:not(.d-none) { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,260px),1fr)); gap: 18px; margin: 0; }
body.awx-app-design .awx-packages #pkgGrid > div { width: 100%; min-width: 0; margin: 0; padding: 0; }
body.awx-app-design .awx-packages .pkg-card { padding: 20px; background: var(--awx-design-surface); border: 1px solid var(--awx-design-line); border-radius: 20px; box-shadow: 0 3px 12px rgb(64 81 137 / 4%); }
body.awx-app-design .awx-packages .pkg-card:hover { border-color: #aebddb; box-shadow: 0 8px 22px rgb(64 81 137 / 13%); transform: translateY(-2px); }
body.awx-app-design .awx-packages .pkg-card:focus-within { border-color: var(--awx-primary); }
body.awx-app-design .awx-packages .pkg-thumb { height: auto; aspect-ratio: 1.75; border-radius: 11px; background: var(--awx-design-soft); margin-bottom: 18px; }
body.awx-app-design .awx-packages .pkg-badge-count { padding: 4px 9px; background: color-mix(in srgb,var(--awx-primary) 85%,black); font-size: .6875rem; border-radius: 8px; bottom: 10px; left: 10px; }
body.awx-app-design .awx-packages .pkg-card .card-body { padding: 0 !important; min-width: 0; }
body.awx-app-design .awx-packages .pkg-card .card-body > span { color: var(--awx-design-muted) !important; font-size: .75rem !important; font-weight: 500 !important; letter-spacing: 0 !important; margin-bottom: 4px; overflow-wrap: anywhere; }
body.awx-app-design .awx-packages .pkg-card h6 { font-size: 1.0625rem !important; line-height: 1.4 !important; color: var(--awx-design-ink); letter-spacing: 0; overflow-wrap: anywhere; margin-top: 10px !important; margin-bottom: 18px !important; }
body.awx-app-design .awx-packages .pkg-card .card-body > .d-flex { flex-wrap: wrap; gap: 12px; border-color: var(--awx-design-line) !important; padding-top: 16px !important; }
body.awx-app-design .awx-packages .pkg-card .text-primary { color: var(--awx-design-ink) !important; font-size: 1.125rem !important; }
body.awx-app-design .awx-packages .pkg-card .btn { --bs-btn-border-radius: 9px; --bs-btn-font-size: .8125rem; --awx-button-color: var(--awx-primary); min-height: 38px; padding: 8px 14px !important; border-color: var(--awx-primary) !important; background: var(--awx-primary) !important; color: var(--awx-on-primary) !important; box-shadow: 0 2px 5px rgb(64 81 137 / 14%); }
body.awx-app-design .awx-packages .pkg-card .btn:hover { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; color: var(--awx-on-primary) !important; border-color: var(--awx-primary) !important; }
body.awx-app-design .awx-packages #pkgPagination { flex-wrap: wrap; }
body.awx-app-design .awx-packages #pkgPagination .btn-primary { background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; }
body.awx-app-design .awx-packages :is(#pkgLoading,#pkgEmpty) { border: 1px solid var(--awx-design-line); border-radius: 16px; background: var(--awx-design-surface); }
@media (max-width: 1100px) {
    body.awx-app-design .awx-packages #pkgGrid:not(.d-none) { grid-template-columns: repeat(auto-fill,minmax(min(100%,260px),1fr)); }
}
@media (max-width: 575px) {
    body.awx-app-design .awx-packages #pkgGrid:not(.d-none) { grid-template-columns: minmax(0,1fr); }
    body.awx-app-design .awx-packages > .container-fluid { padding-inline: 4px !important; }
    body.awx-app-design .awx-packages form { width: 100%; }
    body.awx-app-design .awx-packages #pkgSearch { width: 100%; }
    body.awx-app-design .awx-packages .pkg-card { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    body.awx-app-design .awx-packages .pkg-card, body.awx-app-design .awx-packages .pkg-thumb img { transition: none; transform: none; }
}

/* Instructor enrollment: demo surfaces and spacing, existing states preserved. */
body.awx-app-design .awx-enrollment { container-type: inline-size; }
body.awx-app-design .awx-enrollment > .container-fluid { padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design .awx-enrollment > .container-fluid > .d-flex { margin-bottom: 28px !important; }
body.awx-app-design .awx-enrollment h4 { font-size: 1.5rem; line-height: 1.3; letter-spacing: -.025em; color: var(--awx-design-ink); }
body.awx-app-design .awx-enrollment .row > div { min-width: 0; }
body.awx-app-design .awx-enrollment .card { border-radius: 18px !important; border: 1px solid var(--awx-design-line) !important; background: var(--awx-design-surface); box-shadow: 0 3px 16px rgb(64 81 137 / 7%) !important; }
body.awx-app-design .awx-enrollment .card-body.p-4 { padding: 24px !important; }
body.awx-app-design .awx-enrollment .card-header { padding: 24px 24px 12px !important; background: var(--awx-design-surface) !important; border-radius: 18px 18px 0 0; gap: 12px; }
body.awx-app-design .awx-enrollment .card h6 { color: var(--awx-design-ink) !important; font-size: 1rem; line-height: 1.5; }
body.awx-app-design .awx-enrollment .card h6 > i { color: var(--awx-design-ink) !important; font-size: 1.25rem; vertical-align: middle; }
body.awx-app-design .awx-enrollment .form-label { font-size: .875rem !important; color: var(--awx-design-ink); margin-bottom: 10px; }
body.awx-app-design .awx-enrollment :is(.form-control,.form-select) { min-height: 46px; min-width: 0; font-size: .875rem !important; background-color: var(--awx-design-soft); color: var(--awx-design-ink); border: 1px solid var(--awx-design-line); }
body.awx-app-design .awx-enrollment .form-select { border-radius: 10px !important; padding-block: 10px; padding-left: 14px; }
body.awx-app-design .awx-enrollment .input-group { flex-wrap: nowrap; align-items: stretch; }
body.awx-app-design .awx-enrollment #searchEmail { border-radius: 10px 0 0 10px !important; padding: 12px 16px; }
body.awx-app-design .awx-enrollment .awx-button:is(.btn-primary,.btn-outline-primary) { --awx-button-color: var(--awx-primary); --bs-btn-border-radius: 10px; background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; min-height: 42px; box-shadow: 0 3px 8px rgb(64 81 137 / 15%); }
body.awx-app-design .awx-enrollment .awx-button:is(.btn-primary,.btn-outline-primary):hover:not(:disabled) { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; border-color: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
body.awx-app-design .awx-enrollment #btnSearch { width: 46px; min-width: 46px; height: auto; margin-left: 0; border-radius: 0 10px 10px 0 !important; }
body.awx-app-design .awx-enrollment #btnEnroll { min-height: 44px; }
body.awx-app-design .awx-enrollment #btnEnroll:disabled { opacity: .6; box-shadow: none; }
body.awx-app-design .awx-enrollment #userResult > div { background: var(--awx-design-soft) !important; border-color: var(--awx-design-line) !important; }
body.awx-app-design .awx-enrollment :is(#userName,#userEmail,#enrollMsg) { overflow-wrap: anywhere; }
body.awx-app-design .awx-enrollment #studentsCount { background: var(--awx-design-soft) !important; color: var(--awx-design-ink) !important; flex-shrink: 0; }
body.awx-app-design .awx-enrollment #studentsEmpty { padding: 48px 24px !important; }
body.awx-app-design .awx-enrollment #studentsEmpty p { margin-bottom: 0; line-height: 1.6; }
body.awx-app-design .awx-enrollment #studentsTableWrap { margin: 12px 16px 4px; width: auto; border: 1px solid var(--awx-design-line); border-radius: 14px; }
body.awx-app-design .awx-enrollment .table { --bs-table-bg: var(--awx-design-surface); --bs-table-color: var(--awx-design-ink); --bs-table-hover-bg: var(--awx-design-soft); --bs-table-hover-color: var(--awx-design-ink); border-color: var(--awx-design-line); font-size: .8125rem !important; }
body.awx-app-design .awx-enrollment .table thead { background: var(--awx-design-soft) !important; }
body.awx-app-design .awx-enrollment .table th { --bs-table-bg: var(--awx-design-soft); font-weight: 600; }
body.awx-app-design .awx-enrollment .table :is(th,td) { padding: 14px 16px !important; vertical-align: middle; }
@container (max-width: 780px) {
    body.awx-app-design .awx-enrollment .row > :is(.col-lg-5,.col-lg-7) { width: 100%; }
}
@media (max-width: 575px) {
    body.awx-app-design .awx-enrollment > .container-fluid { padding-inline: 4px; }
    body.awx-app-design .awx-enrollment .card-body.p-4 { padding: 20px !important; }
    body.awx-app-design .awx-enrollment .card-header { padding: 20px 20px 10px !important; }
    body.awx-app-design .awx-enrollment > .container-fluid > .d-flex > a { width: 100%; }
}
body.awx-app-design .awx-enrollment { width: 100%; min-width: 0; }
body.awx-app-design .awx-enrollment #searchEmail { height: 46px; min-height: 46px; }
body.awx-app-design .awx-enrollment #btnSearch { height: 46px !important; align-self: stretch; }

/* Student creation: centered form matching the shared design reference. */
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) { width: 100%; min-width: 0; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) > .container-fluid { padding-inline: 12px; padding-bottom: 28px; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) h4 { color: var(--awx-design-ink); font-size: 1.5rem; line-height: 1.3; letter-spacing: -.025em; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) > .container-fluid > .mb-4 { margin-bottom: 28px !important; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .row.justify-content-center > .col-lg-7 { width: 100%; max-width: 860px; min-width: 0; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .card { background: var(--awx-design-surface); border: 1px solid var(--awx-design-line) !important; border-radius: 20px !important; box-shadow: 0 4px 22px rgb(64 81 137 / 7%) !important; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .card-body { padding: clamp(20px, 3vw, 32px) !important; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .row.g-3 { --bs-gutter-x: 20px; --bs-gutter-y: 22px; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .row.g-3 > div { min-width: 0; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) :is(.form-label,.form-check-label) { font-size: .875rem !important; color: var(--awx-design-ink); line-height: 1.5; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .form-label { margin-bottom: 10px; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) :is(.form-control,.form-select) { font-size: .875rem !important; color: var(--awx-design-ink); background-color: var(--awx-design-soft); border: 1px solid var(--awx-design-line); border-radius: 10px !important; min-width: 0; width: 100%; max-width: 100%; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .form-control { height: 60px; min-height: 60px; padding: 16px 20px; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .form-control::placeholder { color: var(--awx-design-muted); opacity: .75; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .form-select { min-height: 46px; padding-left: 16px; padding-block: 10px; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .form-text { font-size: .8125rem !important; line-height: 1.6; margin-top: 6px; color: var(--awx-design-muted); }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .input-group { display: flex; flex-wrap: nowrap; align-items: stretch; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) :is(#csPassword,#ciPassword) { flex: 1 1 0; border-radius: 10px 0 0 10px !important; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .awx-button { --awx-button-color: var(--awx-primary); --bs-btn-border-radius: 10px; background: var(--awx-primary) !important; color: var(--awx-on-primary) !important; border-color: var(--awx-primary) !important; min-height: 44px; box-shadow: 0 3px 8px rgb(64 81 137 / 15%); }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .awx-button:hover:not(:disabled) { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; border-color: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .input-group > button { flex: 0 0 auto; height: 60px; margin-left: 0; border-radius: 0 10px 10px 0 !important; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .card-body > .d-flex { flex-wrap: wrap; gap: 10px !important; margin-top: 28px !important; }
body.awx-app-design :is(.awx-create-student,.awx-create-instructor) :is(#formError,#formSuccess) { overflow-wrap: anywhere; }
@media (max-width: 575px) {
    body.awx-app-design :is(.awx-create-student,.awx-create-instructor) > .container-fluid { padding-inline: 4px; }
    body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .form-control { padding-inline: 12px; }
    body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .input-group > button { padding-inline: 12px !important; }
    body.awx-app-design :is(.awx-create-student,.awx-create-instructor) .card-body > .d-flex .awx-button { flex: 1 1 auto; }
}

/* Instructor student and staff directories: compact summary and contained data table. */
body.awx-app-design :is(.awx-students,.awx-instructors) { width: 100%; min-width: 0; }
body.awx-app-design :is(.awx-students,.awx-instructors) > .container-fluid { padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design :is(.awx-students,.awx-instructors) h4 { font-size: 1.5rem; line-height: 1.3; letter-spacing: -.025em; color: var(--awx-design-ink); }
body.awx-app-design :is(.awx-students,.awx-instructors) :is(#studentCount,#instrCount) { display: block; margin-top: 4px; font-size: .8125rem; }
body.awx-app-design :is(.awx-students,.awx-instructors) > .container-fluid > .d-flex { margin-bottom: 26px !important; }
body.awx-app-design :is(.awx-students,.awx-instructors) > .container-fluid > .d-flex > .d-flex { flex: 0 1 520px; min-width: 0; }
body.awx-app-design :is(.awx-students,.awx-instructors) :is(#searchStudent,#searchInstr) { flex: 1 0 100%; width: 100%; min-width: 0 !important; min-height: 46px; padding: 12px 18px; border-radius: 28px !important; background: var(--awx-design-soft); border: 1px solid var(--awx-design-line); color: var(--awx-design-ink); font-size: .875rem; }
body.awx-app-design :is(.awx-students,.awx-instructors) > .container-fluid > .d-flex .awx-button { --awx-button-color: var(--awx-primary); --bs-btn-border-radius: 10px; min-height: 40px; background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; box-shadow: 0 3px 8px rgb(64 81 137 / 15%); }
body.awx-app-design :is(.awx-students,.awx-instructors) > .container-fluid > .d-flex .awx-button:hover { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; border-color: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
body.awx-app-design :is(.awx-students,.awx-instructors) .card { min-width: 0; background: var(--awx-design-surface); border: 1px solid var(--awx-design-line) !important; border-radius: 18px !important; box-shadow: 0 4px 16px rgb(64 81 137 / 7%) !important; }
body.awx-app-design :is(.awx-students,.awx-instructors) .row.g-3 { --bs-gutter-x: 18px; --bs-gutter-y: 18px; margin-bottom: 24px !important; }
body.awx-app-design :is(.awx-students,.awx-instructors) .row.g-3 > div { min-width: 0; }
body.awx-app-design :is(.awx-students,.awx-instructors) .row.g-3 .card { height: 100%; padding: 22px !important; }
body.awx-app-design :is(.awx-students,.awx-instructors) .row.g-3 .card .d-flex > div:first-child { width: 46px !important; height: 46px !important; background: var(--awx-design-soft) !important; }
body.awx-app-design :is(.awx-students,.awx-instructors) :is(#statTotal,#statActive,#statCompleted,#statCourses,#statAdmins) { font-size: 1.5rem !important; color: var(--awx-design-ink); line-height: 1.3; margin-bottom: 4px; }
body.awx-app-design :is(.awx-students,.awx-instructors) .row.g-3 .text-muted { font-size: .8125rem !important; line-height: 1.5; }
body.awx-app-design :is(.awx-students,.awx-instructors) :is(#stuTableWrap,#instrTableWrap) { margin: 10px; max-width: calc(100% - 20px); border-radius: 12px; }
body.awx-app-design :is(.awx-students,.awx-instructors) .table { min-width: 780px; font-size: .8125rem !important; --bs-table-bg: var(--awx-design-surface); --bs-table-color: var(--awx-design-ink); --bs-table-hover-bg: var(--awx-design-soft); --bs-table-hover-color: var(--awx-design-ink); border-color: var(--awx-design-line); }
body.awx-app-design :is(.awx-students,.awx-instructors) .table thead { background: var(--awx-design-soft) !important; border-bottom: 1px solid var(--awx-design-line) !important; }
body.awx-app-design :is(.awx-students,.awx-instructors) .table th { --bs-table-bg: var(--awx-design-soft); font-weight: 600; white-space: nowrap; }
body.awx-app-design :is(.awx-students,.awx-instructors) .table :is(th,td) { padding: 14px 16px !important; vertical-align: middle; line-height: 1.5; }
body.awx-app-design :is(.awx-students,.awx-instructors) .table td { max-width: 300px; overflow-wrap: anywhere; }
body.awx-app-design :is(.awx-students,.awx-instructors) .table tbody tr:last-child td { border-bottom: 0; }
@media (max-width: 575px) {
    body.awx-app-design :is(.awx-students,.awx-instructors) > .container-fluid { padding-inline: 4px; }
    body.awx-app-design :is(.awx-students,.awx-instructors) > .container-fluid > .d-flex > .d-flex { flex-basis: 100%; }
    body.awx-app-design :is(.awx-students,.awx-instructors) > .container-fluid > .d-flex .awx-button { flex: 1 1 auto; }
    body.awx-app-design :is(.awx-students,.awx-instructors) .row.g-3 .card { padding: 18px !important; }
}
body.awx-app-design :is(.awx-students,.awx-instructors) .table :is(td:nth-child(3),td:nth-child(5),td:last-child),
body.awx-app-design :is(.awx-students,.awx-instructors) .table td .btn { white-space: nowrap; overflow-wrap: normal; }

/* Instructor welcome: live summary alongside the greeting and month filter. */
body.awx-app-design #instructorDashboardWrap .dash-hero.awx-inst-summary-ready { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,2.2fr); align-items: center; gap: 24px; padding: 66px 28px 28px; min-height: 200px; position: relative; overflow: hidden; border-radius: 22px; border: 1px solid var(--awx-design-line); background: linear-gradient(110deg,var(--awx-design-surface),var(--awx-design-soft)); }
body.awx-app-design #instructorDashboardWrap .dash-hero.awx-inst-summary-ready::after { content: ''; position: absolute; width: 200px; height: 200px; right: -70px; bottom: -90px; background: rgb(10 179 156 / 6%); border-radius: 50%; pointer-events: none; }
body.awx-app-design #instructorDashboardWrap .dash-hero-text { position: static; min-width: 0; }
body.awx-app-design #instructorDashboardWrap .dash-hero-text::before { content: 'PANEL DEL INSTRUCTOR'; color: var(--awx-design-ink); letter-spacing: .08em; font-size: .6875rem; }
body.awx-app-design #instructorDashboardWrap .dash-hero-text h4 { font-size: 1.7rem; line-height: 1.25; }
body.awx-app-design #instructorDashboardWrap .dash-hero-text p { margin-bottom: 0 !important; line-height: 1.5; }
body.awx-app-design #instructorDashboardWrap #dashMonth { position: absolute; top: 20px; right: 28px; min-height: 40px; max-width: calc(100% - 56px); background-color: var(--awx-design-surface); color: var(--awx-design-ink); border-color: var(--awx-design-line); }
body.awx-app-design #instructorDashboardWrap .awx-summary-metrics { position: relative; z-index: 1; gap: 14px; }
body.awx-app-design #instructorDashboardWrap .awx-summary-metric { gap: 12px; }
body.awx-app-design #instructorDashboardWrap .awx-summary-metric strong { font-size: 1.7rem; }
body.awx-app-design .awx-instructor-home .awx-inst-shortcuts { padding: 26px; border-radius: 20px; position: relative; }
body.awx-app-design .awx-instructor-home .awx-inst-shortcuts::before { content: 'ACCIONES CLAVE'; width: fit-content; padding: 6px 10px; border-radius: 6px; background: var(--awx-design-soft); color: var(--awx-design-accent); font-size: .6875rem; letter-spacing: .08em; margin-bottom: 52px; }
body.awx-app-design .awx-instructor-home .awx-inst-shortcuts::after { content: 'Accesos rápidos'; position: absolute; top: 66px; left: 26px; font-size: 1.375rem; font-weight: 700; color: var(--awx-design-ink); line-height: 1.3; }
body.awx-app-design .awx-instructor-home .quick-link-card { min-height: 124px; background: var(--awx-design-surface) !important; border-radius: 18px !important; padding: 20px !important; }
body.awx-app-design .awx-instructor-home .quick-link-card > div:nth-child(2) > div:first-child { font-size: 1rem !important; }
body.awx-app-design .awx-instructor-home .quick-link-card > div:nth-child(2) > div:last-child { margin-top: 4px; font-size: .875rem !important; }
@container (max-width: 680px) {
    body.awx-app-design #instructorDashboardWrap .dash-hero.awx-inst-summary-ready { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 575px) {
    body.awx-app-design #instructorDashboardWrap .dash-hero.awx-inst-summary-ready { padding: 74px 20px 24px; }
    body.awx-app-design #instructorDashboardWrap #dashMonth { right: 20px; max-width: calc(100% - 40px); }
    body.awx-app-design #instructorDashboardWrap .awx-summary-metrics { grid-template-columns: 1fr; gap: 12px; }
    body.awx-app-design .awx-instructor-home .quick-link-card { min-height: 100px; }
}

/* Admin welcome: same treatment as the instructor hero — live summary of
   cursos/estudiantes/tareas/ingresos mirrored into the banner (see
   adminSummary() in app-design.js). Once ready, the old standalone
   "Indicadores principales" row underneath is redundant and gets hidden. */
body.awx-app-design #adminDashboardWrap .dash-hero.awx-admin-summary-ready { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,2.2fr); align-items: center; gap: 24px; padding: 32px 28px; min-height: 200px; position: relative; overflow: hidden; border-radius: 22px; border: 1px solid var(--awx-design-line); background: linear-gradient(110deg,var(--awx-design-surface),var(--awx-design-soft)); }
body.awx-app-design #adminDashboardWrap .dash-hero.awx-admin-summary-ready::after { content: ''; position: absolute; width: 200px; height: 200px; right: -70px; bottom: -90px; background: rgb(10 179 156 / 6%); border-radius: 50%; pointer-events: none; }
body.awx-app-design #adminDashboardWrap .dash-hero-text { position: static; min-width: 0; }
body.awx-app-design #adminDashboardWrap .dash-hero-text::before { content: 'PANEL DE GESTIÓN'; display: block; margin-bottom: 10px; color: var(--awx-design-ink); letter-spacing: .08em; font-size: .6875rem; font-weight: 700; }
body.awx-app-design #adminDashboardWrap .dash-hero-text h4 { font-size: 1.7rem; line-height: 1.25; }
body.awx-app-design #adminDashboardWrap .dash-hero-text p { margin-bottom: 0 !important; line-height: 1.5; }
body.awx-app-design #adminDashboardWrap .awx-summary-metrics { position: relative; z-index: 1; gap: 14px; grid-template-columns: repeat(2,minmax(0,1fr)); }
body.awx-app-design #adminDashboardWrap .awx-summary-metric { gap: 12px; }
body.awx-app-design #adminDashboardWrap .awx-summary-metric strong { font-size: 1.5rem; }
body.awx-app-design #adminDashboardWrap:has(.dash-hero.awx-admin-summary-ready) .awx-inst-metrics { display: none; }
@container (max-width: 680px) {
    body.awx-app-design #adminDashboardWrap .dash-hero.awx-admin-summary-ready { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 575px) {
    body.awx-app-design #adminDashboardWrap .dash-hero.awx-admin-summary-ready { padding: 24px 20px; }
    body.awx-app-design #adminDashboardWrap .awx-summary-metrics { grid-template-columns: 1fr; gap: 12px; }
}

/* Certificate gallery: decorate the cards, never the printable template. */
body.awx-app-design .awx-certificates { width: 100%; min-width: 0; }
body.awx-app-design .awx-certificates .cert-wrap { padding: 0 12px 32px; }
body.awx-app-design .awx-certificates .ic-header { margin-bottom: 30px; gap: 16px; }
body.awx-app-design .awx-certificates .ic-title { font-size: 1.5rem; color: var(--awx-design-ink); line-height: 1.3; letter-spacing: -.025em; }
body.awx-app-design .awx-certificates #icSubtitle { font-size: .875rem !important; color: var(--awx-design-muted) !important; }
body.awx-app-design .awx-certificates .ic-actions .btn { --bs-btn-border-radius: 12px; min-height: 44px; background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; box-shadow: 0 4px 10px rgb(64 81 137 / 18%); }
body.awx-app-design .awx-certificates .cert-section-title { font-size: .8125rem; color: var(--awx-design-muted); }
body.awx-app-design .awx-certificates .cert-section-hdr { margin-bottom: 22px; }
body.awx-app-design .awx-certificates .cert-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(285px,100%),1fr)); gap: 22px; border-radius: 0; overflow: visible; box-shadow: none; }
body.awx-app-design .awx-certificates .cert-item { min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 24px 20px; border: 7px double #b9c9e8; border-radius: 16px; background: var(--awx-design-surface); text-align: center; min-height: 330px; }
body.awx-app-design .awx-certificates .cert-item:hover { background: var(--awx-design-surface); border-color: #839bc9; box-shadow: 0 6px 20px rgb(64 81 137 / 9%); }
body.awx-app-design .awx-certificates .cert-thumb { width: 100%; height: 130px; min-height: 0; object-fit: contain; background: var(--awx-design-soft); border: 1px solid var(--awx-design-line); border-radius: 8px; }
body.awx-app-design .awx-certificates .cert-thumb-placeholder { width: 100%; height: 100px; background: transparent; border: none; }
body.awx-app-design .awx-certificates .cert-thumb-placeholder i { font-size: 44px; color: var(--awx-design-muted); }
body.awx-app-design .awx-certificates .cert-info { flex: 1; width: 100%; }
body.awx-app-design .awx-certificates .cert-name { font-size: 1.125rem; line-height: 1.4; color: var(--awx-design-ink); white-space: normal; overflow: visible; overflow-wrap: anywhere; margin-bottom: 14px; }
body.awx-app-design .awx-certificates .cert-meta { justify-content: center; color: var(--awx-design-muted); gap: 6px 12px; line-height: 1.5; }
body.awx-app-design .awx-certificates .cert-actions { flex-wrap: wrap; justify-content: center; width: 100%; gap: 10px; }
body.awx-app-design .awx-certificates .cert-status-badge { flex-basis: 100%; width: fit-content; max-width: 140px; padding: 5px 12px; }
body.awx-app-design .awx-certificates .cert-btn-icon { min-height: 38px; min-width: 38px; --bs-btn-border-radius: 10px; }
body.awx-app-design .awx-certificates .cert-btn-icon[title="Editar"] { width: auto; padding-inline: 14px !important; background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; }
body.awx-app-design .awx-certificates .cert-btn-icon[title="Editar"]::after { content: 'Editar'; font-size: .8125rem; }
body.awx-app-design .awx-certificates :is(.cert-empty,.cert-loading) { background: var(--awx-design-surface); border: 1px solid var(--awx-design-line); border-radius: 18px; box-shadow: 0 4px 16px rgb(64 81 137 / 6%); }
@media (max-width: 575px) {
    body.awx-app-design .awx-certificates .cert-wrap { padding-inline: 4px; }
    body.awx-app-design .awx-certificates .cert-item { padding: 20px 16px; }
    body.awx-app-design .awx-certificates .ic-actions { width: 100%; }
    body.awx-app-design .awx-certificates .ic-actions .btn { width: 100%; }
}
body.awx-app-design .awx-certificates .cert-actions { display: grid; grid-template-columns: auto auto auto; justify-content: center; }
body.awx-app-design .awx-certificates .cert-status-badge { grid-column: 1 / -1; justify-self: center; margin-bottom: 4px; }
body.awx-app-design .awx-certificates .cert-btn-icon[title="Editar"] { width: auto !important; min-width: 88px; }
body.awx-app-design .awx-certificates .cert-thumb-placeholder { height: 130px; }

/* Enrolled courses: reference palette, equal-height cards and real progress. */
body.awx-app-design .awx-my-courses { width: 100%; min-width: 0; margin-top: 0 !important; }
body.awx-app-design .awx-my-courses > .container-fluid { padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design .awx-my-courses > .container-fluid > .d-flex:first-child { flex-wrap: wrap; gap: 16px; margin-bottom: 28px !important; }
body.awx-app-design .awx-my-courses h4 { font-size: 1.5rem; color: var(--awx-design-ink); letter-spacing: -.025em; line-height: 1.3; }
body.awx-app-design .awx-my-courses #courseCountLabel { display: block; margin-top: 5px; font-size: .875rem; }
body.awx-app-design .awx-my-courses .awx-button { --awx-button-color: var(--awx-primary); --bs-btn-border-radius: 10px; min-height: 40px; background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; box-shadow: 0 3px 9px rgb(64 81 137 / 16%); }
body.awx-app-design .awx-my-courses .awx-button:hover:not(:disabled) { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; border-color: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
body.awx-app-design .awx-my-courses .filter-btn.active { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; border-color: color-mix(in srgb,var(--awx-primary) 85%,black) !important; box-shadow: inset 0 -3px 0 #49c9bb, 0 3px 9px rgb(64 81 137 / 16%); }
body.awx-app-design .awx-my-courses #coursesGrid:not(.d-none) { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(240px,100%),1fr)); gap: 22px; margin: 0; }
body.awx-app-design .awx-my-courses #coursesGrid > div { width: 100%; min-width: 0; padding: 0; margin: 0 !important; }
body.awx-app-design .awx-my-courses .course-card { display: flex; flex-direction: column; border-radius: 18px; background: var(--awx-design-surface); border: 1px solid var(--awx-design-line); box-shadow: 0 5px 18px rgb(64 81 137 / 8%); }
body.awx-app-design .awx-my-courses .course-thumb { height: auto; aspect-ratio: 1.8; background: var(--awx-design-accent); }
body.awx-app-design .awx-my-courses .course-body { flex: 1; display: flex; flex-direction: column; padding: 12px 14px; min-width: 0; }
body.awx-app-design .awx-my-courses .course-body > .d-flex:first-child { gap: 8px; flex-wrap: wrap; }
body.awx-app-design .awx-my-courses .course-category { color: var(--awx-design-ink); font-size: .6875rem; line-height: 1.5; overflow-wrap: anywhere; }
body.awx-app-design .awx-my-courses .course-title { color: var(--awx-design-ink); font-size: .9375rem; line-height: 1.3; margin: 4px 0 6px; min-height: 2.6em; overflow-wrap: anywhere; }
body.awx-app-design .awx-my-courses .badge { font-size: .6875rem !important; padding: 5px 8px; border-radius: 7px; line-height: 1.2; white-space: normal; }
body.awx-app-design .awx-my-courses .badge[style*='#22c55e'] { background: #dff7f2 !important; color: #007c70; }
body.awx-app-design .awx-my-courses .badge[style*='#f59e0b'] { background: #fff3d9 !important; color: #946000; }
body.awx-app-design .awx-my-courses .progress { height: 6px !important; background: var(--awx-design-line); border-radius: 6px; }
body.awx-app-design .awx-my-courses .progress-bar { background: #0ab39c !important; }
body.awx-app-design .awx-my-courses .progress + div { font-size: .8125rem !important; color: var(--awx-design-muted) !important; margin-bottom: 10px !important; }
body.awx-app-design .awx-my-courses .course-body > .d-flex:last-child { margin-top: auto; gap: 10px; flex-wrap: wrap; }
body.awx-app-design .awx-my-courses .course-body small { font-size: .75rem !important; }
body.awx-app-design .awx-my-courses .btn-go { margin-left: auto; min-height: 42px; }
@media (max-width: 575px) {
    body.awx-app-design .awx-my-courses > .container-fluid { padding-inline: 4px; }
    body.awx-app-design .awx-my-courses > .container-fluid > .d-flex:first-child > a { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    body.awx-app-design .awx-my-courses .course-card:hover { transform: none; }
}

/* Course builder chrome: shared navy controls and spacious white surfaces. */
body.awx-app-design .cb .cb-bar { height: auto; min-height: 64px; margin: 12px 18px 0; padding: 10px 12px; border: 1px solid var(--awx-design-line); border-radius: 18px; background: var(--awx-design-surface); box-shadow: 0 6px 22px rgb(64 81 137 / 7%); gap: 8px; }
body.awx-app-design .cb :is(.cb-bar-left,.cb-bar-end) { border-color: var(--awx-design-line); gap: 8px; }
body.awx-app-design .cb .cb-tracker { gap: 5px; }
body.awx-app-design .cb .cb-tr-step { min-height: 40px; border-radius: 10px; background: var(--awx-design-surface); border-color: var(--awx-design-line); }
body.awx-app-design .cb .cb-tr-step.on { background: var(--awx-design-soft); border-color: var(--awx-primary); }
body.awx-app-design .cb .cb-tr-step.on .cb-tr-num { background: var(--awx-primary); border-color: var(--awx-primary); }
body.awx-app-design .cb .cb-tr-name { font-size: .8125rem; }
body.awx-app-design .cb .cb-tr-step.on .cb-tr-name { color: var(--awx-design-ink); }
body.awx-app-design .cb .cb-status-pill { padding: 6px 10px; }
body.awx-app-design .cb :is(.cb-btn-p,.cb-btn-o,#thumbBtn,#genCoverBtn,.cb-back) { background: var(--awx-primary) !important; color: var(--awx-on-primary) !important; border-color: var(--awx-primary) !important; border-radius: 10px !important; min-height: 40px; box-shadow: 0 3px 9px rgb(64 81 137 / 16%); }
body.awx-app-design .cb :is(.cb-btn-p,.cb-btn-o,#thumbBtn,#genCoverBtn,.cb-back):hover:not(:disabled) { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; border-color: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
body.awx-app-design .cb .cb-back { padding: 8px 12px; }
body.awx-app-design .cb .cb-main { padding: 24px 18px; }
body.awx-app-design .cb .cb-card { padding: 24px; border-radius: 20px; background: var(--awx-design-surface); border-color: var(--awx-design-line); box-shadow: 0 4px 20px rgb(64 81 137 / 6%); }
body.awx-app-design .cb .cb-card-hd { font-size: .75rem; line-height: 1.5; color: var(--awx-design-muted); margin-bottom: 16px; }
body.awx-app-design .cb .cb-card-hd i { color: var(--awx-design-ink); }
body.awx-app-design .cb .cb-toggle-row { padding: 17px 0; gap: 16px; border-color: var(--awx-design-line); }
body.awx-app-design .cb .cb-toggle-row > div { min-width: 0; }
body.awx-app-design .cb .cb-tl { font-size: .9375rem; font-weight: 600; line-height: 1.5; color: var(--awx-design-ink); }
body.awx-app-design .cb .cb-ts { font-size: .8125rem; line-height: 1.5; color: var(--awx-design-muted); }
body.awx-app-design .cb .sw input:checked + .sw-track { background: var(--awx-primary); }
body.awx-app-design .cb .sw input:focus-visible + .sw-track { outline: 3px solid #005fcc; outline-offset: 3px; }
body.awx-app-design .cb .cb-thumb { min-height: 160px; border-radius: 12px; border-color: #cbd5e5; padding: 18px; }
body.awx-app-design .cb .cb-thumb-ph p { font-size: .875rem; color: var(--awx-design-muted); }
body.awx-app-design .cb .cb-thumb:hover { background: var(--awx-design-soft); border-color: var(--awx-primary); }
body.awx-app-design .cb .cb-step-nav { margin: 24px 0 0; bottom: -24px; padding: 16px 20px; border: 1px solid var(--awx-design-line); border-radius: 16px; background: var(--awx-design-surface); box-shadow: 0 -4px 18px rgb(64 81 137 / 5%); flex-wrap: wrap; }
body.awx-app-design .cb :is(.cb-input,.cb-select,.cb-textarea) { background: var(--awx-design-soft); color: var(--awx-design-ink); border-color: var(--awx-design-line); border-radius: 10px; }
@container (max-width: 600px) {
    body.awx-app-design .cb .cb-bar { margin-inline: 8px; padding-inline: 8px; }
    body.awx-app-design .cb .cb-main { padding-inline: 8px; }
    body.awx-app-design .cb .cb-card { padding: 18px; }
    body.awx-app-design .cb .cb-step-nav { padding: 12px; gap: 8px; }
    body.awx-app-design .cb .cb-step-nav .cb-btn { white-space: normal; }
}
body.awx-app-design .cb :is(.cb-bar-end,.cb-step-nav) > .awx-button { background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; --bs-btn-border-radius: 10px; min-height: 40px; box-shadow: 0 3px 9px rgb(64 81 137 / 16%); }
body.awx-app-design .cb .cb-s1-side { position: sticky; top: 0; }
@container (max-width: 900px) { body.awx-app-design .cb .cb-s1-side { position: static; } }

/* Instructor submissions: contained table and reference navy controls. */
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) { width: 100%; min-width: 0; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) > .container-fluid { padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) h4 { color: var(--awx-design-ink); font-size: 1.5rem; line-height: 1.3; letter-spacing: -.025em; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) :is(#tareasCount,#examCount) { display: block; font-size: .875rem; margin-top: 5px; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) > .container-fluid > .d-flex { margin-bottom: 26px !important; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) .awx-button { --bs-btn-border-radius: 10px; min-height: 40px; background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; box-shadow: 0 3px 9px rgb(64 81 137 / 16%); white-space: nowrap; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) .awx-button:hover:not(:disabled) { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; border-color: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) > .container-fluid > .d-flex > a.btn-primary { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; box-shadow: inset 0 -3px 0 #49c9bb,0 3px 9px rgb(64 81 137 / 16%); }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) :is(#tCard,#eCard) { border-radius: 18px !important; border: 1px solid var(--awx-design-line) !important; background: var(--awx-design-surface); box-shadow: 0 5px 18px rgb(64 81 137 / 8%) !important; min-width: 0; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) .table-responsive { margin: 10px; max-width: calc(100% - 20px); border-radius: 12px; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) .table { min-width: 850px; --bs-table-bg: var(--awx-design-surface); --bs-table-color: var(--awx-design-ink); --bs-table-hover-bg: var(--awx-design-soft); --bs-table-hover-color: var(--awx-design-ink); border-color: var(--awx-design-line); font-size: .8125rem !important; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) .table thead { background: var(--awx-design-soft) !important; border-bottom: 1px solid var(--awx-design-line) !important; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) .table th { --bs-table-bg: var(--awx-design-soft); font-weight: 600; white-space: nowrap; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) .table :is(th,td) { padding: 16px !important; vertical-align: middle; line-height: 1.5; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) .table td { max-width: 320px; overflow-wrap: anywhere; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) .table :is(td:nth-child(4),td:nth-child(5),td:nth-child(6),td:last-child) { white-space: nowrap; overflow-wrap: normal; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) .table tbody tr:last-child td { border-bottom: 0; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) .status-badge { font-size: .6875rem; padding: 5px 9px; border-radius: 7px; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) .status-badge[style*='#dcfce7'] { background: #dff7f2 !important; color: #007c70 !important; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) .status-badge[style*='#fef9c3'] { background: #fff3d9 !important; color: #946000 !important; }
body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) :is(#tLoading,#tEmpty,#eLoading,#eEmpty) { background: var(--awx-design-surface); border: 1px solid var(--awx-design-line); border-radius: 18px; }
@media (max-width: 575px) {
    body.awx-app-design :is(.awx-instructor-tasks,.awx-instructor-exams) > .container-fluid { padding-inline: 4px; }
}

body.awx-app-design .awx-instructor-exams .table td:nth-child(7) { white-space: nowrap; overflow-wrap: normal; }

/* Gradebook: aligned filter surface and contained results. */
body.awx-app-design .gb-main { width: 100%; min-width: 0; margin-top: 0 !important; padding-inline: 12px; }
body.awx-app-design .gb-main h4 { font-size: 1.5rem; color: var(--awx-design-ink); line-height: 1.3; letter-spacing: -.025em; }
body.awx-app-design .gb-main > .nav-tabs { border-color: var(--awx-design-line) !important; margin-top: 22px !important; gap: 6px; }
body.awx-app-design .gb-main .nav-link { color: var(--awx-design-muted); border-radius: 10px 10px 0 0; padding-block: 12px; font-size: .875rem !important; }
body.awx-app-design .gb-main .nav-link.active { color: var(--awx-design-ink); background: var(--awx-design-soft); border-color: var(--awx-design-line); font-weight: 600; }
body.awx-app-design .gb-main .card { background: var(--awx-design-surface); border: 1px solid var(--awx-design-line) !important; border-radius: 18px !important; box-shadow: 0 4px 18px rgb(64 81 137 / 7%) !important; min-width: 0; }
body.awx-app-design .gb-main #gbTabOverview > .card .card-body { padding: 14px 16px !important; }
body.awx-app-design .gb-main #gbTabOverview > .card :is(.form-control,.form-select) { height: 44px; min-height: 44px; font-size: .875rem !important; border-color: var(--awx-design-line); color: var(--awx-design-ink); background-color: var(--awx-design-soft); }
body.awx-app-design .gb-main #gbFilterCourse { flex: 1 1 210px; min-width: 0; max-width: 280px !important; border-radius: 9px; }
body.awx-app-design .gb-main #gbFilterDate { flex: 0 1 180px; min-width: 0; max-width: 190px !important; border-radius: 24px; }
body.awx-app-design .gb-main #gbTabOverview > .card .input-group { flex: 1 1 230px; min-width: 0; max-width: 300px !important; flex-wrap: nowrap; }
body.awx-app-design .gb-main #gbTabOverview > .card .input-group-text { border: 1px solid var(--awx-design-line); border-right: 0; background: var(--awx-design-soft); color: var(--awx-design-ink); border-radius: 24px 0 0 24px; padding-inline: 14px; font-size: 18px !important; }
body.awx-app-design .gb-main #gbFilterSearch { min-width: 0; width: 1%; border-left: 0; border-radius: 0 24px 24px 0 !important; padding-left: 4px; }
body.awx-app-design .gb-main #gbTabOverview > .card .awx-button,
body.awx-app-design .gb-main #gbBtnAddGrade { background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; --bs-btn-border-radius: 10px; min-height: 40px; box-shadow: 0 3px 9px rgb(64 81 137 / 16%); }
body.awx-app-design .gb-main #gbTabOverview > .card .awx-button:hover { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
body.awx-app-design .gb-main :is(#gbOvContent,#gbStContent) .table-responsive { margin: 10px; max-width: calc(100% - 20px); border-radius: 12px; }
body.awx-app-design .gb-main .table { min-width: 740px; font-size: .8125rem !important; --bs-table-bg: var(--awx-design-surface); --bs-table-color: var(--awx-design-ink); --bs-table-hover-bg: var(--awx-design-soft); --bs-table-hover-color: var(--awx-design-ink); border-color: var(--awx-design-line); }
body.awx-app-design .gb-main .table thead { background: var(--awx-design-soft) !important; }
body.awx-app-design .gb-main .table th { --bs-table-bg: var(--awx-design-soft); white-space: nowrap; }
body.awx-app-design .gb-main .table :is(th,td) { padding: 16px !important; vertical-align: middle; line-height: 1.5; }
body.awx-app-design .gb-main .table td { max-width: 360px; overflow-wrap: anywhere; }
body.awx-app-design .gb-main #gbOvContent .table :is(td:first-child,td:nth-child(4),td:nth-child(5),td:last-child) { white-space: nowrap; overflow-wrap: normal; }
body.awx-app-design .gb-main .table tbody tr:last-child td { border-bottom: 0; }
body.awx-app-design .gb-main #gbOvPager { flex-wrap: wrap; }
@media (max-width: 575px) {
    body.awx-app-design .gb-main { padding-inline: 4px; }
    body.awx-app-design .gb-main :is(#gbFilterCourse,#gbFilterDate) { flex-basis: 100%; max-width: 100% !important; }
    body.awx-app-design .gb-main #gbTabOverview > .card .input-group { flex-basis: calc(100% - 52px); max-width: none !important; }
    body.awx-app-design .gb-main #gbTabOverview > .card .ms-auto { width: 100%; }
}

/* Downloads: reference toolbar and contained resource table. */
body.awx-app-design .awx-instructor-downloads { width: 100%; min-width: 0; }
body.awx-app-design .awx-instructor-downloads > .container-fluid { padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design .awx-instructor-downloads .dl-toolbar { margin-bottom: 24px; gap: 16px; }
body.awx-app-design .awx-instructor-downloads .dl-title { font-size: 1.5rem; color: var(--awx-design-ink); letter-spacing: -.025em; line-height: 1.3; }
body.awx-app-design .awx-instructor-downloads :is(.dl-toolbar,.dl-search-wrap) .awx-button { background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; --bs-btn-border-radius: 9px; --bs-btn-font-size: .8125rem; --bs-btn-padding-x: 14px; min-height: 40px; box-shadow: 0 3px 9px rgb(64 81 137 / 16%); }
body.awx-app-design .awx-instructor-downloads :is(.dl-toolbar,.dl-search-wrap) .awx-button:hover { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; border-color: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
body.awx-app-design .awx-instructor-downloads .dl-search-wrap { align-items: center; gap: 10px; margin-bottom: 22px !important; }
body.awx-app-design .awx-instructor-downloads .dl-search { flex: 0 1 280px; width: 100%; min-width: 0; height: 46px; border-radius: 25px; padding: 10px 18px; }
body.awx-app-design .awx-instructor-downloads .dl-cat-filter { flex: 0 1 230px; min-width: 0; max-width: 100%; height: 46px; border-radius: 10px; padding-inline: 12px; }
body.awx-app-design .awx-instructor-downloads :is(.dl-search,.dl-cat-filter) { background: var(--awx-design-soft); border-color: var(--awx-design-line); color: var(--awx-design-ink); font-size: .875rem; }
body.awx-app-design .awx-instructor-downloads :is(.dl-search,.dl-cat-filter,.dl-subnav-btn):focus-visible { outline: 3px solid #005fcc; outline-offset: 2px; }
body.awx-app-design .awx-instructor-downloads .dl-subnav-btn { padding: 7px 10px; border-radius: 8px; color: var(--awx-design-muted); }
body.awx-app-design .awx-instructor-downloads .dl-subnav-btn.active { color: var(--awx-design-ink); background: var(--awx-design-surface); box-shadow: 0 2px 5px rgb(64 81 137 / 9%); }
body.awx-app-design .awx-instructor-downloads .dl-table-wrap { min-width: 0; padding: 10px; border: 1px solid var(--awx-design-line); border-radius: 18px; background: var(--awx-design-surface); box-shadow: 0 4px 18px rgb(64 81 137 / 7%); }
body.awx-app-design .awx-instructor-downloads .table-responsive { width: 100%; max-width: 100%; border-radius: 12px; }
body.awx-app-design .awx-instructor-downloads .dl-table { min-width: 960px; color: var(--awx-design-ink); font-size: .8125rem; }
body.awx-app-design .awx-instructor-downloads .dl-table :is(th,td) { padding: 16px 14px; line-height: 1.5; }
body.awx-app-design .awx-instructor-downloads .dl-table thead th { background: var(--awx-design-soft); color: var(--awx-design-ink); font-size: .75rem; border-color: var(--awx-design-line); }
body.awx-app-design .awx-instructor-downloads .dl-table tbody tr { border-color: var(--awx-design-line); }
body.awx-app-design .awx-instructor-downloads .dl-table tbody tr:hover { background: var(--awx-design-soft); }
body.awx-app-design .awx-instructor-downloads .dl-title-cell { color: var(--awx-design-ink); min-width: 220px; max-width: 360px; overflow-wrap: anywhere; }
body.awx-app-design .awx-instructor-downloads .dl-title-cell .dl-row-actions { display: flex; gap: 8px; margin-top: 6px; }
body.awx-app-design .awx-instructor-downloads .dl-badge { border-radius: 7px; padding: 4px 8px; white-space: nowrap; }
body.awx-app-design .awx-instructor-downloads .dl-badge-publish { background: #dff7f2; color: #007c70; }
body.awx-app-design .awx-instructor-downloads .dl-code { background: var(--awx-design-soft); color: var(--awx-design-ink); padding: 5px 8px; border-radius: 6px; }
@media (max-width: 575px) {
    body.awx-app-design .awx-instructor-downloads > .container-fluid { padding-inline: 4px; }
    body.awx-app-design .awx-instructor-downloads .dl-search { flex-basis: 100%; }
    body.awx-app-design .awx-instructor-downloads .dl-cat-filter { flex: 1 1 180px; }
}
/* Blog list: reference statistics and navy management controls. */
body.awx-app-design #blListView { width: 100%; min-width: 0; padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design #blListView .bl-header { margin-bottom: 26px; gap: 16px; }
body.awx-app-design #blListView .bl-title { font-size: 1.5rem; color: var(--awx-design-ink); line-height: 1.3; letter-spacing: -.025em; }
body.awx-app-design #blListView .bl-actions { flex-wrap: wrap; gap: 10px; }
body.awx-app-design #blListView :is(.bl-actions .awx-button,.ba-edit,.ba-view) { background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; --bs-btn-border-radius: 9px; min-height: 40px; box-shadow: 0 3px 9px rgb(64 81 137 / 16%); }
body.awx-app-design #blListView :is(.bl-actions .awx-button,.ba-edit,.ba-view):hover { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; border-color: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
body.awx-app-design #blListView .bl-stats { gap: 16px; margin-bottom: 26px; }
body.awx-app-design #blListView .bl-stat { min-width: 0; padding: 20px; gap: 16px; border-radius: 15px; background: var(--awx-design-surface); border-color: var(--awx-design-line); }
body.awx-app-design #blListView .bl-stat > div:last-child { min-width: 0; overflow-wrap: anywhere; }
body.awx-app-design #blListView .bl-stat-icon { width: 48px; height: 48px; border-radius: 13px; font-size: 24px; }
body.awx-app-design #blListView .bl-stat-icon.blue { background: #edf2ff; color: var(--awx-primary); }
body.awx-app-design #blListView .bl-stat-val { font-size: 1.5rem; line-height: 1.3; color: var(--awx-design-ink); }
body.awx-app-design #blListView .bl-stat-lbl { font-size: .8125rem; color: var(--awx-design-muted); }
body.awx-app-design #blListView .bl-toolbar { gap: 12px; margin-bottom: 24px; }
body.awx-app-design #blListView .bl-tabs { flex-wrap: wrap; gap: 4px; max-width: 100%; background: var(--awx-design-soft); }
body.awx-app-design #blListView .bl-tab { min-height: 38px; padding: 8px 14px; font-size: .8125rem; color: var(--awx-design-muted); }
body.awx-app-design #blListView .bl-tab.on { background: var(--awx-design-surface); color: var(--awx-design-ink); }
body.awx-app-design #blListView .bl-search { flex: 1 1 220px; min-width: 0; max-width: 340px; }
body.awx-app-design #blListView .bl-search input { height: 46px; border-radius: 25px; padding-left: 40px; background: var(--awx-design-soft); color: var(--awx-design-ink); border-color: var(--awx-design-line); }
body.awx-app-design #blListView .bl-search i { left: 15px; font-size: 18px; }
body.awx-app-design #blListView :is(.bl-tab,.bl-search input):focus-visible { outline: 3px solid #005fcc; outline-offset: 2px; }
body.awx-app-design #blListView #blContent { padding: clamp(14px, 2vw, 28px); background: var(--awx-design-surface); border-radius: 24px; box-shadow: 0 4px 20px rgb(64 81 137 / 4%); }
body.awx-app-design #blListView .bl-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
@media (max-width: 1100px) {
    body.awx-app-design #blListView .bl-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
    body.awx-app-design #blListView .bl-grid { grid-template-columns: minmax(0,1fr); }
}
body.awx-app-design #blListView .bl-card { min-width: 0; padding: 20px; border-radius: 18px; background: var(--awx-design-surface); border-color: var(--awx-design-line); box-shadow: none; }
body.awx-app-design #blListView .bl-card-thumb { height: auto; aspect-ratio: 2.3; border-radius: 10px; }
body.awx-app-design #blListView .bl-card-body { padding: 18px 0; gap: 10px; }
body.awx-app-design #blListView .bl-card-title { display: block; overflow: visible; overflow-wrap: anywhere; font-size: 1.125rem; color: var(--awx-design-ink); }
body.awx-app-design #blListView .bl-card-cat { color: var(--awx-design-muted); font-size: .75rem; font-weight: 500; letter-spacing: 0; }
body.awx-app-design #blListView :is(.bl-card-excerpt,.bl-card-date) { color: var(--awx-design-muted); font-size: .8125rem; }
body.awx-app-design #blListView .bl-card-footer { padding: 0; gap: 8px; flex-wrap: wrap; border: 0; }
@media (max-width: 575px) {
    body.awx-app-design #blListView { padding-inline: 4px; }
    body.awx-app-design #blListView .bl-stats { grid-template-columns: 1fr; gap: 10px; }
    body.awx-app-design #blListView .bl-stat { padding: 16px; }
    body.awx-app-design #blListView .bl-search { flex-basis: 100%; max-width: none; }
}
/* Student blog: rounded search and category pills. */
body.awx-app-design .awx-student-blog { width: 100%; min-width: 0; }
body.awx-app-design .awx-student-blog > .container-fluid { padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design .awx-student-blog > .container-fluid::before { content: "Blog"; display: block; color: var(--awx-design-ink); font-size: 1.5rem; font-weight: 700; line-height: 1.3; letter-spacing: -.025em; margin-bottom: 24px; }
body.awx-app-design .awx-student-blog .blg-toolbar { gap: 12px; margin-bottom: 24px; align-items: center; }
body.awx-app-design .awx-student-blog .blg-search { flex: 0 1 360px; min-width: 0; max-width: 100%; }
body.awx-app-design .awx-student-blog .blg-search input { height: 48px; padding: 12px 18px 12px 44px; border-radius: 26px; background: var(--awx-design-soft); border-color: var(--awx-design-line); color: var(--awx-design-ink); font-size: .875rem; }
body.awx-app-design .awx-student-blog .blg-search i { left: 16px; font-size: 18px; }
body.awx-app-design .awx-student-blog .blg-cats { min-width: 0; max-width: 100%; gap: 8px; }
body.awx-app-design .awx-student-blog .blg-cat-btn { min-height: 36px; padding: 7px 17px; border-radius: 22px; font-size: .8125rem; font-weight: 600; white-space: normal; overflow-wrap: anywhere; background: var(--awx-design-surface); border-color: var(--awx-design-line); color: var(--awx-design-ink); }
body.awx-app-design .awx-student-blog .blg-cat-btn.on,
body.awx-app-design .awx-student-blog .blg-cat-btn:hover { background: var(--awx-primary); border-color: var(--awx-primary); color: var(--awx-on-primary); }
body.awx-app-design .awx-student-blog :is(.blg-cat-btn,.blg-search input):focus-visible { outline: 3px solid #005fcc; outline-offset: 3px; }
body.awx-app-design .awx-student-blog .card-box-style { padding: clamp(14px,2vw,28px); border-radius: 24px; background: var(--awx-design-surface); }
body.awx-app-design .awx-student-blog :is(#blgGrid,#blgSkeleton) { margin-inline: 0; padding: 0; row-gap: 20px; }
body.awx-app-design .awx-student-blog :is(#blgGrid,#blgSkeleton) > div { min-width: 0; }
body.awx-app-design .awx-student-blog .single-blog { height: 100%; margin-bottom: 0; padding: 18px; border: 1px solid var(--awx-design-line); border-radius: 18px; background: var(--awx-design-surface); box-shadow: none; }
body.awx-app-design .awx-student-blog .blog-img { height: auto; aspect-ratio: 2.1; border-radius: 10px; }
body.awx-app-design .awx-student-blog .blog-img > a { display: block; height: 100%; }
body.awx-app-design .awx-student-blog .blog-content { padding: 18px 0 0; }
body.awx-app-design .awx-student-blog .blog-content h3 { display: block; overflow: visible; font-size: 1.0625rem; line-height: 1.4; overflow-wrap: anywhere; border-color: var(--awx-design-line); }
body.awx-app-design .awx-student-blog .blog-content h3 a { color: var(--awx-design-ink); }
body.awx-app-design .awx-student-blog .blog-content ul { flex-wrap: wrap; gap: 12px; }
body.awx-app-design .awx-student-blog .blog-content ul li { min-width: 0; margin-right: 0; overflow-wrap: anywhere; }
body.awx-app-design .awx-student-blog .read-more { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 9px; background: var(--awx-primary); color: var(--awx-on-primary); font-size: .8125rem; }
@media (max-width: 575px) {
    body.awx-app-design .awx-student-blog > .container-fluid { padding-inline: 4px; }
    body.awx-app-design .awx-student-blog .blg-search { flex-basis: 100%; }
}

/* Student assignments: horizontal rows with aligned deadlines and actions. */
body.awx-app-design .awx-student-tasks { width: 100%; min-width: 0; }
body.awx-app-design .awx-student-tasks > .container-fluid { padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design .awx-student-tasks h4 { font-size: 1.5rem; line-height: 1.3; letter-spacing: -.025em; color: var(--awx-design-ink); }
body.awx-app-design .awx-student-tasks :is(.filter-btn,.tarea-body > .awx-button) { background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; --bs-btn-border-radius: 9px; --bs-btn-font-size: .8125rem; --bs-btn-padding-x: 14px; min-height: 40px; box-shadow: 0 3px 9px rgb(64 81 137 / 14%); }
body.awx-app-design .awx-student-tasks .filter-btn.active { box-shadow: inset 0 -3px #0ab39c,0 3px 9px rgb(64 81 137 / 14%); }
body.awx-app-design .awx-student-tasks :is(.filter-btn,.tarea-body > .awx-button):hover { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
body.awx-app-design .awx-student-tasks #tareasGrid { margin-inline: 0; gap: 12px; }
body.awx-app-design .awx-student-tasks #tareasGrid > div { width: 100%; padding: 0; margin-bottom: 0 !important; min-width: 0; }
body.awx-app-design .awx-student-tasks .tarea-card { border: 1px solid var(--awx-design-line); border-radius: 16px; background: var(--awx-design-surface); box-shadow: 0 3px 12px rgb(64 81 137 / 4%); }
body.awx-app-design .awx-student-tasks .tarea-card.late { border-left: 3px solid #dc2626; }
body.awx-app-design .awx-student-tasks .tarea-body { display: grid; grid-template-columns: 60px minmax(0,1fr) 155px 130px 140px; grid-template-rows: auto auto auto; column-gap: 18px; row-gap: 5px; align-items: center; padding: 20px; }
body.awx-app-design .awx-student-tasks .tarea-body::before { content: '\ed0f'; font-family: remixicon; font-size: 28px; color: var(--awx-primary); background: #edf2ff; border-radius: 13px; width: 60px; height: 64px; display: grid; place-items: center; grid-column: 1; grid-row: 1 / 4; }
body.awx-app-design .awx-student-tasks .tarea-body > * { min-width: 0; overflow-wrap: anywhere; }
body.awx-app-design .awx-student-tasks .tarea-course { grid-column: 2; grid-row: 1; margin: 0; color: var(--awx-design-muted); font-size: .6875rem; }
body.awx-app-design .awx-student-tasks .tarea-title { grid-column: 2; grid-row: 2; margin: 0; color: var(--awx-design-ink); font-size: 1rem; }
body.awx-app-design .awx-student-tasks .tarea-meta { font-size: .8125rem; color: var(--awx-design-muted); margin-bottom: 0 !important; }
body.awx-app-design .awx-student-tasks .tarea-body > .tarea-meta:nth-child(3) { grid-column: 2; grid-row: 3; }
body.awx-app-design .awx-student-tasks .tarea-body > .tarea-meta:nth-child(4) { grid-column: 3; grid-row: 1 / 4; color: var(--awx-design-ink); line-height: 1.7; }
body.awx-app-design .awx-student-tasks .tarea-body > div:has(> .status-badge) { grid-column: 4; grid-row: 1 / 4; margin: 0 !important; text-align: center; }
body.awx-app-design .awx-student-tasks .status-badge { padding: 7px 14px; border-radius: 22px; font-size: .75rem; }
body.awx-app-design .awx-student-tasks .tarea-body > .awx-button { grid-column: 5; grid-row: 1 / 4; margin-top: 0 !important; }
body.awx-app-design .awx-student-tasks .tarea-body > .mt-auto:empty { display: none; }
body.awx-app-design .awx-student-tasks .tarea-body > .tarea-meta:nth-child(5),
body.awx-app-design .awx-student-tasks .tarea-body > .alert { grid-column: 2 / -1; margin: 5px 0 0 !important; }
@media (max-width: 1199px) {
    body.awx-app-design .awx-student-tasks .tarea-body { grid-template-columns: 48px minmax(0,1fr) 140px; gap: 8px 14px; }
    body.awx-app-design .awx-student-tasks .tarea-body::before { width: 48px; height: 56px; }
    body.awx-app-design .awx-student-tasks .tarea-body > .tarea-meta:nth-child(4) { grid-column: 2; grid-row: 4; }
    body.awx-app-design .awx-student-tasks .tarea-body > div:has(> .status-badge) { grid-column: 3; grid-row: 1 / 3; }
    body.awx-app-design .awx-student-tasks .tarea-body > .awx-button { grid-column: 3; grid-row: 3 / 5; }
}
@media (max-width: 575px) {
    body.awx-app-design .awx-student-tasks > .container-fluid { padding-inline: 4px; }
    body.awx-app-design .awx-student-tasks .tarea-body { grid-template-columns: 40px minmax(0,1fr); padding: 16px; }
    body.awx-app-design .awx-student-tasks .tarea-body::before { width: 40px; height: 48px; font-size: 24px; }
    body.awx-app-design .awx-student-tasks .tarea-body > div:has(> .status-badge) { grid-column: 2; grid-row: 5; text-align: left; }
    body.awx-app-design .awx-student-tasks .tarea-body > .awx-button { grid-column: 1 / -1; grid-row: 8; }
}
/* Student quiz history: aligned, rounded attempt rows. */
body.awx-app-design .awx-student-attempts { width: 100%; min-width: 0; }
body.awx-app-design .awx-student-attempts > .container-fluid { padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design .awx-student-attempts h4 { font-size: 1.5rem; line-height: 1.3; letter-spacing: -.025em; color: var(--awx-design-ink); }
body.awx-app-design .awx-student-attempts .qa-toolbar { border-radius: 16px; background: var(--awx-design-surface); border-color: var(--awx-design-line); gap: 12px; }
body.awx-app-design .awx-student-attempts :is(.qa-filter-btn,.qa-sort-btn) { background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; --bs-btn-border-radius: 9px; min-height: 40px; box-shadow: 0 2px 5px rgb(64 81 137 / 14%); }
body.awx-app-design .awx-student-attempts .qa-sort-btn { min-width: 36px; }
body.awx-app-design .awx-student-attempts :is(#qaFilterLabel,.qa-f-count) { color: var(--awx-on-primary) !important; }
body.awx-app-design .awx-student-attempts :is(.qa-filter-btn,.qa-sort-btn):hover { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
body.awx-app-design .awx-student-attempts :is(.qa-table-header,.qa-item-grid) { grid-template-columns: minmax(0,1fr) 180px 100px 170px; gap: 18px; padding: 18px 20px; }
body.awx-app-design .awx-student-attempts .qa-table-header { background: var(--awx-design-soft); color: var(--awx-design-muted); border: 1px solid var(--awx-design-line); border-radius: 14px 14px 0 0; font-size: .6875rem; }
body.awx-app-design .awx-student-attempts .qa-item { margin-bottom: 12px; border: 1px solid var(--awx-design-line); border-radius: 16px; background: var(--awx-design-surface); box-shadow: 0 3px 12px rgb(64 81 137 / 4%); }
body.awx-app-design .awx-student-attempts .qa-item:hover { background: var(--awx-design-surface); border-color: #cbd5e5; }
body.awx-app-design .awx-student-attempts .qa-item-grid { min-height: 108px; }
body.awx-app-design .awx-student-attempts .qa-item-grid > * { min-width: 0; }
body.awx-app-design .awx-student-attempts .qa-info { display: flex; flex-direction: column; gap: 5px; overflow-wrap: anywhere; }
body.awx-app-design .awx-student-attempts .qa-info-title { font-size: 1rem; line-height: 1.4; color: var(--awx-design-ink); margin: 0; }
body.awx-app-design .awx-student-attempts .qa-info-course { order: -1; font-size: .6875rem; font-weight: 600; text-transform: uppercase; color: var(--awx-design-muted); margin: 0; }
body.awx-app-design .awx-student-attempts .qa-info-date { font-size: .8125rem; color: var(--awx-design-muted); }
body.awx-app-design .awx-student-attempts .qa-time-cell { color: var(--awx-design-muted); }
body.awx-app-design .awx-student-attempts .qa-result-cell { gap: 10px; justify-content: space-between; }
body.awx-app-design .awx-student-attempts .qa-badge { padding: 7px 12px; font-size: .75rem; }
body.awx-app-design .awx-student-attempts .qa-badge-pass { background: #dff7f2; color: #007c70; }
body.awx-app-design .awx-student-attempts .qa-badge-pending { background: #fff3d9; color: #946000; }
body.awx-app-design .awx-student-attempts :is(.qa-popover,.qa-actions-menu) { background: var(--awx-design-surface); border-color: var(--awx-design-line); border-radius: 12px; }
body.awx-app-design .awx-student-attempts :is(.qa-pop-item,.qa-act-item) { color: var(--awx-design-ink); }
body.awx-app-design .awx-student-attempts :is(.qa-pop-item,.qa-act-item):hover { background: var(--awx-design-soft); }
body.awx-app-design .awx-student-attempts #qaPagination { flex-wrap: wrap; }
@media (max-width: 1100px) {
    body.awx-app-design .awx-student-attempts .qa-table-header { display: none !important; }
    body.awx-app-design .awx-student-attempts .qa-item-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; }
    body.awx-app-design .awx-student-attempts .qa-info { grid-column: 1 / -1; }
    body.awx-app-design .awx-student-attempts .qa-result-cell { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (max-width: 575px) {
    body.awx-app-design .awx-student-attempts > .container-fluid { padding-inline: 4px; }
    body.awx-app-design .awx-student-attempts .qa-item-grid { padding: 16px; }
    body.awx-app-design .awx-student-attempts .qa-marks-cell { flex-wrap: wrap; }
}
/* My space: profile surface and readable course grade details. */
body.awx-app-design :is(.awx-student-space,.awx-student-profile) { width: 100%; min-width: 0; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) > .container-fluid { padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) h4 { font-size: 1.5rem; color: var(--awx-design-ink); line-height: 1.3; letter-spacing: -.025em; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) #profileContent > .row { align-items: start; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) #profileContent .card { min-width: 0; border-radius: 20px !important; background: var(--awx-design-surface); box-shadow: 0 4px 20px rgb(64 81 137 / 6%) !important; padding: 26px !important; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) #profileContent .col-lg-4 .card { padding-block: 34px !important; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) #profileAvatar { width: 108px !important; height: 108px !important; border-color: var(--awx-primary) !important; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) #profileName { color: var(--awx-design-ink); font-size: 1.125rem; margin-top: 4px; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) :is(#profileName,#profileEmail) { overflow-wrap: anywhere; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) #profileEmail { margin-bottom: 22px; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) #profileContent .card.text-center > .d-flex { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px !important; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) :is(#statEnrolled,#statDone,#statProgress) { font-size: 1.375rem !important; margin-bottom: 5px; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) #statEnrolled { color: var(--awx-primary) !important; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) #statDone { color: #008c7e !important; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) #statProgress { color: #ba7900 !important; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) #profileTabs { gap: 8px !important; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) #profileTabs .nav-link { padding: 10px 16px !important; font-size: .875rem !important; color: var(--awx-design-ink); border: 1px solid transparent; border-radius: 10px !important; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) #profileTabs .nav-link.active { background: var(--awx-design-soft); border-color: var(--awx-design-line); }
body.awx-app-design .awx-student-space :is(.calif-course-card,.progress-course-card) { min-width: 0; padding: 18px; border-radius: 15px; border-color: var(--awx-design-line); background: var(--awx-design-surface); margin-bottom: 14px; }
body.awx-app-design .awx-student-space :is(.calif-course-card,.progress-course-card):last-child { margin-bottom: 0; }
body.awx-app-design .awx-student-space .calif-course-card > .d-flex { gap: 12px !important; margin-bottom: 16px !important; }
body.awx-app-design .awx-student-space .calif-course-card > .d-flex > div { min-width: 0; max-width: 100%; }
body.awx-app-design .awx-student-space .calif-course-card .fw-semibold { font-size: 1rem !important; color: var(--awx-design-ink); line-height: 1.4; overflow-wrap: anywhere; }
body.awx-app-design .awx-student-space .calif-course-card .table-responsive { border-radius: 10px; max-width: 100%; }
body.awx-app-design .awx-student-space .calif-course-card table { min-width: 480px; color: var(--awx-design-ink); }
body.awx-app-design .awx-student-space .calif-course-card :is(th,td) { padding: 12px !important; line-height: 1.5; }
body.awx-app-design .awx-student-space .calif-course-card th { background: var(--awx-design-soft); color: var(--awx-design-muted) !important; }
body.awx-app-design .awx-student-space .calif-course-card tr { border-color: var(--awx-design-line) !important; }
body.awx-app-design .awx-student-space .calif-course-card td:first-child { min-width: 160px; overflow-wrap: anywhere; }
body.awx-app-design .awx-student-space .calif-course-card td:not(:first-child) { white-space: nowrap; }
body.awx-app-design :is(.awx-student-space,.awx-student-profile) .btn-primary { background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; --bs-btn-border-radius: 9px; }
@media (min-width: 992px) and (max-width: 1199px) {
    body.awx-app-design :is(.awx-student-space,.awx-student-profile) #profileContent > .row > div { width: 100%; }
}
@media (max-width: 575px) {
    body.awx-app-design :is(.awx-student-space,.awx-student-profile) > .container-fluid { padding-inline: 4px; }
    body.awx-app-design :is(.awx-student-space,.awx-student-profile) #profileContent .card { padding: 16px !important; }
    body.awx-app-design .awx-student-space .calif-course-card { padding: 12px; }
}
body.awx-app-design .awx-student-space .awx-grade-course-heading { flex: 1 1 300px; flex-wrap: nowrap !important; gap: 14px !important; }
body.awx-app-design .awx-student-space .awx-grade-course-cover { width: 120px; height: 78px; object-fit: cover; border-radius: 10px; flex: 0 0 auto; }
body.awx-app-design .awx-student-space .awx-grade-course-heading .fw-semibold { min-width: 0; flex: 1; }
@media (max-width: 575px) {
    body.awx-app-design .awx-student-space .awx-grade-course-heading { flex-wrap: wrap !important; }
    body.awx-app-design .awx-student-space .awx-grade-course-cover { width: 84px; height: 60px; }
}
/* Purchase history: soft table surface and consistent detail controls. */
body.awx-app-design .awx-purchase-history { width: 100%; min-width: 0; }
body.awx-app-design .awx-purchase-history > .container-fluid { padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design .awx-purchase-history h4 { font-size: 1.5rem; line-height: 1.3; letter-spacing: -.025em; color: var(--awx-design-ink); }
body.awx-app-design .awx-purchase-history .card { min-width: 0; background: var(--awx-design-surface); border: 1px solid var(--awx-design-line) !important; border-radius: 18px !important; box-shadow: 0 4px 18px rgb(64 81 137 / 7%) !important; }
body.awx-app-design .awx-purchase-history #ordersContent > .card { padding: 10px; }
body.awx-app-design .awx-purchase-history .table-responsive { max-width: 100%; border-radius: 12px; }
body.awx-app-design .awx-purchase-history .table { min-width: 760px; font-size: .8125rem !important; --bs-table-bg: var(--awx-design-soft); --bs-table-color: var(--awx-design-ink); --bs-table-hover-bg: var(--awx-design-surface); --bs-table-hover-color: var(--awx-design-ink); border-color: var(--awx-design-line); }
body.awx-app-design .awx-purchase-history .table thead { background: var(--awx-design-soft) !important; border-color: var(--awx-design-line) !important; }
body.awx-app-design .awx-purchase-history .table th { color: var(--awx-design-ink) !important; white-space: nowrap; }
body.awx-app-design .awx-purchase-history .table :is(th,td) { padding: 16px !important; vertical-align: middle; line-height: 1.5; }
body.awx-app-design .awx-purchase-history .table td:not(:nth-child(2)) { white-space: nowrap; }
body.awx-app-design .awx-purchase-history .table td:nth-child(2) > div { white-space: normal !important; overflow-wrap: anywhere; min-width: 160px; }
body.awx-app-design .awx-purchase-history .table tbody tr:last-child td { border-bottom: 0; }
body.awx-app-design .awx-purchase-history :is(#ordersBody .awx-button,#ordersEmpty .awx-button,#ordersPagination .btn-primary) { background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; --bs-btn-border-radius: 9px; min-height: 38px; box-shadow: 0 2px 5px rgb(64 81 137 / 14%); }
body.awx-app-design .awx-purchase-history #ordersBody .awx-button:hover { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
body.awx-app-design .awx-purchase-history .status-badge { padding: 5px 9px; border-radius: 7px; font-size: .6875rem; }
body.awx-app-design .awx-purchase-history :is(.status-completed,.status-processing) { background: #dff7f2; color: #007c70; }
body.awx-app-design .awx-purchase-history :is(.status-pending,.status-on-hold) { background: #fff3d9; color: #946000; }
body.awx-app-design .awx-purchase-history #ordersPagination { flex-wrap: wrap; }
body.awx-app-design .awx-purchase-history #orderStats .card { height: 100%; }
body.awx-app-design .awx-purchase-history #orderStats .card > div:last-child { min-width: 0; overflow-wrap: anywhere; }
body.awx-app-design .awx-purchase-history #orderStats .card > div:last-child > div:first-child { color: var(--awx-design-ink) !important; }
@media (max-width: 575px) {
    body.awx-app-design .awx-purchase-history > .container-fluid { padding-inline: 4px; }
}
/* Profile editing uses the same soft surfaces as the student summary. */
body.awx-app-design .awx-student-profile #avatarChangeBtn { background: var(--awx-primary) !important; width: 36px !important; height: 36px !important; }
body.awx-app-design .awx-student-profile :is(#tabInfo,#tabSocial) { width: 100%; min-width: 0; }
body.awx-app-design .awx-student-profile .form-label { color: var(--awx-design-ink); margin-bottom: 8px; }
body.awx-app-design .awx-student-profile .form-control { min-height: 44px; border-radius: 10px; border-color: var(--awx-design-line); background: var(--awx-design-soft); color: var(--awx-design-ink); padding: 11px 14px; }
body.awx-app-design .awx-student-profile textarea.form-control { min-height: 110px; }
body.awx-app-design .awx-student-profile .form-control:disabled { opacity: .7; cursor: not-allowed; }
body.awx-app-design .awx-student-profile .form-control:focus { border-color: var(--awx-primary); box-shadow: 0 0 0 3px rgb(64 86 143 / 15%); }
body.awx-app-design .awx-student-profile :is(#profileSaveBtn,#socialSaveBtn) { min-height: 42px; box-shadow: 0 3px 9px rgb(64 81 137 / 16%); }
body.awx-app-design .awx-student-profile hr { border-color: var(--awx-design-line); opacity: 1; }
/* Student catalogue: spacious covers and aligned course actions. */
body.awx-app-design .awx-course-catalog { width: 100%; min-width: 0; }
body.awx-app-design .awx-course-catalog > .container-fluid { padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design .awx-course-catalog h4 { font-size: 1.5rem; line-height: 1.3; letter-spacing: -.025em; color: var(--awx-design-ink); }
body.awx-app-design .awx-course-catalog .container-fluid > .card { border-radius: 18px !important; background: var(--awx-design-surface); box-shadow: 0 4px 18px rgb(64 81 137 / 6%) !important; }
body.awx-app-design .awx-course-catalog .card-body { padding: 18px !important; }
body.awx-app-design .awx-course-catalog :is(.form-control,.form-select,.input-group-text) { min-height: 46px; border-color: var(--awx-design-line); color: var(--awx-design-ink); background: var(--awx-design-soft) !important; }
body.awx-app-design .awx-course-catalog .input-group { flex-wrap: nowrap; }
body.awx-app-design .awx-course-catalog .input-group-text { border-radius: 26px 0 0 26px; padding-inline: 16px; font-size: 20px; }
body.awx-app-design .awx-course-catalog #searchInput { border-radius: 0 26px 26px 0; min-width: 0; }
body.awx-app-design .awx-course-catalog .form-select { border-radius: 9px; font-size: .875rem; }
body.awx-app-design .awx-course-catalog #searchBtn { min-height: 46px; background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; --bs-btn-border-radius: 10px; box-shadow: 0 3px 9px rgb(64 81 137 / 16%); }
body.awx-app-design .awx-course-catalog #catalogGrid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; margin: 0; }
body.awx-app-design .awx-course-catalog #catalogGrid > div { width: auto; min-width: 0; padding: 0; margin-bottom: 0 !important; }
body.awx-app-design .awx-course-catalog .course-card { display: flex !important; flex-direction: column; border-radius: 18px; border: 1px solid var(--awx-design-line); background: var(--awx-design-surface); box-shadow: 0 4px 16px rgb(64 81 137 / 5%); }
body.awx-app-design .awx-course-catalog .course-thumb { height: auto; aspect-ratio: 1.78; flex-shrink: 0; }
body.awx-app-design .awx-course-catalog .course-body { flex: 1; display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: auto auto 1fr auto auto; gap: 4px; padding: 12px 14px; }
body.awx-app-design .awx-course-catalog .course-category { grid-column: 1 / -1; grid-row: 1; font-size: .75rem; text-transform: none; letter-spacing: 0; color: var(--awx-design-ink); margin: 0; }
body.awx-app-design .awx-course-catalog .course-title { grid-column: 1 / -1; grid-row: 2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; color: var(--awx-design-ink); font-size: .9375rem; line-height: 1.3; margin: 0; }
body.awx-app-design .awx-course-catalog .course-excerpt { grid-column: 1 / -1; grid-row: 3; color: var(--awx-design-muted); font-size: .75rem; -webkit-line-clamp: 1; margin: 0; align-self: start; }
body.awx-app-design .awx-course-catalog .course-body > .d-flex { display: contents !important; }
body.awx-app-design .awx-course-catalog .course-body > .d-flex > small { grid-column: 1 / -1; grid-row: 4; font-size: .75rem !important; padding-bottom: 6px; border-bottom: 1px solid var(--awx-design-line); }
body.awx-app-design .awx-course-catalog .course-body > .d-flex > span { grid-column: 1; grid-row: 5; align-self: center; justify-self: start; max-width: 100%; flex-wrap: wrap; }
body.awx-app-design .awx-course-catalog .course-body > .text-end { grid-column: 2; grid-row: 5; margin: 0 !important; align-self: center; }
body.awx-app-design .awx-course-catalog .btn-go { background: var(--awx-primary); color: var(--awx-on-primary); border-radius: 10px; padding: 11px 14px; font-size: .8125rem; font-weight: 600; white-space: nowrap; box-shadow: 0 4px 12px rgb(33 97 237 / 18%); }
body.awx-app-design .awx-course-catalog .course-card:hover .btn-go { background: color-mix(in srgb,var(--awx-primary) 85%,black); }
body.awx-app-design .awx-course-catalog .course-card:focus-visible { outline: 3px solid #005fcc; outline-offset: 3px; }
@media (max-width: 1399px) {
    body.awx-app-design .awx-course-catalog #catalogGrid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
    body.awx-app-design .awx-course-catalog .card-body > .row > div { width: 50%; }
}
@media (max-width: 991px) {
    body.awx-app-design .awx-course-catalog #catalogGrid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 575px) {
    body.awx-app-design .awx-course-catalog > .container-fluid { padding-inline: 4px; }
    body.awx-app-design .awx-course-catalog #catalogGrid { grid-template-columns: minmax(0,1fr); }
    body.awx-app-design .awx-course-catalog .card-body > .row > div { width: 100%; }
    body.awx-app-design .awx-course-catalog .course-body { padding: 12px 14px; }
}
@media (prefers-reduced-motion: reduce) {
    body.awx-app-design .awx-course-catalog .course-card:hover { transform: none; }
}
/* Student membership: summary, plan cards and payment history. */
body.awx-app-design .awx-membership { width: 100%; min-width: 0; }
body.awx-app-design .awx-membership > .container-fluid { padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design .awx-membership h4 { font-size: 1.5rem; line-height: 1.3; letter-spacing: -.025em; color: var(--awx-design-ink); }
body.awx-app-design .awx-membership h6 { color: var(--awx-design-ink); font-size: .9375rem; }
body.awx-app-design .awx-membership .ms-card { background: var(--awx-design-surface); border-radius: 18px; padding: 12px !important; box-shadow: 0 4px 18px rgb(64 81 137 / 6%); }
body.awx-app-design .awx-membership #msStatusCard { padding: 36px !important; margin-bottom: 28px !important; }
body.awx-app-design .awx-membership #msStatusCard > .d-flex { min-height: 110px; align-items: center !important; }
body.awx-app-design .awx-membership #msStatusCard .fw-bold { color: var(--awx-design-ink); font-size: 1.25rem !important; margin-bottom: 10px; overflow-wrap: anywhere; }
body.awx-app-design .awx-membership #msStatusCard .text-muted { font-size: .875rem !important; }
body.awx-app-design .awx-membership .ms-badge { border-radius: 6px; padding: 4px 9px; }
body.awx-app-design .awx-membership .ms-badge.activa { background: #dff7f2; color: #007c70; }
body.awx-app-design .awx-membership #msPlansGrid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 0 0 28px !important; }
body.awx-app-design .awx-membership #msPlansGrid > div { width: auto; min-width: 0; margin: 0; padding: 0; }
body.awx-app-design .awx-membership .ms-plan-card { min-width: 0; padding: 24px; border: 1px solid var(--awx-design-line); border-radius: 18px; background: var(--awx-design-surface); box-shadow: none; gap: 12px; }
body.awx-app-design .awx-membership .ms-plan-card.current { border-color: var(--awx-primary); }
body.awx-app-design .awx-membership .ms-plan-scope { align-self: flex-start; background: #edf2ff; color: #2456c7; border-radius: 7px; padding: 7px 10px; font-size: .75rem; font-weight: 500; margin: 0; }
body.awx-app-design .awx-membership .ms-plan-card > .fw-bold { color: var(--awx-design-ink); font-size: 1.25rem !important; overflow-wrap: anywhere; }
body.awx-app-design .awx-membership .ms-plan-card > .text-muted { font-size: .875rem !important; line-height: 1.65; margin: 0 !important; overflow-wrap: anywhere; }
body.awx-app-design .awx-membership .ms-plan-price { color: var(--awx-design-ink); font-size: 1.375rem; line-height: 1.5; margin: 0 0 12px; overflow-wrap: anywhere; }
body.awx-app-design .awx-membership .btn-primary { background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; --bs-btn-border-radius: 10px; min-height: 42px; box-shadow: 0 3px 9px rgb(64 81 137 / 14%); }
body.awx-app-design .awx-membership .ms-plan-card > .ck-btn-primary { width: auto; align-self: flex-start; --bs-btn-font-size: .8125rem; --bs-btn-padding-x: 16px; }
body.awx-app-design .awx-membership .btn-primary:hover { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
body.awx-app-design .awx-membership #msHistTableWrap { max-width: 100%; border-radius: 12px; }
body.awx-app-design .awx-membership .table { min-width: 720px; --bs-table-bg: var(--awx-design-soft); --bs-table-color: var(--awx-design-ink); border-color: var(--awx-design-line); }
body.awx-app-design .awx-membership .table :is(th,td) { padding: 14px 16px !important; line-height: 1.5; }
body.awx-app-design .awx-membership .table th { color: var(--awx-design-ink); font-weight: 600; }
body.awx-app-design .awx-membership .table td:not(:first-child) { white-space: nowrap; }
body.awx-app-design .awx-membership .table tr:last-child td { border-bottom: 0; }
@media (max-width: 1100px) {
    body.awx-app-design .awx-membership #msPlansGrid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 575px) {
    body.awx-app-design .awx-membership > .container-fluid { padding-inline: 4px; }
    body.awx-app-design .awx-membership #msPlansGrid { grid-template-columns: minmax(0,1fr); }
    body.awx-app-design .awx-membership #msStatusCard { padding: 22px !important; }
    body.awx-app-design .awx-membership .ms-plan-card { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    body.awx-app-design .awx-membership .ms-plan-card:hover { transform: none; }
}
/* Compact student identity in the instructor list. */
body.awx-app-design .awx-students #stuBody td:first-child .fw-semibold { font-size: 12px !important; line-height: 1.4; }
body.awx-app-design .awx-students #stuBody td:first-child .fw-semibold + .text-muted { font-size: 10px !important; line-height: 1.4; }
/* Student notifications: spacious cards and understated filter tabs. */
body.awx-app-design .awx-notifications { width: 100%; min-width: 0; }
body.awx-app-design .awx-notifications > .container-fluid { padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design .awx-notifications h4 { font-size: 1.5rem; line-height: 1.3; letter-spacing: -.025em; color: var(--awx-design-ink); }
body.awx-app-design .awx-notifications #unreadLabel { display: block; margin-top: 5px; color: var(--awx-design-muted); }
body.awx-app-design .awx-notifications .nt-tabs { flex-wrap: wrap; gap: 6px; margin-top: 24px; border-color: var(--awx-design-line); }
body.awx-app-design .awx-notifications .nt-tab { min-height: 44px; padding: 10px 16px; color: var(--awx-design-muted); font-size: .8125rem; font-weight: 600; }
body.awx-app-design .awx-notifications .nt-tab.active { color: var(--awx-design-ink); border-bottom-color: var(--awx-primary); }
body.awx-app-design .awx-notifications .nt-badge { background: var(--awx-design-soft); color: var(--awx-design-muted); }
body.awx-app-design .awx-notifications .nt-tab.active .nt-badge { background: #e8eeff; color: var(--awx-primary); }
body.awx-app-design .awx-notifications :is(.notif-card,.notif-empty-wrap) { background: var(--awx-design-surface); border-radius: 18px; box-shadow: 0 4px 18px rgb(64 81 137 / 6%); }
body.awx-app-design .awx-notifications .notif-card { display: flex; flex-direction: column; gap: 12px; }
body.awx-app-design .awx-notifications .nitem { min-width: 0; min-height: 130px; align-items: flex-start; gap: 16px; padding: 24px; border: 1px solid var(--awx-design-line); border-radius: 18px; background: var(--awx-design-surface); }
body.awx-app-design .awx-notifications .nitem.unread { background: var(--awx-design-surface); border-left: 3px solid var(--awx-primary); padding-left: 22px; }
body.awx-app-design .awx-notifications .nitem:hover { background: var(--awx-design-soft); }
body.awx-app-design .awx-notifications .nitem-msg { font-size: 1.0625rem; font-weight: 600; line-height: 1.5; color: var(--awx-design-ink); margin-bottom: 18px; }
body.awx-app-design .awx-notifications .nitem-meta { color: var(--awx-design-muted); font-size: .8125rem; }
body.awx-app-design .awx-notifications .nitem-icon { width: 38px; height: 38px; border-radius: 11px; background: var(--awx-design-soft); }
body.awx-app-design .awx-notifications .nitem-icon i { color: var(--awx-design-ink); }
body.awx-app-design .awx-notifications .nitem-acts { opacity: 1; }
body.awx-app-design .awx-notifications .nitem-dot { background: var(--awx-primary); margin-top: 14px; }
body.awx-app-design .awx-notifications #btnMarkAll { background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; --bs-btn-border-radius: 9px; }
body.awx-app-design .awx-notifications .nt-tab:focus-visible { outline: 3px solid #005fcc; outline-offset: 2px; }
@media (max-width: 575px) {
    body.awx-app-design .awx-notifications > .container-fluid { padding-inline: 4px; }
    body.awx-app-design .awx-notifications .nt-tab { padding-inline: 10px; }
    body.awx-app-design .awx-notifications .nitem { flex-wrap: wrap; padding: 18px; gap: 12px; }
    body.awx-app-design .awx-notifications .nitem.unread { padding-left: 16px; }
    body.awx-app-design .awx-notifications .nitem-body { flex-basis: calc(100% - 52px); }
    body.awx-app-design .awx-notifications .nitem-acts { margin-left: 50px; }
    body.awx-app-design .awx-notifications .nitem-msg { font-size: .9375rem; }
}
body.awx-app-design .awx-notifications .nt-tab { background: transparent !important; border: 0 !important; border-bottom: 3px solid transparent !important; border-radius: 0 !important; color: var(--awx-design-muted) !important; box-shadow: none !important; }
body.awx-app-design .awx-notifications .nt-tab.active { color: var(--awx-design-ink) !important; border-bottom-color: var(--awx-primary) !important; }
/* Earned certificates: inset course covers and three-column cards. */
body.awx-app-design .awx-student-certificates { width: 100%; min-width: 0; }
body.awx-app-design .awx-student-certificates > .container-fluid { padding-inline: 12px; padding-bottom: 24px; }
body.awx-app-design .awx-student-certificates h4 { font-size: 1.5rem; line-height: 1.3; letter-spacing: -.025em; color: var(--awx-design-ink); }
body.awx-app-design .awx-student-certificates #certGrid:not(.d-none) { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin: 0; }
body.awx-app-design .awx-student-certificates #certGrid > div { width: auto; min-width: 0; padding: 0; margin: 0 !important; }
body.awx-app-design .awx-student-certificates .cert-card { display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--awx-design-line); border-radius: 20px; background: var(--awx-design-surface); box-shadow: 0 3px 12px rgb(64 81 137 / 4%); }
body.awx-app-design .awx-student-certificates .cert-banner { height: auto; aspect-ratio: 2.45; flex-shrink: 0; border-radius: 10px; background: #edf2ff; }
body.awx-app-design .awx-student-certificates .cert-banner img { opacity: 1; }
body.awx-app-design .awx-student-certificates .cert-banner:has(img) .cert-seal { display: none; }
body.awx-app-design .awx-student-certificates .cert-seal { background: var(--awx-primary); border-color: #cbd5e5; width: 64px; height: 64px; }
body.awx-app-design .awx-student-certificates .cert-body { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: 20px 0 0; }
body.awx-app-design .awx-student-certificates .cert-category { color: var(--awx-design-muted); font-size: .75rem; font-weight: 500; letter-spacing: 0; margin-bottom: 7px; }
body.awx-app-design .awx-student-certificates .cert-title { display: block; overflow: visible; overflow-wrap: anywhere; font-size: 1.125rem; line-height: 1.4; color: var(--awx-design-ink); margin-bottom: 12px; }
body.awx-app-design .awx-student-certificates .cert-date { font-size: .8125rem; line-height: 1.6; color: var(--awx-design-muted); margin-bottom: 18px; }
body.awx-app-design .awx-student-certificates .cert-body > .d-flex { flex-wrap: wrap; margin-top: auto !important; }
body.awx-app-design .awx-student-certificates :is(.cert-card .btn,#certEmpty .btn) { --bs-btn-border-radius: 9px; --bs-btn-font-size: .8125rem; min-height: 40px; background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; box-shadow: 0 2px 5px rgb(64 81 137 / 14%); }
body.awx-app-design .awx-student-certificates .cert-card .btn:hover { background: color-mix(in srgb,var(--awx-primary) 85%,black) !important; }
body.awx-app-design .awx-student-certificates .cert-card:focus-within { border-color: var(--awx-primary); }
@media (max-width: 1100px) {
    body.awx-app-design .awx-student-certificates #certGrid:not(.d-none) { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 575px) {
    body.awx-app-design .awx-student-certificates > .container-fluid { padding-inline: 4px; }
    body.awx-app-design .awx-student-certificates #certGrid:not(.d-none) { grid-template-columns: minmax(0,1fr); }
    body.awx-app-design .awx-student-certificates .cert-card { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    body.awx-app-design .awx-student-certificates .cert-card:hover { transform: none; }
}
/* One outer content gutter shared by the header, pages and footer. */
@media (min-width: 1200px) {
    html:not(.awx-guest) body.awx-app-design { --awx-design-content-gutter: clamp(32px, calc((var(--awx-design-width, 90.9090909vw) - var(--awx-design-rail) - var(--awx-design-inset)) / 11), 140px); --awx-design-start: calc(var(--awx-design-rail) + var(--awx-design-inset) + var(--awx-design-content-gutter)); }
    html:not(.awx-guest) body.awx-app-design .header-area { width: calc(var(--awx-design-width, var(--awx-box-width, 90.9090909vw)) - var(--awx-design-start) - var(--awx-design-content-gutter)) !important; }
    html:not(.awx-guest) body.awx-app-design main.main-content-wrap.style-two { padding-right: var(--awx-design-content-gutter) !important; }
    html:not(.awx-guest) body.awx-app-design .cb { width: calc(var(--awx-design-width, 90.9090909vw) - var(--awx-design-start) - var(--awx-design-content-gutter)); }
}
html:not(.awx-guest) body.awx-app-design main.main-content-wrap > .overview-content-area,
html:not(.awx-guest) body.awx-app-design main.main-content-wrap > .overview-content-area > .container-fluid,
html:not(.awx-guest) body.awx-app-design main.main-content-wrap > .footer-area > .container-fluid { padding-inline: 0 !important; }
html:not(.awx-guest) body.awx-app-design main.main-content-wrap .awx-dashboard :is(.awx-dashboard-intro,.awx-dashboard-learning) { --bs-gutter-x: 0; margin-inline: 0 !important; }
html:not(.awx-guest) body.awx-app-design main.main-content-wrap .awx-dashboard #quickLinks { margin-inline: 0 !important; }
/* Shared spacing between page sections and card collections. */
body.awx-app-design { --awx-section-gap: 24px; }
@media (max-width: 575px) {
    body.awx-app-design { --awx-section-gap: 16px; }
}
body.awx-app-design main :is(.ic-grid,.ic-stats,.bl-grid,.bl-stats,.cert-list,#coursesGrid,#catalogGrid,#pkgGrid,#certGrid,#msPlansGrid,#tareasGrid,.dash-suggested-row,.notif-card) {
    gap: var(--awx-section-gap) !important;
}
body.awx-app-design main :is(.ic-header,.ic-stats,.ic-toolbar,.bl-header,.bl-stats,.bl-toolbar,.blg-toolbar,.dl-toolbar,.dl-search-wrap,.cert-section-hdr,#msStatusCard,#msPlansGrid) {
    margin-bottom: var(--awx-section-gap) !important;
}
body.awx-app-design main > .overview-content-area > .container-fluid > :is(.mb-3,.mb-4,.mb-5),
body.awx-app-design main :is(.awx-my-courses,.awx-instructor-tasks,.awx-instructor-exams) > .container-fluid > .d-flex {
    margin-bottom: var(--awx-section-gap) !important;
}
body.awx-app-design main > .overview-content-area > .container-fluid > .row,
body.awx-app-design main :is(.awx-inst-metrics,.awx-inst-section) {
    --bs-gutter-x: var(--awx-section-gap);
    --bs-gutter-y: var(--awx-section-gap);
}
/* These full-width dashboard rows already use gap: remove Bootstrap's added child margins. */
body.awx-app-design main :is(.awx-dashboard-intro,.awx-dashboard-learning,.awx-inst-intro) {
    row-gap: var(--awx-section-gap) !important;
    margin-top: 0 !important;
    margin-bottom: var(--awx-section-gap) !important;
}
body.awx-app-design main :is(.awx-dashboard-intro,.awx-dashboard-learning,.awx-inst-intro) > * {
    margin-top: 0 !important;
}
body.awx-app-design main :is(#quickLinks,.awx-inst-shortcuts > .row) {
    gap: var(--awx-section-gap) !important;
}
body.awx-app-design main :is(#quickLinks,.awx-inst-shortcuts > .row) > * { margin-top: 0 !important; }
body.awx-app-design main :is(.qa-item,.calif-course-card,.progress-course-card) {
    margin-bottom: var(--awx-section-gap) !important;
}
body.awx-app-design main :is(.qa-item,.calif-course-card,.progress-course-card):last-child { margin-bottom: 0 !important; }
body.awx-app-design .awx-student-blog :is(#blgGrid,#blgSkeleton) {
    --bs-gutter-x: var(--awx-section-gap);
    row-gap: var(--awx-section-gap) !important;
}
body.awx-app-design .awx-student-blog :is(#blgGrid,#blgSkeleton) > * { margin-top: 0 !important; }

/* Panel rows must not cancel the preceding section's outer spacing. */
body.awx-app-design main .awx-instructor-home :is(.awx-inst-metrics,.awx-inst-section) {
    margin-top: 0 !important;
    margin-bottom: var(--awx-section-gap) !important;
    row-gap: var(--awx-section-gap) !important;
}
body.awx-app-design main .awx-instructor-home :is(.awx-inst-metrics,.awx-inst-section) > * {
    margin-top: 0 !important;
}

/* Section stacks own their spacing, so row margins cannot add or cancel it. */
body.awx-app-design main :is(.awx-dashboard,.awx-instructor-home) > .container-fluid {
    display: flex;
    flex-direction: column;
    gap: var(--awx-section-gap);
}
body.awx-app-design main :is(.awx-dashboard,.awx-instructor-home) > .container-fluid > .row {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    --bs-gutter-y: 0;
    row-gap: var(--awx-section-gap) !important;
}
body.awx-app-design main :is(.awx-dashboard,.awx-instructor-home) > .container-fluid > .row > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
/* Card rows throughout the panel use a single vertical gap, including wrapped columns. */
body.awx-app-design main .row:has(> :is([class^="col-"],[class*=" col-"]) > .card) {
    --bs-gutter-y: 0;
    row-gap: var(--awx-section-gap) !important;
}
body.awx-app-design main .row > :is([class^="col-"],[class*=" col-"]):has(> .card) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
body.awx-app-design main .row > :is([class^="col-"],[class*=" col-"]) > .card:only-child {
    margin-block: 0 !important;
}
body.awx-app-design main .container-fluid > .card + .card {
    margin-top: var(--awx-section-gap) !important;
}
body.awx-app-design main .container-fluid > .card:has(+ .card) { margin-bottom: 0 !important; }

/* The shortcuts panel is itself a column; remove only the intro row's outer gutters. */
body.awx-app-design main .awx-instructor-home .awx-inst-intro {
    margin-inline: 0 !important;
    --bs-gutter-x: 0;
}
body.awx-app-design main .awx-instructor-home .awx-inst-intro > :not(.awx-inst-shortcuts) {
    padding-inline: 0 !important;
}

/* Recommendations use the same eyebrow and heading hierarchy as other home sections. */
body.awx-app-design .awx-dashboard .awx-recommendations-label {
    display: table;
    margin-bottom: 12px;
    padding: 3px 8px;
    border-radius: 6px;
    background: color-mix(in srgb,var(--awx-primary) 9%,var(--awx-design-surface));
    color: var(--awx-primary);
    font-size: .625rem;
    font-weight: 700;
    letter-spacing: .1em;
}
body.awx-app-design .awx-dashboard .awx-recommendations-header { gap: 10px 20px; flex-wrap: wrap; }
body.awx-app-design .awx-dashboard .awx-recommendations-header h6 {
    font-size: 1.125rem;
    line-height: 1.35;
    color: var(--awx-primary);
}
body.awx-app-design .awx-dashboard .awx-recommendations-header a {
    font-size: .75rem;
    font-weight: 600;
    color: var(--awx-primary);
    white-space: nowrap;
}

/* Remove legacy space for the formerly absolute send button and message floats. */
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter {
    margin-inline: 0 !important;
    box-sizing: border-box;
}
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter form {
    padding: 0 !important;
    max-width: none;
    box-sizing: border-box;
}
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) #threadFooter #replyBox { width: 100%; max-width: none; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .content-right .chat-list .chat-container .chat-content .chat .chat-body .chat-message {
    float: none;
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
}

/* Notification reference: text-led white panels with a quiet timestamp. */
body.awx-app-design .awx-notifications h4 { color: var(--awx-primary); }
body.awx-app-design .awx-notifications .notif-card { border-radius: 20px; }
body.awx-app-design .awx-notifications .nitem,
body.awx-app-design .awx-notifications .nitem.unread {
    padding: 24px;
    min-height: 150px;
    border: 1px solid var(--awx-design-line);
    border-radius: 20px;
    background: var(--awx-design-surface);
    gap: 16px;
}
body.awx-app-design .awx-notifications .nitem-icon { display: none; }
body.awx-app-design .awx-notifications .nitem-body {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    flex: 1 1 0;
}
body.awx-app-design .awx-notifications .nitem-msg {
    font-size: .9375rem;
    font-weight: 600 !important;
    line-height: 1.4;
    color: var(--awx-primary);
    margin-bottom: 24px;
}
body.awx-app-design .awx-notifications .nitem-meta {
    display: block;
    margin-top: auto;
    font-size: .75rem;
    color: var(--awx-design-muted);
}
body.awx-app-design .awx-notifications .nitem-dot { position: absolute; top: 12px; right: 12px; margin: 0; width: 6px; height: 6px; }
body.awx-app-design .awx-notifications .nitem-acts { margin: 0; }
@media (hover: hover) and (pointer: fine) {
    body.awx-app-design .awx-notifications .nitem-acts { opacity: 0; }
    body.awx-app-design .awx-notifications .nitem:hover .nitem-acts,
    body.awx-app-design .awx-notifications .nitem:focus-within .nitem-acts { opacity: 1; }
}
@media (max-width: 575px) {
    body.awx-app-design .awx-notifications .nitem,
    body.awx-app-design .awx-notifications .nitem.unread { padding: 18px; min-height: 140px; }
    body.awx-app-design .awx-notifications .nitem-msg { font-size: .875rem; }
}

/* Theme controls are the single source for branding across the panel. */
body.awx-app-design .sidebar-toggle-btn { background: var(--awx-toggle-color,var(--awx-primary)) !important; }
html:not(.awx-guest) body.awx-app-design .side-menu-area .sidebar-nav .metismenu li.mm-active .active {
    color: var(--awx-sidebar-ink) !important;
}
body.awx-app-design :is(.btn-primary,.btn-go,.dash-continue-btn) {
    --awx-button-color: var(--awx-primary);
    --awx-button-contrast: var(--awx-on-primary);
    background-color: var(--awx-primary) !important;
    border-color: var(--awx-primary) !important;
    color: var(--awx-on-primary) !important;
}
html.awx-design-dark body.awx-app-design :is(.cfg-card,.prev-content-area) { background-color: var(--awx-surface) !important; color: var(--awx-text-color); }
html.awx-design-dark body.awx-app-design .cfg-card :is(label,h6,small,.fw-semibold) { color: var(--awx-text-color) !important; }
body.awx-app-design .cfg-tab.active { background: var(--awx-primary) !important; border-color: var(--awx-primary) !important; color: var(--awx-on-primary) !important; }
html.awx-design-dark body.awx-app-design .header-area :is(.search-form i,.nav-item i,input::placeholder) { color: var(--awx-muted) !important; }
body.awx-app-design :is(.awx-instructor-messages,.awx-student-messages) .sidebar-left .sidebar .top-chat-menu.awx-vtabs li a.active .awx-vtab-icon { background: var(--awx-primary); color: var(--awx-on-primary); }
