:root {
    --nahj-font: "Cairo", "Tajawal", "Segoe UI", sans-serif;
    --nahj-bg: #f3f7ff;
    --nahj-surface: #ffffff;
    --nahj-border: #e5eaf5;
    --nahj-text: #11182f;
    --nahj-muted: #66738f;
    --nahj-shadow: 0 18px 40px rgba(15, 24, 47, 0.1);
    --nahj-radius-xl: 24px;
    --nahj-radius-lg: 18px;
    --nahj-radius-md: 14px;
}

/* Live meeting controls polish (Teams/Meet-like) */
.m4-desktop .live-room-shell,
.m5-desktop .live-room-shell {
    gap: 12px;
}

.m4-desktop .live-room-grid,
.m5-desktop .live-room-grid {
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.6fr);
}

.m4-desktop .video-area,
.m5-desktop .video-area {
    padding: 12px;
}

.m4-desktop .control-bar,
.m5-desktop .control-bar,
.m4-controls,
.m5-controls {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 8px 12px;
    gap: 10px;
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
}

.m4-desktop .ctrl,
.m5-desktop .ctrl,
.m4-control,
.m5-control {
    min-width: 64px;
}

.m4-desktop .ctrl-icon,
.m5-desktop .ctrl-icon,
.m4-ctrl-icon,
.m5-ctrl-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    color: #0f172a;
    font-size: 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.m4-desktop .ctrl-icon:hover,
.m5-desktop .ctrl-icon:hover,
.m4-ctrl-icon:hover,
.m5-ctrl-icon:hover {
    background: #eef2f7;
}

.m4-desktop .ctrl-icon.muted,
.m5-desktop .ctrl-icon.muted,
.m4-ctrl-icon.is-muted,
.m5-ctrl-icon.muted {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}

.m4-desktop .ctrl-icon.off,
.m4-ctrl-icon.is-off {
    background: #f1f5f9;
    border-color: #e2e8f0;
    color: #94a3b8;
}

.m4-desktop .badge,
.m4-ctrl-badge,
.m5-ctrl-badge {
    background: #2563eb;
    border-color: #dbeafe;
}

.m4-desktop .ctrl-lbl,
.m5-desktop .ctrl-lbl,
.m4-ctrl-label,
.m5-ctrl-label {
    color: #64748b;
    font-size: 11px;
}

.m4-desktop .side-panel {
    border-right: 1px solid #e5e7eb;
    background: #ffffff;
}

.m4-desktop .panel-content {
    gap: 10px;
}

.m4-desktop .p-row {
    background: #ffffff;
    border: 1px solid #e5e7eb;
}

.m4-desktop .p-row:hover {
    background: #f8fafc;
}

html,
body {
    margin: 0;
    min-height: 100%;
    direction: rtl;
    text-align: right;
    font-family: var(--nahj-font);
    color: var(--nahj-text);
    background:
        radial-gradient(circle at top right, rgba(56, 89, 255, 0.16), transparent 28%),
        radial-gradient(circle at bottom left, rgba(0, 180, 216, 0.15), transparent 24%),
        linear-gradient(180deg, #f8fbff 0%, var(--nahj-bg) 100%);
}

.is-disabled {
    opacity: 0.55;
    pointer-events: none;
}

.cursor-pointer {
    cursor: pointer;
}

#app {
    min-height: 100vh;
}

a {
    color: inherit;
    text-decoration: none;
}

#blazor-error-ui {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fee2e2;
    color: #7f1d1d;
    padding: 0.75rem 1rem;
    border-top: 1px solid #fecaca;
    z-index: 9999;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    margin-inline-start: 0.75rem;
}

.app-loader {
    min-height: 100vh;
    display: grid;
    place-content: center;
    gap: 1rem;
}

.app-loader__brand {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.app-loader__logo {
    width: 3rem;
    height: 3rem;
    border-radius: 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #3a5dff, #14b8a6);
    color: #fff;
    font-size: 1.15rem;
}

.app-loader__title {
    font-size: 1.2rem;
    font-weight: 800;
}

.app-loader__subtitle {
    color: var(--nahj-muted);
}

.auth-screen {
    min-height: 100vh;
    padding: 2rem;
    display: grid;
    grid-template-columns: 1.1fr minmax(320px, 420px);
    gap: 1.25rem;
    align-items: center;
}

.auth-showcase {
    border-radius: 2rem;
    color: #fff;
    padding: 2.2rem;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.24), transparent 30%),
        linear-gradient(145deg, #0c1e4f 0%, #233f96 45%, #3a5dff 100%);
    box-shadow: 0 28px 56px rgba(29, 78, 216, 0.3);
}

.auth-showcase__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    font-size: 0.85rem;
}

.auth-showcase h1 {
    margin: 1.1rem 0 0.75rem;
    font-size: clamp(1.7rem, 2.5vw, 2.4rem);
    font-weight: 800;
}

.auth-showcase p {
    opacity: 0.95;
    line-height: 1.9;
}

.auth-showcase ul {
    list-style: none;
    padding: 0;
    margin: 1.2rem 0 0;
    display: grid;
    gap: 0.7rem;
}

.auth-showcase li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.auth-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--nahj-border);
    border-radius: 1.5rem;
    box-shadow: var(--nahj-shadow);
    padding: 1.75rem;
}

.auth-card h2 {
    margin: 0;
    font-size: 1.45rem;
    font-weight: 800;
}

.auth-card__subtitle {
    color: var(--nahj-muted);
    margin: 0.5rem 0 1.25rem;
}

.portal-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem;
}

.portal-sidebar {
    background: rgba(10, 18, 48, 0.94);
    color: #dbe7ff;
    border-radius: var(--nahj-radius-xl);
    padding: 1.1rem;
    position: sticky;
    top: 1rem;
    height: calc(100vh - 2rem);
    overflow-y: auto;
}

.brand-block {
    display: flex;
    gap: 0.8rem;
    align-items: center;
    margin-bottom: 1.15rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.brand-block__logo {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 0.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #22d3ee, #3a5dff);
    color: #fff;
}

.brand-block h1 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #fff;
}

.brand-block p {
    margin: 0.2rem 0 0;
    font-size: 0.78rem;
    color: rgba(219, 231, 255, 0.82);
}

.menu-stack {
    display: grid;
    gap: 0.4rem;
}

.menu-section {
    margin-top: 0.75rem;
    margin-bottom: 0.3rem;
    font-size: 0.72rem;
    color: rgba(219, 231, 255, 0.6);
    font-weight: 700;
}

.menu-link {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    border: 0;
    border-radius: 0.8rem;
    padding: 0.62rem 0.75rem;
    background: transparent;
    color: #e8eeff;
    font-weight: 600;
    transition: all 0.2s ease;
}

.menu-link i {
    width: 1.15rem;
    text-align: center;
}

.menu-link:hover,
.menu-link.active {
    background: rgba(255, 255, 255, 0.1);
}

.menu-link--indigo i { color: #8b9dff; }
.menu-link--amber i { color: #fbbf24; }
.menu-link--emerald i { color: #34d399; }
.menu-link--orange i { color: #fb923c; }
.menu-link--rose i { color: #fb7185; }
.menu-link--sky i { color: #38bdf8; }
.menu-link--violet i { color: #c4b5fd; }
.menu-link--muted i { color: #93a4c8; }

.portal-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.portal-topbar {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid var(--nahj-border);
    border-radius: var(--nahj-radius-xl);
    box-shadow: var(--nahj-shadow);
    padding: 0.9rem 1rem;
    display: grid;
    grid-template-columns: auto 1fr minmax(260px, 360px) auto;
    align-items: center;
    gap: 1rem;
}

.portal-topbar h2 {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 800;
}

.portal-topbar p {
    margin: 0.2rem 0 0;
    color: var(--nahj-muted);
    font-size: 0.84rem;
}

.portal-page {
    display: grid;
    gap: 1rem;
    align-content: start;
}

.page-header {
    background: linear-gradient(120deg, rgba(58, 93, 255, 0.12), rgba(20, 184, 166, 0.1));
    border: 1px solid var(--nahj-border);
    border-radius: var(--nahj-radius-xl);
    padding: 1rem 1.2rem;
}

.page-title {
    margin: 0;
    font-size: clamp(1.25rem, 1.5vw, 1.55rem);
    font-weight: 800;
}

.page-subtitle {
    margin: 0.45rem 0 0;
    color: var(--nahj-muted);
}

.loading-panel {
    border: 1px dashed var(--nahj-border);
    background: rgba(255, 255, 255, 0.7);
    border-radius: var(--nahj-radius-lg);
    padding: 1.2rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.8rem;
}

.metric-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: var(--nahj-surface);
    border: 1px solid var(--nahj-border);
    border-radius: var(--nahj-radius-lg);
    box-shadow: var(--nahj-shadow);
    padding: 0.9rem;
}

.metric-card__icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.metric-card__title {
    font-size: 0.82rem;
    color: var(--nahj-muted);
}

.metric-card__value {
    font-size: 1.1rem;
    font-weight: 800;
}

.metric-card__subtitle {
    font-size: 0.76rem;
    color: var(--nahj-muted);
}

.metric-card--indigo .metric-card__icon { background: linear-gradient(135deg, #3a5dff, #5a7bff); }
.metric-card--amber .metric-card__icon { background: linear-gradient(135deg, #f59e0b, #fbbf24); }
.metric-card--emerald .metric-card__icon { background: linear-gradient(135deg, #10b981, #34d399); }
.metric-card--orange .metric-card__icon { background: linear-gradient(135deg, #f97316, #fb923c); }
.metric-card--rose .metric-card__icon { background: linear-gradient(135deg, #e11d48, #fb7185); }
.metric-card--sky .metric-card__icon { background: linear-gradient(135deg, #0ea5e9, #38bdf8); }
.metric-card--blue .metric-card__icon { background: linear-gradient(135deg, #2563eb, #3b82f6); }

.panel {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--nahj-border);
    border-radius: var(--nahj-radius-xl);
    box-shadow: var(--nahj-shadow);
}

.panel-header {
    padding: 0.95rem 1.1rem;
    border-bottom: 1px solid var(--nahj-border);
}

.panel-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
}

.panel-subtitle {
    margin: 0.3rem 0 0;
    color: var(--nahj-muted);
    font-size: 0.84rem;
}

.panel-body {
    padding: 1rem 1.1rem;
}

.panel-footer {
    padding: 0.85rem 1.1rem;
    border-top: 1px solid var(--nahj-border);
    display: flex;
    justify-content: flex-end;
}

.nahj-modal-backdrop {
    position: fixed;
    inset: 0;
    padding: 1rem;
    background: rgba(15, 24, 47, 0.45);
    backdrop-filter: blur(2px);
    z-index: 2600;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nahj-modal {
    width: min(680px, 100%);
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.8rem;
}

.form-grid__full {
    grid-column: 1 / -1;
}

.table-modern {
    --bs-table-bg: transparent;
    --bs-table-hover-bg: rgba(58, 93, 255, 0.05);
}

.badge-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.24rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    border: 1px solid transparent;
}

.badge-status--success {
    background: #dcfce7;
    color: #166534;
    border-color: #86efac;
}

.badge-status--muted {
    background: #eef2ff;
    color: #475569;
    border-color: #d4d9e7;
}

.badge-status--primary {
    background: #dbeafe;
    color: #1e3a8a;
    border-color: #93c5fd;
}

.flow-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.8rem;
}

.flow-step {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    padding: 0.85rem;
    background: linear-gradient(135deg, rgba(58, 93, 255, 0.05), rgba(20, 184, 166, 0.04));
}

.flow-step span {
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, #3a5dff, #14b8a6);
}

.flow-step h3 {
    margin: 0.65rem 0 0.35rem;
    font-size: 1rem;
    font-weight: 800;
}

.flow-step p {
    margin: 0 0 0.7rem;
    color: var(--nahj-muted);
    font-size: 0.84rem;
}

.topbar-search {
    min-width: 0;
}

.topbar-search input {
    border-radius: 0.75rem;
}

.topbar-account {
    justify-self: end;
}

.topbar-account__trigger {
    border: 1px solid #dbe3f5;
    border-radius: 999px;
    background: #fff;
    color: #0f1d3d;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.32rem 0.6rem 0.32rem 0.42rem;
    min-height: 44px;
}

.topbar-account__trigger:focus,
.topbar-account__trigger:hover {
    border-color: #93c5fd;
    background: #f8fbff;
}

.topbar-account__avatar {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #3a5dff, #14b8a6);
    color: #fff;
    font-weight: 800;
    font-size: 0.8rem;
    letter-spacing: 0.02em;
}

.topbar-account__text {
    display: grid;
    text-align: right;
    line-height: 1.2;
}

.topbar-account__text strong {
    font-size: 0.86rem;
    font-weight: 800;
    max-width: 140px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.topbar-account__text small {
    color: var(--nahj-muted);
    font-size: 0.72rem;
}

.topbar-account__menu {
    border: 1px solid var(--nahj-border);
    border-radius: 0.85rem;
    box-shadow: 0 18px 30px rgba(15, 24, 47, 0.12);
    min-width: 220px;
}

.topbar-account__menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.institution-setup-sections {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.institution-setup-section {
    margin: 0;
}

.institution-setup-section--institution {
    order: 1;
}

.institution-setup-section--academic {
    order: 2;
}

.institution-setup-section--branches {
    order: 3;
}

.institution-setup-section--tree {
    order: 4;
}

.institution-setup-summary .panel-body {
    padding: 0.9rem 1.1rem;
}

.institution-setup-summary__logo-fallback {
    width: 36px;
    height: 36px;
    border-radius: 0.55rem;
    border: 1px solid #bfdbfe;
    background: linear-gradient(135deg, #eaf2ff, #eefbff);
    color: #1e3a8a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

@media (max-width: 1100px) {
    .portal-shell {
        grid-template-columns: 1fr;
        padding: 0.75rem;
    }

    .portal-sidebar {
        position: fixed;
        top: 0.75rem;
        right: 0.75rem;
        left: 0.75rem;
        height: auto;
        max-height: calc(100vh - 1.5rem);
        transform: translateY(-120%);
        opacity: 0;
        pointer-events: none;
        transition: 0.25s ease;
        z-index: 2000;
    }

    .portal-sidebar--open {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
    }

    .portal-topbar {
        grid-template-columns: auto 1fr;
    }

    .topbar-search {
        grid-column: 1 / -1;
    }

    .topbar-account {
        grid-column: 1 / -1;
        justify-self: stretch;
    }

    .topbar-account__trigger {
        width: 100%;
        justify-content: space-between;
    }

    .auth-screen {
        grid-template-columns: 1fr;
        padding: 1rem;
    }
}



.wireframe-card {
    background: #fff;
    border: 1px solid var(--nahj-border);
    border-radius: var(--nahj-radius-xl);
    box-shadow: var(--nahj-shadow);
    overflow: hidden;
}

.wireframe-header {
    padding: 1rem 1.1rem;
    border-bottom: 1px solid var(--nahj-border);
    background: linear-gradient(120deg, rgba(58, 93, 255, 0.08), rgba(14, 165, 233, 0.06));
}

.wireframe-title-row,
.wireframe-meta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.wireframe-meta-row {
    margin-top: 0.5rem;
    color: var(--nahj-muted);
}

.institution-logo-preview {
    width: 36px;
    height: 36px;
    object-fit: cover;
    border-radius: 0.55rem;
    border: 1px solid #bfdbfe;
    background: #f8fbff;
}

.wireframe-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid var(--nahj-border);
}

.wireframe-col {
    padding: 0.95rem 1rem;
}

.wireframe-col + .wireframe-col {
    border-inline-start: 1px solid var(--nahj-border);
}

.wireframe-col-title {
    font-weight: 800;
    margin-bottom: 0.6rem;
}

.wireframe-link {
    width: 100%;
    border: 1px solid var(--nahj-border);
    border-radius: 0.75rem;
    background: #fff;
    padding: 0.45rem 0.6rem;
    margin-bottom: 0.45rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    text-align: right;
}

.wireframe-link:hover {
    background: #f8fbff;
}

.wireframe-term-row {
    border: 1px solid var(--nahj-border);
    border-radius: 0.75rem;
    padding: 0.45rem 0.6rem;
    margin-bottom: 0.45rem;
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}

.wireframe-tree {
    padding: 0.95rem 1rem;
}

.profile-card {
    background: rgba(255, 255, 255, 0.96);
}

.profile-avatar-box {
    width: 74px;
    height: 74px;
    border-radius: 14px;
    border: 1px solid var(--nahj-border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f0f5ff, #ecfeff);
    color: var(--nahj-muted);
    font-weight: 700;
}

.profile-divider {
    border-top: 1px solid var(--nahj-border);
}

.profile-section-title {
    margin: 0 0 0.75rem;
    font-size: 1rem;
    font-weight: 800;
}

.profile-activity-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.5rem;
}

.profile-activity-list li {
    color: #1e293b;
}

@media (max-width: 900px) {
    .wireframe-split {
        grid-template-columns: 1fr;
    }

    .wireframe-col + .wireframe-col {
        border-inline-start: 0;
        border-top: 1px solid var(--nahj-border);
    }
}

.menu-link--teal i { color: #14b8a6; }
.menu-link--violet i { color: #a78bfa; }

.wizard-steps {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.wizard-step {
    border: 1px solid var(--nahj-border);
    border-radius: 999px;
    padding: 0.35rem 0.7rem;
    font-size: 0.8rem;
    color: var(--nahj-muted);
    background: #fff;
}

.wizard-step--active {
    color: #1d4ed8;
    border-color: #93c5fd;
    background: #dbeafe;
    font-weight: 700;
}

.wizard-step--done {
    color: #166534;
    border-color: #86efac;
    background: #dcfce7;
}

.summary-box {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    padding: 0.9rem;
    background: linear-gradient(135deg, rgba(58, 93, 255, 0.05), rgba(20, 184, 166, 0.04));
    display: grid;
    gap: 0.35rem;
}

.content-course-card {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    padding: 0.85rem;
    background: #fff;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
    height: 100%;
}

.content-course-card__head {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: start;
}

.course-title-strip {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    padding: 0.7rem 0.85rem;
    background: #fff;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.course-title-strip__main {
    font-weight: 800;
    color: #0f1d3d;
}

.course-title-strip__meta {
    font-size: 0.86rem;
    color: var(--nahj-muted);
    border: 1px solid var(--nahj-border);
    border-radius: 999px;
    padding: 0.25rem 0.6rem;
    background: #f8fbff;
}

.course-title-strip__actions {
    margin-inline-start: auto;
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.tab-strip {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.tab-strip__item {
    border: 1px solid var(--nahj-border);
    border-radius: 0.75rem;
    background: #fff;
    color: #334155;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 0.45rem 0.8rem;
}

.tab-strip__item--active {
    background: #dbeafe;
    color: #1d4ed8;
    border-color: #93c5fd;
}

.section-title {
    font-size: 1rem;
    font-weight: 800;
    color: #0f1d3d;
    margin-bottom: 0.8rem;
}

.unit-panel {
    border: 1px solid var(--nahj-border);
    border-radius: 0.9rem;
    background: #fff;
    padding: 0.7rem;
}

.unit-panel__title-row {
    display: flex;
    justify-content: space-between;
    gap: 0.65rem;
    align-items: center;
    font-weight: 700;
    margin-bottom: 0.4rem;
}

.unit-lesson-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.65rem;
    border-top: 1px dashed #dbe3f5;
    padding-top: 0.42rem;
    margin-top: 0.42rem;
    font-size: 0.92rem;
}

.builder-shell {
    border: 1px solid var(--nahj-border);
    border-radius: 1.1rem;
    background: #fff;
    padding: 0.9rem;
    box-shadow: var(--nahj-shadow);
}

.builder-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding-bottom: 0.6rem;
    border-bottom: 2px solid #e2e8f0;
}

.builder-title {
    font-weight: 800;
    color: #0f1d3d;
}

.builder-unit {
    border-top: 2px solid #e2e8f0;
    margin-top: 0.7rem;
    padding-top: 0.7rem;
}

.builder-unit__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
}

.builder-unit__title {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 700;
}

.builder-unit__body {
    margin-top: 0.55rem;
    border-right: 2px solid #e2e8f0;
    padding-right: 0.8rem;
}

.builder-lesson-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.6rem;
    border: 1px solid #e8edf8;
    border-radius: 0.75rem;
    padding: 0.45rem 0.55rem;
    margin-bottom: 0.45rem;
    background: #fcfdff;
}

.builder-lesson-title {
    font-size: 0.9rem;
}

.builder-lesson-actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.lesson-editor-shell {
    border: 1px solid var(--nahj-border);
    border-radius: 1.1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
}

.lesson-editor-head,
.lesson-editor-foot {
    padding: 0.8rem 0.95rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.lesson-editor-head {
    border-bottom: 1px solid var(--nahj-border);
}

.lesson-editor-foot {
    border-top: 1px solid var(--nahj-border);
}

.lesson-editor-title {
    font-weight: 800;
    color: #0f1d3d;
}

.lesson-editor-body {
    padding: 0.9rem;
}

.editor-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.5rem;
}

.lesson-content-area {
    min-height: 230px;
    font-family: "Cairo", "Tajawal", sans-serif;
}

.editor-enhanced-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 0.75rem;
    align-items: start;
}

.editor-quick-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.55rem;
}

.editor-quick-card {
    border: 1px solid #dbe3f5;
    border-radius: 0.8rem;
    background: #f8fbff;
    padding: 0.55rem;
}

.editor-quick-title {
    font-size: 0.82rem;
    font-weight: 800;
    color: #1e3a8a;
    margin-bottom: 0.3rem;
}

.editor-preview-pane {
    border: 1px solid #dbe3f5;
    border-radius: 0.9rem;
    background: #fcfdff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 230px;
}

.editor-preview-head {
    border-bottom: 1px solid #dbe3f5;
    background: #eef4ff;
    padding: 0.5rem 0.7rem;
    font-size: 0.85rem;
    font-weight: 800;
    color: #1e3a8a;
}

.editor-preview-content {
    padding: 0.7rem;
    max-height: 420px;
    overflow: auto;
    line-height: 1.7;
}

.editor-preview-content img,
.editor-preview-content iframe,
.editor-preview-content video {
    max-width: 100%;
    border-radius: 0.55rem;
    border: 1px solid #dbe3f5;
}

.editor-preview-content iframe {
    width: 100%;
    min-height: 220px;
}

@media (max-width: 1200px) {
    .editor-enhanced-grid {
        grid-template-columns: 1fr;
    }
}

.completion-options {
    display: grid;
    gap: 0.35rem;
    padding-top: 0.2rem;
}

.completion-options label {
    font-size: 0.9rem;
    color: #334155;
}
.menu-link--teal i { color: #14b8a6; }
.menu-link--violet i { color: #a78bfa; }
.menu-link--cyan i { color: #22d3ee; }
.menu-link--lime i { color: #84cc16; }
.menu-link--fuchsia i { color: #d946ef; }

.assessment-grid-2 {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 0.9rem;
}

.assessment-subtitle {
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f1d3d;
}

.assessment-tree {
    border: 1px solid var(--nahj-border);
    border-radius: 0.95rem;
    padding: 0.75rem;
    background: #fff;
}

.assessment-tree__list {
    list-style: none;
    margin: 0.55rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.35rem;
}

.assessment-tree__node {
    width: 100%;
    border: 1px solid transparent;
    border-radius: 0.7rem;
    background: #f8fbff;
    padding: 0.48rem 0.55rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.9rem;
    color: #1f2a44;
}

.assessment-tree__node--active {
    background: #dbeafe;
    border-color: #93c5fd;
    color: #1d4ed8;
    font-weight: 700;
}

.assessment-content {
    border: 1px solid var(--nahj-border);
    border-radius: 0.95rem;
    padding: 0.75rem;
    background: #fff;
}

.assessment-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 170px 170px;
    gap: 0.5rem;
}

.assessment-answers {
    display: grid;
    gap: 0.5rem;
}

.assessment-answer-row {
    display: grid;
    grid-template-columns: 26px minmax(160px, 1fr) 140px minmax(170px, 1fr);
    gap: 0.45rem;
    align-items: center;
}

.assessment-simple-choice {
    display: flex;
    gap: 1.2rem;
    align-items: center;
}

.assessment-preview {
    border: 1px solid #dbe3f5;
    border-radius: 0.85rem;
    background: #fcfdff;
    padding: 0.75rem;
}

.assessment-page-block {
    border: 1px solid #dbe3f5;
    border-radius: 0.8rem;
    padding: 0.65rem;
    background: #fcfdff;
    margin-bottom: 0.75rem;
}

.assessment-page-block__title {
    font-weight: 800;
    color: #334155;
    margin-bottom: 0.45rem;
}

.assessment-slot-row {
    border-top: 1px dashed #dbe3f5;
    padding-top: 0.45rem;
    margin-top: 0.45rem;
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 100px 100px;
    gap: 0.5rem;
    align-items: center;
}

.assessment-attempt-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.assessment-attempt-nav__btn {
    border: 1px solid var(--nahj-border);
    border-radius: 0.55rem;
    min-width: 2.2rem;
    height: 2rem;
    padding: 0 0.45rem;
    background: #fff;
    font-size: 0.85rem;
}

.assessment-attempt-nav__btn--active {
    outline: 2px solid #60a5fa;
}

.assessment-attempt-nav__btn--answered {
    background: #dcfce7;
    border-color: #86efac;
    color: #166534;
}

.assessment-attempt-nav__btn--marked {
    background: #fef9c3;
    border-color: #fde047;
    color: #854d0e;
}

.assessment-attempt-nav__btn--empty {
    background: #f8fafc;
    color: #64748b;
}

.assessment-attempt-question {
    border: 1px solid #dbe3f5;
    border-radius: 0.9rem;
    padding: 0.8rem;
    background: #fff;
}

.assessment-option-row {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    padding: 0.48rem 0.55rem;
    margin-bottom: 0.45rem;
    background: #fcfdff;
}

.assessment-review-block {
    border: 1px solid #dbe3f5;
    border-radius: 0.9rem;
    padding: 0.75rem;
    background: #fff;
}

.assessment-manual-grading {
    border: 1px dashed #bfdbfe;
    border-radius: 0.8rem;
    background: #f8fbff;
    padding: 0.7rem;
}

.assessment-histogram {
    height: 140px;
    border: 1px solid #dbe3f5;
    border-radius: 0.9rem;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: end;
    gap: 0.5rem;
    padding: 0.65rem;
}

.assessment-histogram__bar {
    border-radius: 0.55rem 0.55rem 0.2rem 0.2rem;
    background: linear-gradient(180deg, #38bdf8, #1d4ed8);
}

@media (max-width: 1100px) {
    .assessment-grid-2 {
        grid-template-columns: 1fr;
    }

    .assessment-toolbar {
        grid-template-columns: 1fr;
    }

    .assessment-answer-row {
        grid-template-columns: 26px 1fr;
    }

    .assessment-slot-row {
        grid-template-columns: 1fr;
    }
}

.badge-status--danger {
    background: #fee2e2;
    color: #991b1b;
    border-color: #fca5a5;
}

.gradebook-table th,
.gradebook-table td {
    white-space: nowrap;
}

.gradebook-cell {
    min-width: 94px;
    cursor: pointer;
}

.gradebook-structure-list {
    display: grid;
    gap: 0.8rem;
}

.gradebook-structure-card {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    padding: 0.75rem;
    background: #fff;
}

.gradebook-rich-box {
    border: 1px solid #dbe3f5;
    border-radius: 0.8rem;
    padding: 0.65rem;
    background: #fcfdff;
    min-height: 110px;
    white-space: pre-wrap;
}

.assignment-grading-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 0.9rem;
}

.assignment-grading-list {
    border: 1px solid var(--nahj-border);
    border-radius: 0.9rem;
    padding: 0.5rem;
    background: #fff;
    max-height: 560px;
    overflow: auto;
    display: grid;
    gap: 0.4rem;
}

.assignment-grading-student {
    width: 100%;
    border: 1px solid #dbe3f5;
    border-radius: 0.75rem;
    background: #f8fbff;
    padding: 0.5rem 0.6rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: right;
}

.assignment-grading-student--active {
    border-color: #93c5fd;
    background: #dbeafe;
}

.assignment-grading-content {
    border: 1px solid var(--nahj-border);
    border-radius: 0.9rem;
    padding: 0.75rem;
    background: #fff;
}

.assignment-grading-preview {
    border: 1px dashed #bfdbfe;
    border-radius: 0.9rem;
    background: #f8fbff;
    padding: 0.8rem;
}

@media (max-width: 1100px) {
    .assignment-grading-layout {
        grid-template-columns: 1fr;
    }
}
.badge-status--warning {
    background: #fef3c7;
    color: #92400e;
    border-color: #fcd34d;
}

.gradebook-tree-list {
    display: grid;
    gap: 0.45rem;
}

.gradebook-tree-item {
    border: 1px dashed #c7d2fe;
    border-radius: 0.7rem;
    background: #f8faff;
    padding: 0.45rem 0.6rem;
}

.gradebook-progress-wrap {
    border: 1px solid #dbe3f5;
    border-radius: 0.9rem;
    background: #fff;
    padding: 0.7rem;
}

.gradebook-progress-bar {
    height: 12px;
    border-radius: 99px;
    background: #e5e7eb;
    overflow: hidden;
}

.gradebook-progress-bar > span {
    display: block;
    height: 100%;
    border-radius: 99px;
    background: linear-gradient(90deg, #10b981, #3b82f6);
}

.gradebook-chart-list {
    display: grid;
    gap: 0.6rem;
}

.gradebook-chart-item {
    display: grid;
    gap: 0.3rem;
}

.gradebook-chart-item__label {
    font-size: 0.87rem;
    font-weight: 600;
}

.gradebook-chart-item__bar {
    height: 10px;
    border-radius: 99px;
    background: #e5e7eb;
    overflow: hidden;
}

.gradebook-chart-item__bar > span {
    display: block;
    height: 100%;
    border-radius: 99px;
    background: linear-gradient(90deg, #2563eb, #38bdf8);
}

.gradebook-radar-list {
    display: grid;
    gap: 0.75rem;
}

.gradebook-radar-item {
    display: grid;
    gap: 0.25rem;
}

.gradebook-radar-item__name {
    font-size: 0.86rem;
    font-weight: 600;
}

.gradebook-radar-item__bars {
    display: grid;
    gap: 0.25rem;
}

.gradebook-radar-item__bar {
    height: 8px;
    border-radius: 99px;
}

.gradebook-radar-item__bar--student {
    background: linear-gradient(90deg, #4f46e5, #818cf8);
}

.gradebook-radar-item__bar--class {
    background: linear-gradient(90deg, #0284c7, #67e8f9);
}

.assignment-grading-layout--triple {
    grid-template-columns: 260px minmax(0, 1fr) 320px;
}

.assignment-grading-side {
    border: 1px solid var(--nahj-border);
    border-radius: 0.9rem;
    padding: 0.75rem;
    background: #fff;
}

@media (max-width: 1300px) {
    .assignment-grading-layout--triple {
        grid-template-columns: 1fr;
    }
}

.auth-screen--modern {
    gap: 1.6rem;
}

.auth-showcase--modern {
    min-height: 560px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.auth-showcase__chips {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
    margin-top: 1.35rem;
}

.auth-showcase__chips > span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.34rem 0.68rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    font-size: 0.8rem;
}

.auth-showcase__logo {
    width: 90px;
    max-width: 100%;
    object-fit: contain;
}

.auth-card--modern {
    border-radius: 1.4rem;
}

.auth-card--narrow {
    width: min(460px, 100%);
    margin-inline: auto;
}

.auth-screen--compact {
    display: flex;
    justify-content: center;
    align-items: center;
    grid-template-columns: 1fr;
}

.auth-card__head {
    margin-bottom: 1rem;
}

.auth-card__links {
    display: flex;
    justify-content: flex-start;
}

.auth-link {
    color: #1d4ed8;
    font-weight: 600;
}

.auth-link:hover {
    color: #1e40af;
    text-decoration: underline;
}

.auth-field .form-label {
    font-size: 0.88rem;
    margin-bottom: 0.35rem;
    color: #334155;
}

.auth-input-wrap {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    align-items: center;
    border: 1px solid #dbe3f5;
    border-radius: 0.82rem;
    background: #fff;
    overflow: hidden;
}

.auth-input-wrap i {
    text-align: center;
    color: #64748b;
}

.auth-input-wrap .form-control {
    border: 0;
    box-shadow: none;
}

.auth-input-wrap--with-action {
    grid-template-columns: 2rem minmax(0, 1fr) auto;
}

.auth-input-action {
    border: 0;
    border-inline-start: 1px solid #e2e8f0;
    background: #fff;
    color: #64748b;
    padding: 0.45rem 0.75rem;
}

.auth-input-action:hover {
    color: #334155;
    background: #f8fafc;
}

.auth-input-wrap:focus-within {
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(147, 197, 253, 0.25);
}

.auth-login-btn {
    border-radius: 0.86rem;
    font-weight: 700;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
}

.auth-divider {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #64748b;
    font-size: 0.8rem;
    margin: 1rem 0 0.75rem;
}

.auth-divider::before,
.auth-divider::after {
    content: "";
    flex: 1;
    border-top: 1px solid #e2e8f0;
}

.profile-modern-shell {
    display: grid;
    gap: 0.9rem;
}

.profile-hero-card {
    border: 1px solid var(--nahj-border);
    border-radius: var(--nahj-radius-xl);
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.14), transparent 34%),
        radial-gradient(circle at bottom left, rgba(20, 184, 166, 0.12), transparent 38%),
        #fff;
    box-shadow: var(--nahj-shadow);
    padding: 1.05rem;
}

.profile-hero-head {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    flex-wrap: wrap;
}

.profile-hero-avatar {
    width: 88px;
    height: 88px;
    border-radius: 1.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.55rem;
    font-weight: 800;
    background: linear-gradient(135deg, #1d4ed8, #14b8a6);
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.3);
}

.profile-hero-content {
    min-width: 240px;
    flex: 1;
}

.profile-hero-topline {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.profile-hero-name {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
    color: #0f1d3d;
}

.profile-hero-contact {
    margin-top: 0.3rem;
    color: #475569;
}

.profile-hero-pills {
    margin-top: 0.55rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.profile-hero-pills > span {
    border: 1px solid #dbe3f5;
    border-radius: 999px;
    background: #f8fbff;
    color: #334155;
    padding: 0.28rem 0.62rem;
    font-size: 0.8rem;
}

.profile-kpi-grid {
    margin-top: 0.95rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.55rem;
}

.profile-kpi-card {
    border: 1px solid #dbe3f5;
    border-radius: 0.92rem;
    background: rgba(255, 255, 255, 0.88);
    padding: 0.62rem 0.74rem;
}

.profile-kpi-label {
    color: #64748b;
    font-size: 0.8rem;
}

.profile-kpi-value {
    font-size: 1.12rem;
    font-weight: 800;
    color: #0f1d3d;
}

.profile-kpi-value--small {
    font-size: 0.88rem;
}

.profile-modern-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 0.8rem;
}

.profile-section-card {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.9rem;
}

.profile-section-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.7rem;
    margin-bottom: 0.7rem;
}

.profile-section-head h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f1d3d;
}

.profile-section-head span {
    color: #64748b;
    font-size: 0.8rem;
}

.profile-progress-row + .profile-progress-row {
    margin-top: 0.58rem;
}

.profile-activity-list--modern li {
    display: flex;
    align-items: center;
    gap: 0.42rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.7rem;
    background: #f8fbff;
    padding: 0.42rem 0.55rem;
}

.profile-activity-list--modern li i {
    color: #16a34a;
}

.live-layout-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.85rem;
}

.live-header-strip {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.78rem 0.88rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    flex-wrap: wrap;
}

.live-shell-card {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.95rem;
}

.live-session-focus {
    border: 1px solid #dbe3f5;
    border-radius: 1rem;
    background: linear-gradient(160deg, #f8fbff 0%, #ffffff 100%);
    padding: 1rem;
}

.live-countdown {
    font-size: clamp(1.1rem, 1.8vw, 1.4rem);
    font-weight: 800;
    color: #0f1d3d;
}

.live-meta-list {
    display: grid;
    gap: 0.3rem;
    color: #475569;
}

.live-recording-row {
    border: 1px solid #dbe3f5;
    border-radius: 0.85rem;
    padding: 0.55rem 0.65rem;
    background: #fcfdff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.live-tab-strip {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    margin-bottom: 0.7rem;
}

.live-tab-btn {
    border: 1px solid #dbe3f5;
    border-radius: 0.74rem;
    background: #fff;
    color: #334155;
    font-weight: 700;
    font-size: 0.88rem;
    padding: 0.4rem 0.72rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.live-tab-btn--active {
    background: #dbeafe;
    color: #1d4ed8;
    border-color: #93c5fd;
}

.live-attendance-table td,
.live-attendance-table th {
    white-space: nowrap;
}

.live-prejoin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.45rem 0.9rem;
    margin-top: 0.9rem;
}

.live-calendar-grid {
    display: grid;
    gap: 0.65rem;
}

.live-calendar-grid--month {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.live-calendar-grid--week {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.live-calendar-cell {
    border: 1px solid #dbe3f5;
    border-radius: 0.85rem;
    background: #fff;
    min-height: 140px;
    display: flex;
    flex-direction: column;
}

.live-calendar-cell--today {
    border-color: #93c5fd;
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.2) inset;
}

.live-calendar-cell__head {
    padding: 0.45rem 0.55rem;
    border-bottom: 1px solid #e2e8f0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: #334155;
}

.live-calendar-cell__body {
    padding: 0.45rem 0.5rem;
    display: grid;
    gap: 0.38rem;
    align-content: start;
}

.live-calendar-event {
    display: grid;
    gap: 0.16rem;
    width: 100%;
    text-align: right;
    border: 1px solid;
    border-radius: 0.6rem;
    background: #f8fbff;
    padding: 0.36rem 0.42rem;
    cursor: pointer;
    transition: transform 120ms ease, box-shadow 120ms ease;
}

.live-calendar-event:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px -16px rgba(15, 23, 42, 0.95);
}

.live-calendar-event--conflict {
    background: #fff7ed;
    border-color: #fb923c !important;
}

.live-calendar-event__title {
    font-size: 0.8rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
}

.live-calendar-event__meta {
    font-size: 0.72rem;
    color: #475569;
}

.live-session-summary {
    border: 1px dashed #cbd5e1;
    border-radius: 0.75rem;
    background: #f8fafc;
    padding: 0.75rem;
}

.livekit-stage {
    border: 1px solid #dbe3f5;
    border-radius: 0.95rem;
    background: #f8fbff;
    padding: 0.75rem;
    min-height: 300px;
}

.livekit-stage__status {
    font-size: 0.85rem;
    color: #475569;
    margin-bottom: 0.55rem;
}

.livekit-stage__local {
    margin-bottom: 0.7rem;
}

.livekit-stage__remote {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.65rem;
}

.livekit-stage--focus .livekit-stage__remote {
    grid-template-columns: 1fr;
}

.livekit-stage--pin-local .livekit-stage__local {
    border: 2px solid #f59e0b;
    border-radius: 0.75rem;
    padding: 0.35rem;
}

.livekit-tile {
    border: 1px solid #cddbf9;
    border-radius: 0.75rem;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 8px 20px -20px rgba(15, 23, 42, 0.7);
}

.livekit-tile__head {
    font-size: 0.76rem;
    font-weight: 700;
    color: #1e3a8a;
    padding: 0.4rem 0.55rem;
    border-bottom: 1px solid #dbe3f5;
    background: #eff6ff;
}

.livekit-tile__body {
    height: 160px;
    background: #020617;
    display: flex;
    align-items: center;
    justify-content: center;
}

.livekit-media {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #020617;
}

.livekit-audio {
    display: none;
}

.livekit-empty {
    border: 1px dashed #cbd5e1;
    border-radius: 0.7rem;
    background: #fff;
    color: #64748b;
    font-size: 0.84rem;
    padding: 0.7rem;
    text-align: center;
}

.reaction-item {
    background: transparent;
    border: none;
    cursor: pointer;
}

@media (max-width: 1100px) {
    .profile-kpi-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .profile-kpi-grid {
        grid-template-columns: 1fr;
    }

    .live-calendar-grid--month,
    .live-calendar-grid--week {
        grid-template-columns: 1fr;
    }
}

.messaging-drawer-host {
    position: relative;
}

.messaging-drawer {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    width: min(760px, 92vw);
    background: #fff;
    border: 1px solid #dbe3f5;
    border-radius: 0.8rem;
    z-index: 2000;
}

.community-messaging-grid {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: minmax(16rem, 20rem) minmax(24rem, 1fr) minmax(16rem, 22rem);
}

.community-messaging-left .panel-body,
.community-messaging-right .panel-body,
.community-messaging-center .panel-body {
    min-height: 28rem;
}

.community-conversation-item {
    background: #f8fafc;
    border: 1px solid #dbe3f5;
    border-radius: 0.65rem;
    color: inherit;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-bottom: 0.55rem;
    padding: 0.6rem 0.7rem;
    text-align: start;
    width: 100%;
}

.community-conversation-item--active {
    background: #eef2ff;
    border-color: #9db4ff;
}

.community-message-thread {
    background: #f8fafc;
    border: 1px solid #dbe3f5;
    border-radius: 0.75rem;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.55rem;
    max-height: 34rem;
    overflow: auto;
    padding: 0.8rem;
}

.community-message-day {
    color: #64748b;
    font-size: 0.8rem;
    font-weight: 700;
    text-align: center;
}

.community-bubble {
    border-radius: 0.75rem;
    max-width: 82%;
    padding: 0.55rem 0.65rem;
}

.community-bubble--mine {
    align-self: flex-end;
    background: #dcfce7;
    border: 1px solid #86efac;
}

.community-bubble--other {
    align-self: flex-start;
    background: #ffffff;
    border: 1px solid #dbe3f5;
}

.community-message-composer {
    border-top: 1px dashed #dbe3f5;
    margin-top: 0.2rem;
    padding-top: 0.6rem;
}

.community-search-list {
    border: 1px solid #dbe3f5;
    border-radius: 0.65rem;
    max-height: 13rem;
    overflow: auto;
}

.community-search-item {
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid #e6edf8;
    color: inherit;
    display: block;
    padding: 0.5rem 0.65rem;
    text-align: start;
    width: 100%;
}

.community-search-item:last-child {
    border-bottom: 0;
}

.community-search-item:hover {
    background: #f8fafc;
}

.community-notification-item {
    background: #ffffff;
    border: 1px solid #dbe3f5;
    border-radius: 0.75rem;
    color: inherit;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.65rem 0.75rem;
    text-align: start;
    width: 100%;
}

.community-notification-item--unread {
    border-color: #93c5fd;
    box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.2);
}

@media (max-width: 1280px) {
    .community-messaging-grid {
        grid-template-columns: 1fr;
    }
}

.student-dashboard {
    display: grid;
    gap: 1rem;
}

.student-dashboard__hero {
    border: 1px solid var(--nahj-border);
    border-radius: var(--nahj-radius-xl);
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.18), transparent 38%),
        radial-gradient(circle at bottom left, rgba(20, 184, 166, 0.14), transparent 42%),
        #fff;
    box-shadow: var(--nahj-shadow);
    padding: 1rem 1.1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.9rem;
    flex-wrap: wrap;
}

.student-dashboard__identity {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.student-dashboard__avatar {
    width: 64px;
    height: 64px;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 800;
    background: linear-gradient(135deg, #2563eb, #0ea5e9);
}

.student-dashboard__title {
    margin: 0;
    font-size: clamp(1.1rem, 1.6vw, 1.45rem);
    font-weight: 800;
    color: #0f1d3d;
}

.student-dashboard__subtitle {
    margin: 0.28rem 0 0;
    color: var(--nahj-muted);
}

.student-dashboard__notifications {
    border: 1px solid #c7d2fe;
    border-radius: 0.85rem;
    background: #eef2ff;
    color: #1e3a8a;
    padding: 0.45rem 0.7rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.student-dashboard__notifications:hover {
    background: #e0e7ff;
}

.student-dashboard__nav {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.student-dashboard__nav-link {
    border: 1px solid var(--nahj-border);
    border-radius: 0.75rem;
    color: #334155;
    font-weight: 700;
    font-size: 0.88rem;
    padding: 0.44rem 0.72rem;
    background: #fff;
}

.student-dashboard__nav-link:hover {
    background: #f8fbff;
}

.student-dashboard__nav-link--active {
    border-color: #93c5fd;
    background: #dbeafe;
    color: #1d4ed8;
}

.student-dashboard__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.student-dashboard__panel {
    min-height: 100%;
}

.student-dashboard__courses {
    display: grid;
    gap: 0.55rem;
}

.student-dashboard__course {
    border: 1px solid #dbe3f5;
    border-radius: 0.85rem;
    background: #fff;
    padding: 0.62rem 0.68rem;
    display: grid;
    gap: 0.45rem;
}

.student-dashboard__course--active {
    border-color: #93c5fd;
    background: #f8fbff;
}

.student-dashboard__course-title {
    font-weight: 700;
    color: #0f1d3d;
}

.student-dashboard__course-progress {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.student-dashboard__course-progress .progress {
    flex: 1;
    height: 0.55rem;
}

.student-dashboard__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.55rem;
}

.student-dashboard__list-item {
    border: 1px solid #dbe3f5;
    border-radius: 0.8rem;
    background: #fff;
    padding: 0.52rem 0.6rem;
    display: flex;
    align-items: center;
    gap: 0.62rem;
}

.student-dashboard__list-item--urgent {
    border-color: #fdba74;
    background: #fff7ed;
}

.student-dashboard__list-icon {
    width: 2rem;
    height: 2rem;
    border-radius: 0.55rem;
    background: #f1f5f9;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.94rem;
}

.student-dashboard__list-content {
    min-width: 0;
    display: grid;
    gap: 0.2rem;
}

.student-dashboard__list-title {
    font-weight: 700;
    color: #0f1d3d;
}

.student-dashboard__list-meta {
    color: #64748b;
    font-size: 0.82rem;
}

.student-dashboard__activity-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.45rem;
}

.student-dashboard__activity-list li {
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    background: #f8fbff;
    padding: 0.5rem 0.6rem;
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.student-dashboard__activity-list i {
    color: #2563eb;
}

.student-dashboard__calendar {
    display: grid;
    gap: 0.45rem;
}

.student-dashboard__calendar-weekdays {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.3rem;
}

.student-dashboard__calendar-weekdays div {
    text-align: center;
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 700;
}

.student-dashboard__calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.35rem;
}

.student-dashboard__calendar-day {
    border: 1px solid #dbe3f5;
    border-radius: 0.7rem;
    background: #fff;
    min-height: 78px;
    padding: 0.32rem;
    display: grid;
    align-content: start;
    gap: 0.2rem;
}

.student-dashboard__calendar-day--muted {
    opacity: 0.45;
}

.student-dashboard__calendar-day--today {
    border-color: #93c5fd;
    box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.2);
}

.student-dashboard__calendar-date {
    font-size: 0.78rem;
    font-weight: 700;
    color: #1e293b;
}

.student-dashboard__calendar-badges {
    display: grid;
    gap: 0.18rem;
}

.student-dashboard__calendar-badges .badge {
    width: fit-content;
    font-size: 0.66rem;
}

.student-dashboard__footer-nav {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.5rem;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem;
}

.student-dashboard__footer-item {
    border: 1px solid var(--nahj-border);
    border-radius: 0.75rem;
    padding: 0.42rem 0.3rem;
    text-align: center;
    font-size: 0.84rem;
    font-weight: 700;
    color: #334155;
    background: #fff;
}

.student-dashboard__footer-item--active {
    border-color: #93c5fd;
    background: #dbeafe;
    color: #1d4ed8;
}

@media (max-width: 1180px) {
    .student-dashboard__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .student-dashboard__calendar-weekdays,
    .student-dashboard__calendar-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

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

.student-course-home {
    display: grid;
    gap: 0.95rem;
}

.student-course-home__header {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.9rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.student-course-home__title {
    margin: 0;
    font-size: clamp(1.15rem, 1.5vw, 1.45rem);
    color: #0f1d3d;
    font-weight: 800;
}

.student-course-home__meta {
    margin: 0.3rem 0 0;
    color: var(--nahj-muted);
}

.student-course-home__progress-wrap {
    border: 1px solid var(--nahj-border);
    border-radius: 0.95rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.75rem 0.9rem;
}

.student-course-home__progress-wrap .progress {
    height: 0.65rem;
}

.student-course-home__tabs {
    border: 1px solid var(--nahj-border);
    border-radius: 0.9rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.45rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.student-course-home__tab {
    border: 1px solid var(--nahj-border);
    border-radius: 0.7rem;
    background: #fff;
    color: #334155;
    font-size: 0.88rem;
    font-weight: 700;
    padding: 0.4rem 0.72rem;
}

.student-course-home__tab:hover {
    background: #f8fbff;
}

.student-course-home__tab--active {
    border-color: #93c5fd;
    background: #dbeafe;
    color: #1d4ed8;
}

.student-course-home__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
    gap: 0.9rem;
}

.student-course-home__main {
    display: grid;
    gap: 0.75rem;
}

.student-course-home__unit {
    border: 1px solid var(--nahj-border);
    border-radius: 0.95rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    overflow: hidden;
}

.student-course-home__unit-head {
    width: 100%;
    border: 0;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(120deg, rgba(59, 130, 246, 0.08), rgba(20, 184, 166, 0.06));
    color: #0f1d3d;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
}

.student-course-home__unit-body {
    display: grid;
    gap: 0.45rem;
    padding: 0.65rem;
}

.student-course-home__lesson-row {
    width: 100%;
    border: 1px solid #dbe3f5;
    border-radius: 0.75rem;
    background: #fff;
    color: inherit;
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.55rem 0.62rem;
    transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease;
}

.student-course-home__lesson-row:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 18px -16px rgba(15, 23, 42, 0.9);
}

.student-course-home__lesson-leading {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.student-course-home__lesson-trailing {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: #475569;
    font-size: 0.82rem;
}

.student-course-home__deadline {
    border: 1px solid #fed7aa;
    border-radius: 999px;
    background: #fff7ed;
    color: #9a3412;
    font-weight: 700;
    font-size: 0.72rem;
    padding: 0.18rem 0.5rem;
}

.student-course-home__lesson-row--completed {
    border-color: #86efac;
    background: #f0fdf4;
}

.student-course-home__lesson-row--active {
    border-color: #93c5fd;
    background: #eff6ff;
}

.student-course-home__lesson-row--locked {
    border-color: #d1d5db;
    background: #f8fafc;
    color: #64748b;
    cursor: not-allowed;
}

.student-course-home__lesson-row--locked:hover {
    transform: none;
    box-shadow: none;
}

.student-course-home__lesson-row--default {
    background: #fff;
}

.student-course-home__side {
    display: grid;
    gap: 0.75rem;
    align-content: start;
}

.student-course-home__card {
    border: 1px solid var(--nahj-border);
    border-radius: 0.95rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.75rem 0.82rem;
}

.student-course-home__card-title {
    margin: 0 0 0.6rem;
    color: #0f1d3d;
    font-size: 0.98rem;
    font-weight: 800;
}

.student-course-home__announcement-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.55rem;
}

.student-course-home__announcement-list li {
    border: 1px solid #e2e8f0;
    border-radius: 0.72rem;
    background: #f8fbff;
    padding: 0.5rem 0.56rem;
}

.student-content-viewer {
    display: grid;
    gap: 0.9rem;
}

.student-content-viewer__header {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.78rem 0.95rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.student-content-viewer__crumbs {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #475569;
    font-size: 0.86rem;
    flex-wrap: wrap;
}

.student-content-viewer__crumbs a {
    color: #1d4ed8;
    font-weight: 700;
}

.student-content-viewer__content {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.9rem 0.95rem;
    display: grid;
    gap: 0.8rem;
}

.student-content-viewer__title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.student-content-viewer__title-row h1 {
    margin: 0;
    color: #0f1d3d;
    font-size: clamp(1.08rem, 1.4vw, 1.32rem);
    font-weight: 800;
}

.student-content-viewer__summary {
    margin: 0;
    color: #475569;
}

.student-content-viewer__html {
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: #fff;
    padding: 0.8rem;
    line-height: 1.95;
}

.student-content-viewer__video-wrap,
.student-content-viewer__pdf-wrap {
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: #fff;
    padding: 0.7rem;
    display: grid;
    gap: 0.55rem;
}

.student-content-viewer__video-wrap h2,
.student-content-viewer__pdf-wrap h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f1d3d;
}

.student-content-viewer__video {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 0.85rem;
    background: #020617;
    min-height: 280px;
}

.student-content-viewer__pdf {
    width: 100%;
    min-height: 560px;
    border: 1px solid #cbd5e1;
    border-radius: 0.85rem;
    background: #fff;
}

/* Course experience system */
.course-command-center {
    margin-top: 1rem;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
    gap: 1rem;
}

.course-command-center__hero,
.course-command-center__metrics,
.course-readiness-checklist {
    border: 1px solid #dbe5f1;
    border-radius: 1.25rem;
    box-shadow: 0 18px 48px -34px rgba(15, 23, 42, .45);
}

.course-command-center__hero {
    grid-row: span 2;
    position: relative;
    overflow: hidden;
    padding: clamp(1.25rem, 2.5vw, 2rem);
    color: #fff;
    background:
        radial-gradient(circle at 10% 15%, rgba(45, 212, 191, .25), transparent 35%),
        linear-gradient(135deg, #102a56 0%, #173f7a 55%, #166a73 100%);
}

.course-command-center__hero::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    inset-inline-end: -70px;
    bottom: -100px;
    border: 38px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
}

.course-command-center__eyebrow,
.course-command-center__actions {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
}

.course-command-center__eyebrow {
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .03em;
}

.course-status-pill {
    padding: .28rem .65rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.28);
}

.course-status-pill.is-live { background: rgba(16, 185, 129, .25); }
.course-status-pill.is-draft { background: rgba(245, 158, 11, .22); }

.course-command-center__hero h2 {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 1rem 0 .6rem;
    font-size: clamp(1.5rem, 3vw, 2.35rem);
    font-weight: 900;
    line-height: 1.35;
}

.course-command-center__hero p {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 0 1.2rem;
    color: rgba(255,255,255,.82);
    line-height: 1.85;
}

.course-command-center__hero .btn-outline-primary,
.course-command-center__hero .btn-outline-secondary {
    color: #fff;
    border-color: rgba(255,255,255,.55);
    background: rgba(255,255,255,.06);
}

.course-command-center__metrics {
    padding: .8rem;
    background: #fff;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.course-command-center__metrics article {
    padding: .75rem;
    border-radius: .9rem;
    background: #f7faff;
    border: 1px solid #e5edf8;
}

.course-command-center__metrics span,
.course-command-center__metrics small {
    display: block;
    color: #64748b;
    font-size: .76rem;
}

.course-command-center__metrics strong {
    display: block;
    margin: .25rem 0;
    color: #102a56;
    font-size: 1.45rem;
    font-weight: 900;
}

.course-readiness-checklist {
    padding: .9rem;
    background: #fff;
    display: grid;
    gap: .45rem;
}

.course-readiness-checklist__title {
    color: #102a56;
    font-weight: 900;
    margin-bottom: .15rem;
}

.course-readiness-checklist__item {
    display: flex;
    align-items: center;
    gap: .45rem;
    color: #475569;
    font-size: .84rem;
}

.course-readiness-checklist__item::before {
    display: grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 1.25rem;
    border-radius: 50%;
    font-size: .72rem;
    font-weight: 900;
}

.course-readiness-checklist__item.is-ready::before {
    content: "✓";
    color: #fff;
    background: #16a34a;
}

.course-readiness-checklist__item.is-pending::before {
    content: "!";
    color: #92400e;
    background: #fef3c7;
}

.learning-journey-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr);
    gap: 1.25rem;
    align-items: center;
    padding: clamp(1.2rem, 3vw, 2rem);
    border-radius: 1.35rem;
    color: #fff;
    background:
        radial-gradient(circle at 90% 0%, rgba(56, 189, 248, .24), transparent 38%),
        linear-gradient(135deg, #102a56, #164e63);
    box-shadow: 0 24px 60px -38px rgba(15, 23, 42, .75);
}

.learning-journey-hero__eyebrow {
    display: inline-block;
    color: #99f6e4;
    font-size: .78rem;
    font-weight: 900;
}

.learning-journey-hero h2 {
    margin: .5rem 0;
    font-size: clamp(1.45rem, 3vw, 2.25rem);
    font-weight: 900;
}

.learning-journey-hero p {
    max-width: 650px;
    margin: 0;
    color: rgba(255,255,255,.78);
}

.learning-journey-hero__actions {
    margin-top: 1rem;
    display: flex;
    align-items: center;
    gap: .8rem;
    flex-wrap: wrap;
    font-size: .85rem;
    color: rgba(255,255,255,.72);
}

.learning-journey-hero__progress {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.learning-progress-ring {
    --progress: 0;
    width: 132px;
    aspect-ratio: 1;
    border-radius: 50%;
    padding: 10px;
    background: conic-gradient(#2dd4bf calc(var(--progress) * 1%), rgba(255,255,255,.15) 0);
    box-shadow: 0 0 0 1px rgba(255,255,255,.12);
}

.learning-progress-ring > div {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: #12355c;
    display: grid;
    place-content: center;
    text-align: center;
}

.learning-progress-ring strong,
.learning-progress-ring span { display: block; }
.learning-progress-ring strong { font-size: 1.45rem; font-weight: 900; }
.learning-progress-ring span { font-size: .72rem; color: #bae6fd; }

.learning-journey-hero__next {
    max-width: 190px;
}

.learning-journey-hero__next span,
.learning-journey-hero__next small {
    display: block;
    color: #bae6fd;
    font-size: .74rem;
}

.learning-journey-hero__next strong {
    display: block;
    margin: .25rem 0;
    font-size: .95rem;
    line-height: 1.45;
}

.builder-shell,
.lesson-editor-shell {
    border-radius: 1.25rem;
    box-shadow: 0 20px 55px -38px rgba(15, 23, 42, .55);
}

.builder-unit {
    border-radius: 1rem;
    overflow: hidden;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.curriculum-builder-overview {
    margin: .9rem 0 1rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
}

.curriculum-builder-overview > div {
    padding: .9rem;
    border: 1px solid #dbe5f1;
    border-radius: .9rem;
    background: linear-gradient(145deg, #fff, #f7faff);
}

.curriculum-builder-overview span,
.curriculum-builder-overview small {
    display: block;
    color: #64748b;
    font-size: .76rem;
}

.curriculum-builder-overview strong {
    display: block;
    margin: .25rem 0;
    color: #102a56;
    font-size: 1.15rem;
    font-weight: 900;
}

.builder-unit:hover {
    border-color: #a9c7ed;
    box-shadow: 0 15px 35px -30px rgba(15, 23, 42, .7);
}

.builder-lesson-row {
    min-height: 52px;
}

.lesson-editor-body {
    max-width: 1080px;
    width: 100%;
    margin-inline: auto;
}

.authoring-flow-steps {
    margin-bottom: 1rem;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .45rem;
}

.authoring-flow-steps span {
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem .7rem;
    border: 1px solid #dbe5f1;
    border-radius: .85rem;
    background: #f8fafc;
    color: #64748b;
    font-weight: 900;
}

.authoring-flow-steps span small {
    font-size: .76rem;
    font-weight: 800;
}

.authoring-flow-steps span.is-current {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
}

.authoring-flow-steps span.is-complete {
    border-color: #86efac;
    background: #f0fdf4;
    color: #15803d;
}

.lesson-student-preview {
    margin-bottom: 1rem;
    padding: clamp(1rem, 2vw, 1.5rem);
    border: 1px solid #bfdbfe;
    border-radius: 1rem;
    background: linear-gradient(145deg, #f8fbff, #f0fdfa);
}

.lesson-student-preview__label {
    width: fit-content;
    margin-bottom: .75rem;
    padding: .25rem .6rem;
    border-radius: 999px;
    color: #1d4ed8;
    background: #dbeafe;
    font-size: .72rem;
    font-weight: 900;
}

.lesson-student-preview h2 {
    margin: 0;
    color: #102a56;
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    font-weight: 900;
}

.lesson-student-preview p {
    margin: .5rem 0;
    color: #475569;
}

.lesson-student-preview__content {
    margin-top: .8rem;
    padding: .85rem;
    border: 1px dashed #bfdbfe;
    border-radius: .8rem;
    color: #475569;
    background: rgba(255,255,255,.72);
}

.lesson-student-preview__media {
    margin-top: .8rem;
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.lesson-student-preview__media span {
    padding: .4rem .65rem;
    border: 1px solid #dbe5f1;
    border-radius: .65rem;
    background: #fff;
    font-size: .82rem;
    font-weight: 800;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(37, 99, 235, .3);
    outline-offset: 2px;
}

@media (max-width: 980px) {
    .course-command-center,
    .learning-journey-hero {
        grid-template-columns: 1fr;
    }

    .course-command-center__hero {
        grid-row: auto;
    }
}

@media (max-width: 620px) {
    .course-command-center__metrics {
        grid-template-columns: 1fr;
    }

    .learning-journey-hero__progress {
        justify-content: flex-start;
    }

    .student-course-home__lesson-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .student-course-home__lesson-trailing {
        width: 100%;
        justify-content: space-between;
    }

    .builder-unit__head,
    .builder-lesson-row,
    .lesson-editor-head,
    .lesson-editor-foot {
        align-items: stretch;
        flex-direction: column;
    }

    .authoring-flow-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .curriculum-builder-overview {
        grid-template-columns: 1fr;
    }
}

.student-content-viewer__document-page {
    position: relative;
    overflow: hidden;
    max-width: 980px;
    margin-inline: auto;
    background: #eef2f7;
    border: 1px solid #d9e0ea;
    border-radius: 12px;
    user-select: none;
}

.student-content-viewer__document-page img {
    display: block;
    width: 100%;
    height: auto;
    pointer-events: none;
}

.student-content-viewer__watermark {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1rem;
    color: rgba(170, 25, 25, .25);
    font-weight: 800;
    font-size: clamp(1rem, 2.4vw, 2rem);
    transform: rotate(-24deg);
    pointer-events: none;
    text-align: center;
}

.student-content-viewer__actions {
    border: 1px solid var(--nahj-border);
    border-radius: 0.9rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.65rem 0.75rem;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.student-content-viewer__nav {
    border: 1px solid var(--nahj-border);
    border-radius: 0.95rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.75rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 0.7rem;
}

.student-content-viewer__next-preview {
    border: 1px dashed #cbd5e1;
    border-radius: 0.72rem;
    background: #f8fafc;
    padding: 0.45rem 0.55rem;
    min-height: 68px;
}

@media (max-width: 1100px) {
    .student-course-home__layout {
        grid-template-columns: 1fr;
    }
}

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

    .student-content-viewer__video {
        min-height: 220px;
    }

    .student-content-viewer__pdf {
        min-height: 420px;
    }
}

.student-quiz-launch,
.student-quiz-attempt,
.student-quiz-review {
    display: grid;
    gap: 0.9rem;
}

.student-quiz-launch__header,
.student-quiz-attempt__header,
.student-quiz-review__header {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.82rem 0.95rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.student-quiz-launch__title,
.student-quiz-attempt__title,
.student-quiz-review__title {
    margin: 0;
    font-size: clamp(1.1rem, 1.5vw, 1.35rem);
    font-weight: 800;
    color: #0f1d3d;
}

.student-quiz-launch__meta,
.student-quiz-attempt__meta,
.student-quiz-review__meta {
    margin: 0.32rem 0 0;
    color: var(--nahj-muted);
}

.student-quiz-launch__description {
    border: 1px solid var(--nahj-border);
    border-radius: 0.9rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.72rem 0.82rem;
    line-height: 1.9;
}

.student-quiz-launch__stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.6rem;
}

.student-quiz-launch__stat {
    border: 1px solid #dbe3f5;
    border-radius: 0.9rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.65rem 0.72rem;
    display: grid;
    gap: 0.28rem;
}

.student-quiz-launch__stat-label {
    font-size: 0.82rem;
    color: #64748b;
    font-weight: 700;
}

.student-quiz-launch__stat-value {
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f1d3d;
}

.student-quiz-launch__attempts {
    border: 1px solid var(--nahj-border);
    border-radius: 0.95rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.75rem 0.82rem;
}

.student-quiz-launch__attempts h2 {
    margin: 0 0 0.55rem;
    font-size: 1rem;
    font-weight: 800;
    color: #0f1d3d;
}

.student-quiz-launch__attempts ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.45rem;
}

.student-quiz-launch__attempts li {
    border: 1px solid #e2e8f0;
    border-radius: 0.72rem;
    background: #f8fbff;
    padding: 0.48rem 0.56rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.student-quiz-launch__warning {
    border: 1px solid #fed7aa;
    border-radius: 0.85rem;
    background: #fff7ed;
    color: #9a3412;
    padding: 0.58rem 0.7rem;
    font-weight: 700;
}

.student-quiz-launch__actions {
    border: 1px solid var(--nahj-border);
    border-radius: 0.92rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.68rem 0.75rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.student-quiz-attempt__header-actions {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.student-quiz-attempt__summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.5rem;
}

.student-quiz-attempt__summary-item {
    border: 1px solid #dbe3f5;
    border-radius: 0.72rem;
    background: #fff;
    color: #1e293b;
    text-align: right;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.52rem;
}

.student-quiz-attempt__summary-item--answered {
    border-color: #86efac;
    background: #f0fdf4;
}

.student-quiz-attempt__summary-item--empty {
    border-color: #d1d5db;
    background: #f8fafc;
}

.student-quiz-attempt__summary-item--marked {
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.35);
}

.student-quiz-review__score-card {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.85rem 0.95rem;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.student-quiz-review__score-card--good {
    background: linear-gradient(120deg, rgba(34, 197, 94, 0.12), #fff);
}

.student-quiz-review__score-card--warn {
    background: linear-gradient(120deg, rgba(245, 158, 11, 0.12), #fff);
}

.student-quiz-review__score-card--bad {
    background: linear-gradient(120deg, rgba(239, 68, 68, 0.12), #fff);
}

.student-quiz-review__score-circle {
    width: 94px;
    height: 94px;
    border-radius: 50%;
    border: 6px solid #bfdbfe;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    font-weight: 800;
    color: #1d4ed8;
    background: #fff;
}

.student-quiz-review__score-status {
    font-size: 1rem;
    font-weight: 800;
    color: #0f1d3d;
}

.student-quiz-review__score-value {
    margin-top: 0.2rem;
    font-size: 1.06rem;
    font-weight: 800;
    color: #0f1d3d;
}

.student-quiz-review__score-meta {
    margin-top: 0.25rem;
    color: #475569;
    font-size: 0.86rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.student-quiz-review__charts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.student-quiz-review__panel {
    border: 1px solid var(--nahj-border);
    border-radius: 0.95rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.72rem 0.8rem;
    display: grid;
    gap: 0.6rem;
}

.student-quiz-review__panel h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f1d3d;
}

.student-quiz-review__bar-row {
    display: grid;
    grid-template-columns: 120px 1fr 56px;
    align-items: center;
    gap: 0.45rem;
}

.student-quiz-review__bar-label {
    font-size: 0.82rem;
    color: #334155;
    font-weight: 700;
}

.student-quiz-review__bar-row .progress {
    height: 0.56rem;
}

.student-quiz-review__bar-value {
    text-align: left;
    font-size: 0.8rem;
    color: #475569;
    font-weight: 700;
}

.student-quiz-review__insights {
    display: grid;
    gap: 0.7rem;
}

.student-quiz-review__insights ul {
    margin-top: 0.3rem;
    padding-right: 1rem;
}

.student-quiz-review__answers {
    display: grid;
    gap: 0.6rem;
}

.student-quiz-review__answer {
    border: 1px solid #dbe3f5;
    border-radius: 0.82rem;
    background: #fff;
    padding: 0.58rem 0.62rem;
    display: grid;
    gap: 0.36rem;
}

.student-quiz-review__answer-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.student-quiz-review__answer-text {
    color: #0f1d3d;
    font-weight: 600;
}

.student-quiz-review__note {
    border: 1px dashed #bfdbfe;
    border-radius: 0.65rem;
    background: #f8fbff;
    color: #1e3a8a;
    padding: 0.36rem 0.46rem;
    font-size: 0.82rem;
}

.student-quiz-review__actions {
    border: 1px solid var(--nahj-border);
    border-radius: 0.95rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.68rem 0.75rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

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

@media (max-width: 760px) {
    .student-quiz-review__bar-row {
        grid-template-columns: 1fr;
    }

    .student-quiz-review__bar-value {
        text-align: right;
    }
}

.student-assignment-submission {
    display: grid;
    gap: 1rem;
}

.student-assignment-submission__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.student-assignment-submission__title {
    margin: 0;
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    font-weight: 700;
    color: #0f172a;
}

.student-assignment-submission__meta {
    margin: 0.25rem 0 0;
    color: #475569;
    font-size: 0.95rem;
}

.student-assignment-submission__stats {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.student-assignment-submission__stat {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.8rem;
    padding: 0.85rem;
}

.student-assignment-submission__stat-label {
    color: #64748b;
    font-size: 0.82rem;
    margin-bottom: 0.35rem;
}

.student-assignment-submission__stat-value {
    color: #0f172a;
    font-weight: 600;
}

.student-assignment-submission__instructions,
.student-assignment-submission__submission,
.student-assignment-submission__evaluation,
.student-assignment-submission__rubric {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.85rem;
    padding: 1rem;
}

.student-assignment-submission__instructions h2,
.student-assignment-submission__submission h2,
.student-assignment-submission__evaluation h2,
.student-assignment-submission__rubric h2 {
    margin: 0 0 0.7rem;
    font-size: 1.05rem;
    color: #0f172a;
}

.student-assignment-submission__html {
    color: #0f172a;
    line-height: 1.8;
}

.student-assignment-submission__section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.student-assignment-submission__upload {
    margin-top: 0.25rem;
}

.student-assignment-submission__file-chip {
    margin-top: 0.6rem;
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    padding: 0.3rem 0.5rem 0.3rem 0.75rem;
}

.student-assignment-submission__file-chip a {
    color: #1d4ed8;
    text-decoration: none;
    font-size: 0.9rem;
}

.student-assignment-submission__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.6rem;
    margin-top: 0.9rem;
    flex-wrap: wrap;
}

.student-assignment-submission__evaluation-cards {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.student-assignment-submission__eval-card {
    border: 1px solid #cbd5e1;
    border-radius: 0.75rem;
    padding: 0.8rem;
    background: #f8fafc;
}

.student-assignment-submission__eval-label {
    color: #64748b;
    font-size: 0.82rem;
    margin-bottom: 0.35rem;
}

.student-assignment-submission__eval-value {
    color: #0f172a;
    font-weight: 700;
    font-size: 1rem;
}

.student-assignment-submission__eval-note {
    color: #1e293b;
    line-height: 1.65;
}

.student-grades {
    display: grid;
    gap: 1rem;
}

.student-grades__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.student-grades__title {
    margin: 0;
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    font-weight: 700;
    color: #0f172a;
}

.student-grades__meta {
    margin: 0.3rem 0 0;
    color: #475569;
    font-size: 0.92rem;
}

.student-grades__header-actions {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.student-grades__course-select {
    min-width: 230px;
}

.student-grades__summary {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.student-grades__summary-card {
    border: 1px solid #e2e8f0;
    border-radius: 0.85rem;
    background: #ffffff;
    padding: 0.95rem;
}

.student-grades__summary-card--primary {
    border-top: 3px solid #2563eb;
}

.student-grades__summary-card--indigo {
    border-top: 3px solid #4f46e5;
}

.student-grades__summary-card--emerald {
    border-top: 3px solid #059669;
}

.student-grades__summary-label {
    color: #64748b;
    font-size: 0.82rem;
    margin-bottom: 0.3rem;
}

.student-grades__summary-value {
    font-size: 1.45rem;
    font-weight: 700;
    color: #0f172a;
}

.student-grades__summary-note {
    color: #334155;
    font-size: 0.9rem;
}

.student-grades__category,
.student-grades__pending {
    border: 1px solid #e2e8f0;
    border-radius: 0.85rem;
    background: #ffffff;
    padding: 0.95rem;
}

.student-grades__category-head {
    display: grid;
    gap: 0.6rem;
    margin-bottom: 0.8rem;
}

.student-grades__category-head h2 {
    margin: 0;
    font-size: 1.02rem;
    color: #0f172a;
}

.student-grades__category-head p {
    margin: 0.25rem 0 0;
    color: #475569;
    font-size: 0.88rem;
}

.student-grades__category-progress {
    height: 0.52rem;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}

.student-grades__category-progress span {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #2563eb, #0ea5e9);
}

.student-grades__pending h2 {
    margin: 0 0 0.65rem;
    font-size: 1.02rem;
    color: #0f172a;
}

.student-grades__pending-list {
    margin: 0;
    padding-inline-start: 1rem;
    display: grid;
    gap: 0.4rem;
}

.student-grades__pending-list li {
    color: #0f172a;
}

@media (max-width: 767.98px) {
    .student-grades__course-select {
        min-width: 180px;
    }
}

.student-live-session {
    display: grid;
    gap: 0.95rem;
}

.student-live-session__header {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.85rem 0.95rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.student-live-session__title {
    margin: 0;
    font-size: clamp(1.15rem, 1.7vw, 1.42rem);
    font-weight: 800;
    color: #0f1d3d;
}

.student-live-session__subtitle {
    margin: 0.34rem 0 0;
    color: #475569;
}

.student-live-session__header-actions {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.student-live-session__card {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.9rem 0.95rem;
    display: grid;
    gap: 0.58rem;
}

.student-live-session__card h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f1d3d;
}

.student-live-session__card--upcoming {
    background: linear-gradient(120deg, rgba(59, 130, 246, 0.08), rgba(20, 184, 166, 0.05));
}

.student-live-session__card--active {
    background: linear-gradient(120deg, rgba(22, 163, 74, 0.1), rgba(59, 130, 246, 0.06));
    border-color: #86efac;
}

.student-live-session__card--ended {
    background: linear-gradient(120deg, rgba(148, 163, 184, 0.12), rgba(226, 232, 240, 0.18));
}

.student-live-session__countdown {
    font-size: clamp(1.05rem, 1.5vw, 1.28rem);
    font-weight: 800;
    color: #0f1d3d;
}

.student-live-session__live-row,
.student-live-session__attendance-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.student-live-session__live-dot {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-weight: 800;
    color: #b91c1c;
}

.student-live-session__recordings-list {
    display: grid;
    gap: 0.55rem;
}

.student-live-session__recording-item {
    border: 1px solid #dbe3f5;
    border-radius: 0.8rem;
    background: #f8fbff;
    padding: 0.56rem 0.64rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.62rem;
    flex-wrap: wrap;
}

.student-notifications {
    display: grid;
    gap: 1rem;
}

.student-notifications__header {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.9rem 0.95rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.student-notifications__title {
    margin: 0;
    font-size: clamp(1.15rem, 1.7vw, 1.42rem);
    font-weight: 800;
    color: #0f1d3d;
}

.student-notifications__subtitle {
    margin: 0.35rem 0 0;
    color: #475569;
}

.student-notifications__actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.student-notifications__tabs {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.student-notifications__card {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.95rem;
    display: grid;
    gap: 0.8rem;
}

.student-notifications__card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.student-notifications__card-head h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f1d3d;
}

.student-notifications__filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.65rem;
}

.student-notifications__list {
    display: grid;
    gap: 0.55rem;
}

.student-notifications__item {
    border: 1px solid #dbe3f5;
    border-radius: 0.85rem;
    background: #f8fbff;
    padding: 0.7rem 0.78rem;
    text-align: right;
}

.student-notifications__item--unread {
    border-color: #93c5fd;
    box-shadow: inset 0 0 0 1px #bfdbfe;
    background: #eff6ff;
}

.student-notifications__status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 0.12rem 0.5rem;
    font-size: 0.72rem;
    font-weight: 700;
    border: 1px solid transparent;
}

.student-notifications__status--read {
    background: #f1f5f9;
    color: #475569;
    border-color: #cbd5e1;
}

.student-notifications__status--unread {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #93c5fd;
}

.student-notifications__toggles {
    display: grid;
    gap: 0.6rem;
}

.student-forum {
    display: grid;
    gap: 1rem;
}

.student-forum__header {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.9rem 0.95rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.student-forum__title {
    margin: 0;
    font-size: clamp(1.15rem, 1.7vw, 1.42rem);
    font-weight: 800;
    color: #0f1d3d;
}

.student-forum__subtitle {
    margin: 0.35rem 0 0;
    color: #475569;
}

.student-forum__header-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.student-forum__toolbar,
.student-forum__compose-card {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.95rem;
}

.student-forum__toolbar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.7rem;
}

.student-forum__toolbar-actions {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.student-forum__compose-card h2,
.student-forum__compose-card h3 {
    margin: 0 0 0.7rem;
    font-size: 1rem;
    font-weight: 800;
    color: #0f1d3d;
}

.student-forum__layout {
    display: grid;
    grid-template-columns: minmax(250px, 320px) 1fr;
    gap: 0.8rem;
}

.student-forum__discussions,
.student-forum__thread {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.9rem;
}

.student-forum__section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

.student-forum__section-head h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f1d3d;
}

.student-forum__discussion-item {
    border: 1px solid #dbe3f5;
    border-radius: 0.85rem;
    background: #f8fbff;
    padding: 0.62rem 0.68rem;
    text-align: right;
    display: grid;
    gap: 0.32rem;
    width: 100%;
    margin-bottom: 0.5rem;
}

.student-forum__discussion-item--active {
    border-color: #7dd3fc;
    background: #f0f9ff;
}

.student-forum__discussion-item--unread {
    box-shadow: inset 0 0 0 1px #bfdbfe;
}

.student-forum__discussion-title {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: 700;
    color: #0f172a;
}

.student-forum__discussion-meta {
    color: #64748b;
    font-size: 0.82rem;
    display: flex;
    align-items: center;
    gap: 0.32rem;
    flex-wrap: wrap;
}

.student-forum__posts {
    display: grid;
    gap: 0.6rem;
}

.student-forum__teacher-answer {
    border: 1px solid #a7f3d0;
    border-radius: 0.85rem;
    background: #f0fdf4;
    padding: 0.7rem 0.75rem;
    margin-bottom: 0.7rem;
    display: grid;
    gap: 0.3rem;
}

.student-forum__teacher-answer-label {
    color: #166534;
    font-weight: 800;
    font-size: 0.82rem;
}

.student-forum__teacher-answer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
    color: #14532d;
    font-size: 0.82rem;
}

.student-forum__teacher-answer-body {
    color: #0f172a;
    line-height: 1.75;
}

.student-forum__post {
    border: 1px solid #dbe3f5;
    border-radius: 0.82rem;
    background: #fbfdff;
    padding: 0.62rem 0.68rem;
}

.student-forum__post--teacher {
    border-color: #86efac;
    background: #f7fee7;
}

.student-forum__post-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 0.45rem;
}

.student-forum__post-user {
    font-weight: 700;
    color: #0f172a;
}

.student-forum__teacher-badge {
    display: inline-flex;
    align-items: center;
    margin-inline-start: 0.35rem;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    border: 1px solid #86efac;
    padding: 0.1rem 0.46rem;
    font-size: 0.7rem;
    font-weight: 800;
}

.student-forum__post-time {
    color: #64748b;
    font-size: 0.8rem;
}

.student-forum__post-body {
    color: #0f172a;
    line-height: 1.75;
}

.student-forum__post-actions {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    flex-wrap: wrap;
    margin-top: 0.45rem;
}

.student-profile {
    display: grid;
    gap: 1rem;
}

.student-profile__header {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.92rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.9rem;
    flex-wrap: wrap;
}

.student-profile__identity {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.student-profile__avatar {
    width: 56px;
    height: 56px;
    border-radius: 999px;
    background: linear-gradient(145deg, #1d4ed8, #0ea5e9);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    letter-spacing: 0.6px;
}

.student-profile__avatar-image {
    width: 56px;
    height: 56px;
    border-radius: 999px;
    object-fit: cover;
    border: 1px solid #bfdbfe;
}

.student-profile__title {
    margin: 0;
    font-size: clamp(1.15rem, 1.7vw, 1.42rem);
    font-weight: 800;
    color: #0f1d3d;
}

.student-profile__meta {
    margin: 0.2rem 0 0;
    color: #475569;
}

.student-profile__header-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.student-profile__stats {
    display: grid;
    gap: 0.7rem;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.student-profile__stat {
    border: 1px solid var(--nahj-border);
    border-radius: 0.95rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.75rem 0.82rem;
}

.student-profile__stat-label {
    color: #64748b;
    font-size: 0.82rem;
    margin-bottom: 0.28rem;
}

.student-profile__stat-value {
    color: #0f172a;
    font-size: 1.22rem;
    font-weight: 800;
}

.student-profile__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: 0.75rem;
}

.student-profile__card {
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--nahj-shadow);
    padding: 0.9rem;
}

.student-profile__card-head {
    margin-bottom: 0.62rem;
}

.student-profile__card-head h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f1d3d;
}

.student-profile__quick-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.student-profile__course-item {
    margin-bottom: 0.7rem;
}

.student-profile__simple-list {
    margin: 0;
    padding-inline-start: 1.1rem;
    display: grid;
    gap: 0.38rem;
}

.student-profile__forum-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.8rem;
    border-top: 1px dashed var(--nahj-border);
    padding-top: 0.65rem;
    margin-top: 0.65rem;
}

.student-profile__forum-item:first-child {
    border-top: 0;
    padding-top: 0;
    margin-top: 0;
}

.form-grid__span-2 {
    grid-column: 1 / -1;
}

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

/* M1 - Create Meeting */
.live-meeting-m1 {
    background: #ffffff;
    border-radius: 1.2rem;
    border: 1px solid #e5e7eb;
    overflow: hidden;
}
.m1-top-bar {
    background: #1976d2;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1rem;
}
.m1-title {
    font-weight: 700;
}
.m1-cancel-link {
    color: rgba(255,255,255,0.85);
    text-decoration: none;
}
.m1-top-spacer {
    width: 52px;
}
.m1-save {
    background: rgba(255,255,255,0.2);
    border: 0;
    color: #fff;
    padding: 0.35rem 0.75rem;
    border-radius: 0.6rem;
    font-weight: 600;
}
.m1-progress {
    background: #1565c0;
    padding: 0.7rem 1rem 0.9rem;
    display: grid;
    gap: 0.4rem;
}
.m1-step {
    height: 4px;
    background: rgba(255,255,255,0.3);
    border-radius: 999px;
}
.m1-step--active {
    background: #fff;
}
.m1-step-label {
    color: rgba(255,255,255,0.7);
    font-size: 0.75rem;
    text-align: center;
}
.m1-section {
    padding: 1rem;
    border-bottom: 1px solid #f0f0f0;
}
.m1-label {
    font-size: 0.75rem;
    color: #90a4ae;
    font-weight: 600;
    margin-bottom: 0.45rem;
}
.m1-input {
    width: 100%;
    background: #f5f7fa;
    border: 1.5px solid #e3e8ef;
    border-radius: 0.7rem;
    padding: 0.7rem 0.9rem;
    font-size: 0.95rem;
}
.m1-input--small {
    width: 90px;
    text-align: center;
    font-weight: 700;
    color: #1976d2;
}
.m1-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.6rem;
}
.m1-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.m1-chip {
    border: 1.5px solid #c5cae9;
    background: #eef2ff;
    color: #3f51b5;
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 600;
}
.m1-chip--active {
    background: #1976d2;
    color: #fff;
    border-color: #1976d2;
}
.m1-participants {
    background: #f5f7fa;
    border: 1.5px dashed #b0bec5;
    border-radius: 0.7rem;
    padding: 0.75rem;
    display: grid;
    gap: 0.5rem;
}
.m1-participants-add {
    color: #1976d2;
    font-size: 0.8rem;
}
.m1-toggle-list {
    display: grid;
    gap: 0.5rem;
}
.m1-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f5f7fa;
    border-radius: 0.7rem;
    padding: 0.6rem 0.75rem;
}
.m1-attendance {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: #78909c;
    font-size: 0.85rem;
}
.m1-cta {
    padding: 1rem;
}
.m1-cta-btn {
    width: 100%;
    background: linear-gradient(135deg,#1976d2,#1565c0);
    color: #fff;
    border: 0;
    border-radius: 0.9rem;
    padding: 0.9rem;
    font-size: 1rem;
    font-weight: 700;
}
.m1-cta-sub {
    text-align: center;
    font-size: 0.75rem;
    color: #90a4ae;
    margin-top: 0.5rem;
}
.m1-advanced {
    padding: 1rem;
}

/* M2 - Meetings List */
.m2-top-bar {
    background: #1976d2;
    color: #fff;
    border-radius: 0.9rem;
    padding: 0.8rem 1rem;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0.6rem;
}
.m2-title {
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
}
.m2-date {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.75);
}
.m2-plus {
    justify-self: end;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,0.2);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 1.2rem;
    font-weight: 700;
}
.m2-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.7rem;
    flex-wrap: wrap;
}
.m2-search {
    margin-top: 0.7rem;
    background: #f5f7fa;
    border-radius: 0.8rem;
    padding: 0.6rem 0.8rem;
    border: 1px solid #e3e8ef;
    display: flex;
    gap: 0.5rem;
    align-items: center;
}
.m2-search input {
    border: 0;
    background: transparent;
    width: 100%;
}
.m2-tabs {
    margin-top: 0.7rem;
    display: flex;
    gap: 0.4rem;
    border-bottom: 2px solid #e3e8ef;
    overflow-x: auto;
}
.m2-tab {
    padding: 0.5rem 0.8rem;
    font-size: 0.8rem;
    color: #78909c;
    background: transparent;
    border: 0;
}
.m2-tab--active {
    color: #1976d2;
    border-bottom: 2px solid #1976d2;
    font-weight: 700;
}
.m2-cards {
    display: grid;
    gap: 0.9rem;
    margin-top: 0.9rem;
}
.m2-card {
    background: #fff;
    border-radius: 1rem;
    border: 1px solid #e5e7eb;
    padding: 0.9rem;
}
.m2-card--live {
    border: 2px solid #d32f2f;
}
.m2-card-head {
    display: flex;
    justify-content: space-between;
    gap: 0.8rem;
}
.m2-card-title {
    font-weight: 700;
}
.m2-card-sub {
    color: #78909c;
    font-size: 0.8rem;
}
.m2-live-badge {
    background: #ffebee;
    color: #d32f2f;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.7rem;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.m2-live-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #d32f2f;
}
.m2-upcoming-badge {
    background: #e3f2fd;
    color: #1976d2;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.7rem;
}
.m2-completed-badge {
    background: #e8f5e9;
    color: #2e7d32;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.7rem;
}
.m2-meta {
    display: flex;
    gap: 0.8rem;
    color: #546e7a;
    font-size: 0.8rem;
    margin: 0.6rem 0;
}
.m2-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.7rem;
    padding: 0.6rem 0.8rem;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.85rem;
    border: none;
}
.m2-btn--danger {
    background: #d32f2f;
    color: #fff;
}
.m2-btn--primary {
    background: #1976d2;
    color: #fff;
}
.m2-btn--warn {
    background: #fff3e0;
    color: #e65100;
}
.m2-btn--danger-outline {
    background: #ffebee;
    color: #c62828;
}
.m2-btn--success {
    background: #e8f5e9;
    color: #2e7d32;
}
.m2-btn--purple {
    background: #f3e5f5;
    color: #6a1b9a;
}
.m2-btn-row {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.5rem;
}
.m2-countdown-bar {
    height: 4px;
    background: #e3f2fd;
    border-radius: 999px;
    overflow: hidden;
}
.m2-countdown-fill {
    width: 65%;
    height: 100%;
    background: linear-gradient(90deg,#1976d2,#42a5f5);
}

/* M3 - Lobby */
.m3-lobby {
    background: #1c2b3a;
    color: #fff;
    border-radius: 1rem;
    padding-bottom: 1rem;
}
.m3-top {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    padding: 0.9rem 1rem;
}
.m3-back {
    color: #78909c;
    text-decoration: none;
    font-size: 1.2rem;
}
.m3-meeting-title {
    font-weight: 700;
    text-align: center;
}
.m3-meeting-sub {
    font-size: 0.75rem;
    color: #90a4ae;
    text-align: center;
}
.m3-camera-preview {
    margin: 0.8rem 1rem;
    background: #0d1821;
    border-radius: 1rem;
    height: 200px;
    position: relative;
    display: grid;
    place-content: center;
    border: 2px solid #37474f;
}
.m3-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg,#1976d2,#42a5f5);
    display: grid;
    place-content: center;
    font-size: 1.6rem;
    font-weight: 700;
}
.m3-camera-state {
    margin-top: 0.5rem;
    color: #78909c;
    font-size: 0.8rem;
    text-align: center;
}
.m3-name-tag {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: rgba(0,0,0,0.6);
    padding: 0.25rem 0.6rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
}
.m3-controls {
    position: absolute;
    bottom: 12px;
    left: 12px;
    display: flex;
    gap: 0.5rem;
}
.m3-ctrl-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 0;
    background: rgba(255,255,255,0.15);
    color: #fff;
}
.m3-ctrl-btn.is-on {
    background: #22c55e;
}
.m3-section {
    padding: 0.7rem 1rem;
}
.m3-section-title {
    color: #90a4ae;
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}
.m3-mic-test {
    background: #243447;
    border-radius: 0.6rem;
    padding: 0.7rem 0.9rem;
}
.m3-mic-label {
    color: #b0bec5;
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
}
.m3-wave {
    display: flex;
    gap: 3px;
    height: 22px;
}
.m3-bar {
    width: 4px;
    border-radius: 4px;
    background: #1976d2;
    height: 10px;
}
.m3-device-row {
    background: #243447;
    border-radius: 0.6rem;
    padding: 0.6rem 0.8rem;
    margin-top: 0.4rem;
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
}
.m3-name-field {
    background: #243447;
    border-radius: 0.6rem;
    padding: 0.6rem 0.8rem;
    display: flex;
    justify-content: space-between;
}
.m3-edit {
    background: transparent;
    border: 0;
    color: #42a5f5;
}
.m3-waiting {
    margin: 0.6rem 1rem;
    background: #1a3a2a;
    border-radius: 0.6rem;
    padding: 0.6rem 0.8rem;
    color: #a5d6a7;
    border: 1px solid #2e7d32;
    font-size: 0.8rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}
.m3-waiting-avatars {
    display: flex;
}
.m3-waiting-av {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid #1a3a2a;
    font-size: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #fff;
    margin-left: -6px;
}
.m3-cta {
    padding: 0.7rem 1rem 1.2rem;
    text-align: center;
}
.m3-cta-btn {
    width: 100%;
    background: linear-gradient(135deg,#1976d2,#1565c0);
    color: #fff;
    border: 0;
    border-radius: 0.9rem;
    padding: 0.9rem;
    font-size: 1rem;
    font-weight: 700;
}
.m3-cta-btn--host {
    background: linear-gradient(135deg,#2e7d32,#1b5e20);
}
.m3-cta-sub {
    color: #78909c;
    font-size: 0.75rem;
    margin-top: 0.4rem;
}

/* Live Meetings M4/M5/M6 UI */
.m4-live-room { background: #0d1117; border-radius: 18px; padding: 16px; color: #e6edf3; }
.m4-top-bar { background: #161b22; border: 1px solid #21262d; border-radius: 14px; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.m4-meeting-name { font-size: 14px; font-weight: 700; }
.m4-meeting-meta { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.m4-live-badge { background: #d32f2f; color: #fff; font-size: 10px; padding: 2px 6px; border-radius: 6px; font-weight: 700; }
.m4-upcoming-badge { background: #ffb300; color: #1a1a1a; font-size: 10px; padding: 2px 6px; border-radius: 6px; font-weight: 700; }
.m4-ended-badge { background: #374151; color: #e5e7eb; font-size: 10px; padding: 2px 6px; border-radius: 6px; font-weight: 700; }
.m4-timer { color: #79c0ff; font-weight: 700; font-family: monospace; }
.m4-count { color: #8b949e; font-size: 12px; }
.m4-end-btn { background: #d32f2f; color: #fff; border: none; border-radius: 10px; padding: 8px 14px; font-weight: 700; }
.m4-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.9fr); gap: 16px; margin-top: 16px; }
.m4-main { display: flex; flex-direction: column; gap: 12px; }
.m4-stage { background: #161b22; border-radius: 16px; border: 1px solid #30363d; overflow: hidden; position: relative; min-height: 280px; }
.m4-stage-video { width: 100%; height: 100%; min-height: 280px; display: flex; align-items: center; justify-content: center; }
.m4-stage-placeholder { text-align: center; }
.m4-avatar { width: 70px; height: 70px; border-radius: 50%; background: linear-gradient(135deg, #1976d2, #42a5f5); display: inline-flex; align-items: center; justify-content: center; font-size: 26px; font-weight: 700; margin-bottom: 8px; }
.m4-host-name { font-size: 13px; font-weight: 600; }
.m4-host-sub { color: #8b949e; font-size: 11px; }
.m4-stage-overlay { position: absolute; inset: 0; pointer-events: none; }
.m4-speaker-tag { position: absolute; bottom: 12px; right: 12px; background: rgba(0,0,0,0.6); padding: 4px 10px; border-radius: 8px; font-size: 12px; }
.m4-speaking { position: absolute; bottom: 12px; left: 12px; background: rgba(0,0,0,0.6); padding: 4px 10px; border-radius: 8px; font-size: 11px; color: #81c784; }
.m4-pin-btn, .m4-layout-btn { position: absolute; top: 10px; background: rgba(0,0,0,0.5); color: #e6edf3; border: none; border-radius: 6px; padding: 4px 8px; font-size: 11px; pointer-events: auto; }
.m4-pin-btn { left: 10px; }
.m4-layout-btn { right: 10px; }
.m4-strip { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 2px; }
.m4-tile { width: 84px; background: #161b22; border-radius: 10px; overflow: hidden; border: 1px solid #21262d; }
.m4-tile-video { height: 54px; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.m4-tile-footer { display: flex; justify-content: space-between; align-items: center; padding: 4px 6px; font-size: 10px; color: #e6edf3; }
.m4-tile-icons { color: #8b949e; }
.m4-controls { background: #161b22; border: 1px solid #21262d; border-radius: 14px; padding: 12px 10px; display: flex; justify-content: space-between; gap: 8px; }
.m4-control { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 46px; }
.m4-ctrl-icon { width: 46px; height: 46px; border-radius: 50%; background: #21262d; display: flex; align-items: center; justify-content: center; font-size: 18px; color: #e6edf3; text-decoration: none; position: relative; border: none; }
.m4-ctrl-icon.is-muted { background: #d32f2f; }
.m4-ctrl-icon.is-active { background: #2e7d32; }
.m4-ctrl-icon.is-off { background: #e2e8f0; color: #475569; border: 1px solid #cbd5e1; }
.m4-ctrl-icon.badge-wrap { position: relative; }
.m4-ctrl-badge { position: absolute; top: -4px; right: -4px; background: #ff6f00; color: #fff; font-size: 9px; font-weight: 700; width: 16px; height: 16px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid #161b22; }
.m4-ctrl-label { color: #8b949e; font-size: 10px; }
.m4-host-bar { display: flex; gap: 8px; flex-wrap: wrap; }
.m4-host-btn { background: #21262d; color: #e6edf3; padding: 8px 12px; border-radius: 10px; font-size: 12px; text-decoration: none; }
.m4-host-btn--danger { background: rgba(211,47,47,0.2); color: #ff7b7b; }
.m4-side { display: flex; flex-direction: column; gap: 12px; }
.m4-side-card { background: #161b22; border: 1px solid #21262d; border-radius: 14px; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.m4-side-title { font-weight: 700; font-size: 13px; }
.m4-side-sub { color: #8b949e; font-size: 11px; }
.m4-check { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.m4-check input { accent-color: #2f81f7; }
.m4-guest-link input { width: 100%; background: #0d1117; border: 1px solid #30363d; color: #e6edf3; border-radius: 8px; padding: 6px 8px; }
.m4-link-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.m4-link-row button { background: #21262d; color: #e6edf3; border: none; border-radius: 8px; padding: 6px 10px; }
.m4-btn-row { display: flex; gap: 8px; flex-wrap: wrap; }
.m4-btn-row button, .m4-btn-row a { background: #2f81f7; color: #fff; border: none; border-radius: 8px; padding: 6px 10px; font-size: 12px; text-decoration: none; }
.m4-btn-row button.outline, .m4-btn-row a.outline { background: transparent; border: 1px solid #30363d; color: #e6edf3; }
.m4-token { background: #0d1117; border-radius: 10px; padding: 8px; font-size: 11px; }
.m4-token .muted { color: #8b949e; }
.m4-meta-list { font-size: 12px; color: #c9d1d9; display: grid; gap: 6px; }
.m4-record-row { display: flex; justify-content: space-between; gap: 8px; border-top: 1px solid #21262d; padding-top: 8px; }
.m4-record-title { font-size: 12px; }
.m4-record-sub { color: #8b949e; font-size: 11px; }
.m4-record-actions { display: flex; flex-direction: column; gap: 6px; }
.m4-record-actions a, .m4-record-actions button { background: transparent; border: 1px solid #30363d; color: #e6edf3; border-radius: 8px; padding: 4px 8px; font-size: 11px; }

.m5-live-room { background: #0d1117; border-radius: 18px; padding: 16px; color: #e6edf3; display: flex; flex-direction: column; gap: 12px; }
.m5-top-bar { background: #161b22; border: 1px solid #21262d; border-radius: 14px; padding: 10px 14px; display: flex; justify-content: space-between; align-items: center; }
.m5-title { font-size: 14px; font-weight: 700; }
.m5-meta { display: flex; gap: 8px; align-items: center; font-size: 11px; }
.m5-badge { background: #d32f2f; padding: 2px 6px; border-radius: 6px; font-weight: 700; }
.m5-timer { color: #79c0ff; font-family: monospace; }
.m5-count { color: #8b949e; }
.m5-leave-btn { background: rgba(211,47,47,0.2); color: #ff7b7b; border: 1px solid rgba(211,47,47,0.3); border-radius: 8px; padding: 6px 10px; }
.m5-join-cta { background: #161b22; border: 1px solid #21262d; border-radius: 14px; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.m5-join-text { font-size: 12px; }
.m5-join-btn { background: #2f81f7; color: #fff; border: none; border-radius: 8px; padding: 8px 12px; font-weight: 700; }
.m5-join-note { color: #8b949e; font-size: 11px; }
.m5-stage { background: #161b22; border-radius: 16px; border: 2px solid #1976d2; position: relative; min-height: 220px; display: flex; align-items: center; justify-content: center; }
.m5-stage-video { text-align: center; }
.m5-teacher-avatar { width: 72px; height: 72px; border-radius: 50%; background: linear-gradient(135deg,#1976d2,#0d47a1); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 26px; margin: 0 auto 6px; }
.m5-teacher-name { font-size: 12px; color: #8b949e; }
.m5-pinned-tag { position: absolute; top: 10px; right: 10px; background: rgba(0,0,0,0.6); color: #79c0ff; padding: 3px 8px; border-radius: 6px; font-size: 10px; }
.m5-teacher-tag { position: absolute; bottom: 10px; right: 10px; background: rgba(0,0,0,0.7); padding: 4px 8px; border-radius: 8px; font-size: 11px; }
.m5-self-tile { position: absolute; bottom: 10px; left: 10px; background: #0d2a1a; border: 2px solid #2e7d32; border-radius: 8px; padding: 6px; font-size: 10px; }
.m5-self-av { font-weight: 700; }
.m5-self-sub { color: #a5d6a7; }
.m5-strip { display: flex; gap: 8px; overflow-x: auto; }
.m5-tile { width: 76px; background: #161b22; border-radius: 10px; border: 1px solid #21262d; overflow: hidden; }
.m5-tile-video { height: 50px; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.m5-tile-footer { display: flex; justify-content: space-between; padding: 4px 6px; font-size: 10px; }
.m5-tile-icons { color: #8b949e; }
.m5-reactions { align-self: center; background: #21262d; border-radius: 30px; padding: 6px 12px; display: flex; gap: 12px; border: 1px solid #30363d; margin-top: 2px; }
.m5-reactions span { font-size: 20px; }
.m5-controls { background: #161b22; border: 1px solid #21262d; border-radius: 14px; padding: 10px 12px; display: flex; justify-content: space-between; gap: 8px; }
.m5-control { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 44px; }
.m5-ctrl-icon { width: 44px; height: 44px; border-radius: 50%; background: #21262d; display: flex; align-items: center; justify-content: center; font-size: 17px; position: relative; border: none; color: #e6edf3; cursor: pointer; }
.m5-ctrl-icon.muted { background: #d32f2f; }
.m5-ctrl-icon.raised { background: #ff6f00; }
.m5-ctrl-icon.badge-wrap { position: relative; }
.m5-ctrl-badge { position: absolute; top: -3px; right: -3px; background: #ff6f00; color: #fff; font-size: 8px; font-weight: 700; width: 14px; height: 14px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 1.5px solid #161b22; }
.m5-ctrl-label { color: #8b949e; font-size: 10px; }

.m6-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; }
.m6-title { font-size: 16px; font-weight: 700; }
.m6-sub { color: #8b949e; font-size: 12px; }
.m6-actions { display: flex; align-items: center; gap: 8px; }
.m6-mute-all { background: #ff6f00; color: #fff; border: none; border-radius: 8px; padding: 6px 10px; font-size: 12px; }
.m6-close { color: #90a4ae; font-size: 18px; text-decoration: none; padding: 2px 6px; }
.m6-search { background: #f5f7fa; border-radius: 10px; border: 1px solid #e3e8ef; padding: 8px 10px; display: flex; gap: 8px; align-items: center; margin-bottom: 10px; }
.m6-search input { border: none; background: transparent; width: 100%; }
.m6-tabs { display: flex; gap: 10px; margin-bottom: 10px; }
.m6-tab { border: none; background: transparent; color: #78909c; font-size: 12px; padding: 4px 8px; border-bottom: 2px solid transparent; }
.m6-tab--active { color: #ff6f00; border-bottom-color: #ff6f00; font-weight: 700; }
.m6-list { display: flex; flex-direction: column; gap: 8px; }
.m6-row { display: grid; grid-template-columns: auto 1fr auto auto; gap: 10px; align-items: center; padding: 10px; border-radius: 12px; border: 1px solid #f1f3f5; background: #fff; }
.m6-row--hand { background: #fff8f0; border-color: #ffe0b2; }
.m6-avatar { width: 38px; height: 38px; border-radius: 50%; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.m6-info { display: flex; flex-direction: column; gap: 2px; }
.m6-name { display: flex; align-items: center; gap: 6px; font-weight: 600; }
.m6-badge { font-size: 10px; padding: 2px 6px; border-radius: 10px; }
.m6-badge--host { background: #e3f2fd; color: #1565c0; }
.m6-badge--hand { background: #fff3e0; color: #ff6f00; }
.m6-indicators { display: flex; gap: 6px; font-size: 14px; }
.m6-ind { color: #546e7a; }
.m6-menu { border: none; background: transparent; color: #90a4ae; font-size: 20px; }
.m6-summary { background: #f5f7fa; border-radius: 10px; padding: 10px 12px; margin-top: 10px; display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; font-size: 12px; color: #546e7a; }
.m6-summary-item { display: flex; align-items: center; gap: 4px; }
.m6-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }

@media (max-width: 1200px) {
  .m4-grid { grid-template-columns: 1fr; }
}
.m4-top-actions { display: flex; align-items: center; gap: 8px; }
.m4-refresh-btn, .m4-manage-btn { background: #21262d; color: #e6edf3; border: none; border-radius: 8px; padding: 6px 10px; font-size: 12px; text-decoration: none; }

/* Live Meetings M7/M8/M9/M10/M11 UI */
.m7-breakouts { display: flex; flex-direction: column; gap: 14px; }
.m7-top { background: linear-gradient(135deg, #4527a0, #7c4dff); color: #fff; border-radius: 14px; padding: 12px 14px; }
.m7-title { font-size: 16px; font-weight: 700; }
.m7-sub { color: rgba(255,255,255,0.75); font-size: 12px; margin-top: 2px; }
.m7-rooms-setup { background: #f5f7fa; border-radius: 12px; padding: 10px 14px; display: flex; align-items: center; gap: 12px; font-size: 13px; }
.m7-rooms-label { font-weight: 600; color: #1c2b3a; }
.m7-stepper { display: flex; align-items: center; gap: 8px; }
.m7-stepper button { width: 30px; height: 30px; border-radius: 50%; border: none; background: #7c4dff; color: #fff; font-size: 18px; font-weight: 700; }
.m7-step-num { font-size: 20px; font-weight: 800; color: #4527a0; min-width: 28px; text-align: center; }
.m7-dist-options { display: flex; gap: 8px; flex-wrap: wrap; }
.m7-dist-btn { flex: 1; min-width: 120px; padding: 8px 10px; border-radius: 10px; border: 2px solid #e3e8ef; background: #fff; font-size: 12px; color: #546e7a; }
.m7-dist-btn--active { border-color: #7c4dff; background: #ede7f6; color: #4527a0; font-weight: 700; }
.m7-rooms { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.m7-room-card { border-radius: 12px; border: 1.5px solid #e3e8ef; background: #fff; padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; }
.m7-room-card--placeholder { border-style: dashed; background: #fafafa; }
.m7-room-header { display: flex; justify-content: space-between; align-items: center; }
.m7-room-title { font-size: 13px; font-weight: 700; }
.m7-room-count { font-size: 11px; color: #78909c; background: #f5f7fa; padding: 2px 8px; border-radius: 6px; }
.m7-room-members { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.m7-member-chip { background: #f5f7fa; border-radius: 20px; padding: 3px 10px; font-size: 11px; color: #455a64; display: inline-flex; align-items: center; gap: 4px; }
.m7-member-av { width: 18px; height: 18px; border-radius: 50%; background: #1976d2; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 700; }
.m7-room-empty { color: #90a4ae; font-size: 11px; }
.m7-edit-btn { border: none; background: transparent; color: #7c4dff; font-size: 12px; }
.m7-duration { display: flex; flex-direction: column; gap: 8px; }
.m7-section-label { font-size: 12px; color: #78909c; font-weight: 600; }
.m7-duration-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.m7-chip { padding: 6px 12px; border-radius: 20px; border: 1.5px solid #e3e8ef; background: #fff; font-size: 12px; color: #546e7a; }
.m7-chip--active { background: #7c4dff; color: #fff; border-color: #7c4dff; }
.m7-cta { display: flex; gap: 8px; flex-wrap: wrap; }
.m7-start-btn { background: linear-gradient(135deg, #2e7d32, #1b5e20); color: #fff; border-radius: 12px; padding: 10px 14px; border: none; font-weight: 700; }
.m7-broadcast-btn { background: #fff8e1; color: #f57f17; border-radius: 12px; padding: 10px 14px; border: 1.5px solid #ffe082; font-weight: 700; }

.m8-chat { display: flex; flex-direction: column; gap: 10px; }
.m8-chat-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.m8-chat-title { font-size: 16px; font-weight: 700; }
.m8-chat-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.m8-new-badge { background: #1976d2; color: #fff; border-radius: 10px; padding: 2px 8px; font-size: 11px; }
.m8-save, .m8-refresh { background: #263238; color: #fff; border-radius: 8px; padding: 5px 10px; font-size: 11px; border: none; }
.m8-close { color: #8b949e; font-size: 18px; text-decoration: none; padding: 0 4px; }
.m8-tabs { display: flex; border-bottom: 2px solid #e3e8ef; }
.m8-tab { flex: 1; padding: 8px; text-align: center; font-size: 12px; color: #78909c; background: transparent; border: none; }
.m8-tab.active { color: #263238; border-bottom: 2.5px solid #263238; font-weight: 700; }
.m8-pinned { background: #fff8e1; padding: 8px 12px; display: flex; gap: 8px; align-items: center; border-bottom: 1px solid #ffe082; border-radius: 10px; }
.m8-pinned-text { font-size: 12px; color: #5d4037; flex: 1; }
.m8-pinned-label { font-size: 10px; color: #ff8f00; font-weight: 700; }
.m8-messages { background: #f5f7fa; border-radius: 12px; padding: 12px; min-height: 260px; display: flex; flex-direction: column; gap: 10px; }
.m8-msg { display: flex; gap: 8px; align-items: flex-end; }
.m8-msg.teacher { flex-direction: row-reverse; }
.m8-av { width: 28px; height: 28px; border-radius: 50%; background: #1976d2; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; }
.m8-bubble { max-width: 280px; }
.m8-name { font-size: 10px; color: #78909c; margin-bottom: 3px; }
.m8-text { background: #fff; border-radius: 14px 14px 14px 4px; padding: 8px 12px; font-size: 13px; color: #1c2b3a; box-shadow: 0 1px 4px rgba(0,0,0,0.08); line-height: 1.4; }
.m8-msg.teacher .m8-text { background: #1976d2; color: #fff; border-radius: 14px 14px 4px 14px; }
.m8-time { font-size: 10px; color: #b0bec5; margin-top: 3px; }
.m8-input { background: #fff; border: 1px solid #e3e8ef; border-radius: 22px; padding: 8px 12px; display: flex; align-items: center; gap: 8px; }
.m8-input input { border: none; background: transparent; width: 100%; font-size: 13px; }
.m8-send { background: #1976d2; color: #fff; width: 34px; height: 34px; border-radius: 50%; border: none; }
.m8-emoji { color: #78909c; }
.m8-attach { color: #78909c; font-size: 18px; }
.m8-empty { text-align: center; color: #90a4ae; font-size: 12px; }

.m9-summary { display: flex; flex-direction: column; gap: 12px; }
.m9-banner { background: linear-gradient(135deg, #2e7d32, #1b5e20); color: #fff; border-radius: 16px; padding: 16px; display: flex; gap: 12px; align-items: center; }
.m9-banner-icon { font-size: 32px; }
.m9-banner-title { font-size: 16px; font-weight: 800; }
.m9-banner-sub { font-size: 12px; color: rgba(255,255,255,0.75); }
.m9-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; }
.m9-stat { background: #fff; border-radius: 14px; padding: 12px; text-align: center; box-shadow: 0 1px 6px rgba(0,0,0,0.06); }
.m9-stat-icon { font-size: 22px; }
.m9-stat-val { font-size: 20px; font-weight: 800; }
.m9-stat-label { font-size: 11px; color: #78909c; }
.m9-recording { background: #fff; border-radius: 14px; padding: 12px; box-shadow: 0 1px 6px rgba(0,0,0,0.06); display: flex; flex-direction: column; gap: 10px; }
.m9-rec-status { display: flex; justify-content: space-between; background: #f5f7fa; border-radius: 10px; padding: 10px 12px; }
.m9-rec-title { font-size: 13px; font-weight: 600; }
.m9-rec-meta { font-size: 11px; color: #78909c; }
.m9-progress { height: 4px; background: #e3f2fd; border-radius: 2px; overflow: hidden; }
.m9-progress-fill { height: 100%; width: 65%; background: linear-gradient(90deg, #1976d2, #42a5f5); }
.m9-publish { display: grid; gap: 6px; }
.m9-option { display: flex; align-items: center; gap: 8px; width: 100%; padding: 8px 10px; border-radius: 10px; border: 1.5px solid #e3e8ef; background: #fafafa; color: inherit; font: inherit; font-size: 12px; text-align: start; cursor: pointer; }
.m9-option.active { border-color: #1976d2; background: #e3f2fd; }
.m9-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; }
.m9-action { border-radius: 12px; padding: 10px; text-align: center; font-weight: 700; font-size: 13px; }
.m9-action { border: none; cursor: pointer; }
.m9-action.download { background: #e3f2fd; color: #1565c0; }
.m9-action.report { background: #f3e5f5; color: #6a1b9a; }
.m9-action.share { background: #e8f5e9; color: #2e7d32; }
.m9-share-preview { background: #fff; border-radius: 14px; padding: 12px; box-shadow: 0 1px 6px rgba(0,0,0,0.06); display: flex; flex-direction: column; gap: 8px; }
.m9-share-label { font-size: 12px; font-weight: 700; color: #263238; }
.m9-share-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.m9-share-input { flex: 1; min-width: 200px; border: 1px solid #e2e8f0; border-radius: 10px; padding: 8px 10px; font-size: 12px; background: #f9fbfd; }
.m9-share-btn { border: none; border-radius: 10px; padding: 8px 12px; font-size: 12px; font-weight: 700; background: #e3f2fd; color: #1565c0; cursor: pointer; }
.m9-share-btn.outline { background: #fff; border: 1px solid #cfd8e3; color: #37474f; }
.m9-share-hint { font-size: 11px; color: #78909c; }
.m9-link-row { text-align: center; }
.m9-link { color: #1976d2; font-size: 13px; font-weight: 600; text-decoration: underline; }

.m10-summary { display: flex; flex-direction: column; gap: 12px; }
.m10-banner { background: linear-gradient(135deg, #2e7d32, #43a047); border-radius: 16px; padding: 16px; color: #fff; display: flex; gap: 12px; align-items: center; }
.m10-banner-icon { font-size: 30px; }
.m10-banner-title { font-size: 16px; font-weight: 800; }
.m10-banner-sub { font-size: 12px; color: rgba(255,255,255,0.8); }
.m10-time-card, .m10-recording, .m10-next, .m10-progress { background: #fff; border-radius: 14px; padding: 14px; box-shadow: 0 1px 6px rgba(0,0,0,0.06); display: flex; flex-direction: column; gap: 10px; }
.m10-card-title { font-size: 13px; font-weight: 700; }
.m10-time-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; }
.m10-time-item { background: #f5f7fa; border-radius: 10px; padding: 10px; text-align: center; }
.m10-time-label { font-size: 10px; color: #78909c; }
.m10-time-val { font-size: 16px; font-weight: 800; }
.m10-time-val.green { color: #2e7d32; }
.m10-minimum { background: #e8f5e9; color: #2e7d32; padding: 8px 12px; border-radius: 8px; font-size: 12px; font-weight: 600; }
.m10-rec-status { font-size: 12px; color: #1565c0; }
.m10-rec-btn { background: #1976d2; color: #fff; border-radius: 10px; padding: 10px; text-align: center; font-weight: 700; }
.m10-next-row { display: flex; gap: 12px; align-items: center; }
.m10-cal { width: 48px; height: 48px; background: #e3f2fd; border-radius: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.m10-cal-day { font-size: 18px; font-weight: 800; color: #1976d2; }
.m10-cal-month { font-size: 9px; color: #78909c; }
.m10-next-title { font-size: 14px; font-weight: 700; }
.m10-next-time { font-size: 12px; color: #78909c; }
.m10-cal-actions { display: flex; gap: 6px; }
.m10-cal-btn { flex: 1; padding: 8px; border-radius: 10px; text-align: center; font-size: 12px; font-weight: 600; }
.m10-cal-btn.apple { background: #1c2b3a; color: #fff; }
.m10-cal-btn.google { background: #ffebee; color: #c62828; }
.m10-prog-header { display: flex; justify-content: space-between; }
.m10-prog-val { font-size: 13px; color: #1976d2; font-weight: 700; }
.m10-prog-bar { height: 10px; background: #e3f2fd; border-radius: 5px; overflow: hidden; }
.m10-prog-fill { height: 100%; width: 63%; background: linear-gradient(90deg, #1976d2, #42a5f5); }
.m10-prog-sub { font-size: 11px; color: #90a4ae; }

.m11-top { background: linear-gradient(135deg, #b71c1c, #e53935); color: #fff; border-radius: 14px; padding: 12px 14px; display: grid; gap: 6px; }
.m11-back { color: rgba(255,255,255,0.75); font-size: 12px; }
.m11-title { font-size: 16px; font-weight: 800; }
.m11-sub { color: rgba(255,255,255,0.75); font-size: 12px; }
.m11-export { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.m11-export-btn { background: rgba(255,255,255,0.2); color: #fff; border: none; border-radius: 8px; padding: 5px 10px; font-size: 11px; font-weight: 600; }
.m11-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; margin-top: 10px; }
.m11-sum-card { background: #fff; border-radius: 12px; padding: 10px; text-align: center; box-shadow: 0 1px 4px rgba(0,0,0,0.06); }
.m11-sum-num { font-size: 20px; font-weight: 800; }
.m11-sum-num.success { color: #2e7d32; }
.m11-sum-num.warn { color: #f57f17; }
.m11-sum-num.danger { color: #c62828; }
.m11-sum-num.info { color: #1976d2; }
.m11-sum-label { font-size: 10px; color: #78909c; margin-top: 2px; }
.m11-filters { display: flex; gap: 6px; margin-top: 10px; flex-wrap: wrap; }
.m11-filter { background: #fff; border: 1.5px solid #e3e8ef; border-radius: 20px; padding: 5px 12px; font-size: 12px; color: #546e7a; }
.m11-filter.active { background: #b71c1c; color: #fff; border-color: #b71c1c; }
.m11-table { background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 1px 6px rgba(0,0,0,0.06); margin-top: 10px; }
.m11-head, .m11-row { display: grid; grid-template-columns: 1.8fr 0.8fr 0.8fr 0.8fr 1fr; align-items: center; }
.m11-head { background: #263238; color: #90a4ae; font-size: 11px; font-weight: 600; }
.m11-th, .m11-td { padding: 8px 6px; text-align: center; }
.m11-th.name, .m11-td.name { text-align: right; padding-right: 12px; display: flex; align-items: center; gap: 6px; }
.m11-row { border-bottom: 1px solid #f5f7fa; font-size: 12px; }
.m11-row:nth-child(even) { background: #fafafa; }
.m11-av { width: 26px; height: 26px; border-radius: 50%; background: #1976d2; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; }
.m11-badge { border-radius: 6px; padding: 2px 6px; font-size: 10px; font-weight: 700; }
.m11-empty { padding: 12px; text-align: center; color: #90a4ae; font-size: 12px; }

@media (max-width: 900px) {
  .m11-head, .m11-row { grid-template-columns: 1.4fr 0.7fr 0.7fr 0.7fr 1fr; }
}
.m11-badge.badge-status--success { background: #e8f5e9; color: #2e7d32; }
.m11-badge.badge-status--warning { background: #fff8e1; color: #f57f17; }
.m11-badge.badge-status--danger { background: #ffebee; color: #c62828; }
/* Live tablet/desktop shell */
.live-shell {
  display: block;
}

.live-shell__titlebar,
.live-shell__toolbar,
.live-shell__sidebar {
  display: none;
}

.live-shell__body {
  display: block;
}

.live-shell__content {
  min-width: 0;
}

@media (min-width: 1024px) {
  .live-shell {
    background: #e8edf2;
    padding: 24px;
  }

  .live-shell__window {
    max-width: 1100px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #c8d0da;
    border-radius: 10px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18);
    overflow: hidden;
  }

  .live-shell__titlebar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    height: 38px;
    background: #1976d2;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
  }

  .live-shell__titlebar-left {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .live-shell__controls {
    display: flex;
  }

  .live-shell__control {
    width: 46px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.85);
    font-size: 13px;
  }

  .live-shell__control.close:hover {
    background: #e81123;
  }

  .live-shell__toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 20px;
    background: #f3f6fa;
    border-bottom: 1px solid #d0d7e2;
  }

  .live-shell__toolbar .toolbar-btn {
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #374151;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  .live-shell__toolbar .toolbar-btn.primary {
    background: #1976d2;
    color: #fff;
    border-color: #1976d2;
  }

  .live-shell__toolbar .toolbar-search {
    flex: 1;
    max-width: 320px;
    padding: 6px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    font-size: 13px;
    color: #374151;
    background: #fff;
  }

  .live-shell__toolbar .toolbar-date {
    margin-right: auto;
    font-size: 13px;
    color: #64748b;
    font-weight: 600;
  }

  .live-shell__body {
    display: flex;
    min-height: 620px;
  }

  .live-shell__sidebar {
    display: flex;
    flex-direction: column;
    width: 220px;
    background: #f8fafc;
    border-left: 1px solid #e2e8f0;
    padding: 16px 0;
    flex-shrink: 0;
  }

  .live-shell__sidebar-title {
    padding: 6px 16px;
    font-size: 11px;
    color: #94a3b8;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
  }

  .live-shell__sidebar-item {
    padding: 8px 18px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #475569;
  }

  .live-shell__sidebar-item.active {
    background: #dbeafe;
    color: #1565c0;
    font-weight: 700;
    border-right: 3px solid #1565c0;
  }

  .live-shell__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: #f8fafc;
    padding: 20px 24px 24px;
  }

  .live-shell__content .page-header {
    display: none;
  }
}
@media (min-width: 1024px) {
  .live-shell--m1 .live-meeting-m1,
  .live-shell--m3 .m3-lobby,
  .live-shell--m6 .m7-breakouts,
  .live-shell--m6 .m8-chat,
  .live-shell--m6 .m11-summary,
  .live-shell--m6 .m11-table {
    max-width: 820px;
    margin: 0 auto;
  }

  .live-shell--m2 .m2-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
  }

  .live-shell--m2 .m2-card {
    height: 100%;
  }

  .live-shell--m4 .m4-live-room,
  .live-shell--m5 .student-live-session {
    background: transparent;
  }
}
@media (min-width: 1024px) {
  .live-shell--m2 .m2-toolbar,
  .live-shell--m2 .m2-search {
    display: none;
  }
}
/* M1 desktop (tablet/windows) */
.m1-desktop { display: none; }
.m1-mobile { display: block; }

@media (min-width: 1024px) {
  .m1-desktop { display: block; }
  .m1-mobile { display: none; }
}

.m1-desktop .window {
  width: 960px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.18);
  overflow: hidden;
  border: 1px solid #c8d0da;
}

.m1-desktop .title-bar {
  background: #1976d2;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  user-select: none;
}

.m1-desktop .title-bar-left { display: flex; align-items: center; gap: 8px; }
.m1-desktop .title-bar-icon { font-size: 16px; }
.m1-desktop .title-bar-text { color: #fff; font-size: 13px; font-weight: 700; }
.m1-desktop .win-controls { display: flex; gap: 0; }
.m1-desktop .win-btn { width: 46px; height: 38px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.85); font-size: 13px; cursor: pointer; transition: background 0.15s; }
.m1-desktop .win-btn:hover { background: rgba(255,255,255,0.15); }
.m1-desktop .win-btn.close:hover { background: #e81123; }

.m1-desktop .ribbon { background: #f3f6fa; border-bottom: 1px solid #d0d7e2; padding: 0 24px; display: flex; align-items: center; }
.m1-desktop .ribbon-tab { padding: 10px 18px; font-size: 13px; color: #4a5568; cursor: pointer; border-bottom: 2px solid transparent; font-weight: 600; }
.m1-desktop .ribbon-tab.active { color: #1976d2; border-bottom-color: #1976d2; }

.m1-desktop .main-layout { display: flex; height: calc(100vh - 140px); min-height: 600px; }

.m1-desktop .sidebar { width: 220px; background: #f8fafc; border-left: 1px solid #e2e8f0; padding: 20px 0; flex-shrink: 0; }
.m1-desktop .sidebar-section { padding: 6px 16px; font-size: 11px; color: #94a3b8; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; }
.m1-desktop .sidebar-item { padding: 9px 20px; display: flex; align-items: center; gap: 10px; font-size: 13px; color: #475569; cursor: pointer; transition: all 0.15s; }
.m1-desktop .sidebar-item:hover { background: #eef2ff; color: #1976d2; }
.m1-desktop .sidebar-item.active { background: #dbeafe; color: #1565c0; font-weight: 700; border-right: 3px solid #1565c0; }
.m1-desktop .sidebar-item .s-icon { font-size: 15px; }

.m1-desktop .content-area { flex: 1; display: flex; flex-direction: column; overflow: hidden; }
.m1-desktop .content-header { background: #fff; border-bottom: 1px solid #e2e8f0; padding: 16px 28px; display: flex; align-items: center; justify-content: space-between; }
.m1-desktop .content-title { font-size: 20px; font-weight: 800; color: #1e3a5f; }
.m1-desktop .content-subtitle { font-size: 12px; color: #94a3b8; margin-top: 2px; }
.m1-desktop .header-actions { display: flex; gap: 10px; }
.m1-desktop .btn-cancel { padding: 8px 20px; border-radius: 6px; font-size: 13px; font-weight: 600; color: #64748b; background: #f1f5f9; border: 1px solid #cbd5e1; cursor: pointer; font-family: 'Cairo', sans-serif; }
.m1-desktop .btn-primary { padding: 8px 22px; border-radius: 6px; font-size: 13px; font-weight: 700; color: #fff; background: #1976d2; border: none; cursor: pointer; font-family: 'Cairo', sans-serif; display: flex; align-items: center; gap: 6px; box-shadow: 0 2px 8px rgba(25,118,210,0.3); }

.m1-desktop .steps-bar { background: #f8fafc; border-bottom: 1px solid #e2e8f0; padding: 14px 28px; display: flex; align-items: center; }
.m1-desktop .step-item { display: flex; align-items: center; gap: 10px; }
.m1-desktop .step-circle { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; }
.m1-desktop .step-circle.done, .m1-desktop .step-circle.active { background: #1976d2; color: #fff; }
.m1-desktop .step-circle.active { box-shadow: 0 0 0 4px rgba(25,118,210,0.2); }
.m1-desktop .step-circle.pending { background: #e2e8f0; color: #94a3b8; }
.m1-desktop .step-text { font-size: 13px; font-weight: 600; color: #1e3a5f; }
.m1-desktop .step-text.pending { color: #94a3b8; }
.m1-desktop .step-divider { flex: 1; height: 2px; background: #e2e8f0; margin: 0 16px; max-width: 80px; }
.m1-desktop .step-divider.done { background: #1976d2; }

.m1-desktop .form-scroll { flex: 1; overflow-y: auto; padding: 24px 28px; background: #f8fafc; }
.m1-desktop .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.m1-desktop .field-card { background: #fff; border-radius: 8px; border: 1px solid #e2e8f0; padding: 16px 18px; }
.m1-desktop .field-label { font-size: 12px; font-weight: 700; color: #64748b; margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
.m1-desktop .field-label .icon { font-size: 14px; }
.m1-desktop .input-win { width: 100%; padding: 9px 12px; border: 1px solid #cbd5e1; border-radius: 4px; font-size: 14px; color: #1e3a5f; font-family: 'Cairo', sans-serif; background: #fff; outline: none; transition: border-color 0.15s; }
.m1-desktop .input-win:focus { border-color: #1976d2; box-shadow: 0 0 0 2px rgba(25,118,210,0.15); }
.m1-desktop .input-row { display: flex; gap: 10px; }
.m1-desktop .input-row .input-win { flex: 1; }

.m1-desktop .chips { display: flex; gap: 8px; flex-wrap: wrap; }
.m1-desktop .chip { padding: 6px 16px; border-radius: 4px; font-size: 13px; font-weight: 600; border: 1.5px solid #cbd5e1; color: #64748b; cursor: pointer; font-family: 'Cairo', sans-serif; transition: all 0.15s; }
.m1-desktop .chip:hover { border-color: #1976d2; color: #1976d2; background: #eff6ff; }
.m1-desktop .chip.selected { background: #1976d2; color: #fff; border-color: #1976d2; }

.m1-desktop .participants-box { background: #f8fafc; border: 1.5px dashed #cbd5e1; border-radius: 4px; padding: 10px 12px; min-height: 50px; }
.m1-desktop .participant-tag { display: inline-flex; align-items: center; gap: 4px; background: #dbeafe; color: #1565c0; border-radius: 3px; padding: 3px 8px; font-size: 12px; margin: 2px; }
.m1-desktop .participant-tag .remove { color: #93c5fd; font-size: 14px; cursor: pointer; }
.m1-desktop .add-more { color: #1976d2; font-size: 12px; margin-top: 8px; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
.m1-desktop .add-more:hover { text-decoration: underline; }

.m1-desktop .toggle-row { display: flex; justify-content: space-between; align-items: center; padding: 7px 0; border-bottom: 1px solid #f1f5f9; }
.m1-desktop .toggle-row:last-child { border-bottom: none; }
.m1-desktop .toggle-label { font-size: 13px; color: #374151; display: flex; align-items: center; gap: 6px; }
.m1-desktop .toggle { width: 40px; height: 22px; background: #1976d2; border-radius: 11px; position: relative; cursor: pointer; }
.m1-desktop .toggle::after { content: ''; width: 18px; height: 18px; background: #fff; border-radius: 50%; position: absolute; right: 2px; top: 2px; box-shadow: 0 1px 3px rgba(0,0,0,0.2); transition: right 0.2s; }
.m1-desktop .toggle.off { background: #cbd5e1; }
.m1-desktop .toggle.off::after { right: auto; left: 2px; }

.m1-desktop .attend-row { display: flex; align-items: center; gap: 10px; }
.m1-desktop .attend-input { padding: 8px 14px; border: 1px solid #cbd5e1; border-radius: 4px; width: 80px; text-align: center; font-size: 18px; font-weight: 800; color: #1976d2; font-family: 'Cairo', sans-serif; }
.m1-desktop .attend-unit { font-size: 13px; color: #64748b; }

.m1-desktop .status-bar { background: #f3f6fa; border-top: 1px solid #e2e8f0; padding: 6px 20px; display: flex; align-items: center; gap: 20px; }
.m1-desktop .status-item { font-size: 11px; color: #94a3b8; display: flex; align-items: center; gap: 4px; }
.m1-desktop .status-dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; }

.m1-desktop .notify-preview { background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 6px; padding: 10px 14px; display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.m1-desktop .notify-icon { font-size: 20px; }
.m1-desktop .notify-text { font-size: 12px; color: #1e40af; }
.m1-desktop .notify-count { font-weight: 700; }
/* M2 desktop (tablet/windows) */
.m2-desktop { display: none; }
.m2-mobile { display: block; }

@media (min-width: 1024px) {
  .m2-desktop { display: block; }
  .m2-mobile { display: none; }
}

.m2-desktop .window { width: 960px; background: #fff; border-radius: 10px; box-shadow: 0 8px 40px rgba(0,0,0,0.18); overflow: hidden; border: 1px solid #c8d0da; }
.m2-desktop .title-bar { background: #1976d2; height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; }
.m2-desktop .title-bar-text { color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.m2-desktop .win-controls { display: flex; }
.m2-desktop .win-btn { width: 46px; height: 38px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.85); font-size: 13px; }
.m2-desktop .win-btn.close:hover { background: #e81123; }

.m2-desktop .toolbar { background: #f3f6fa; border-bottom: 1px solid #d0d7e2; padding: 8px 20px; display: flex; align-items: center; gap: 12px; }
.m2-desktop .tb-btn { padding: 6px 14px; border-radius: 4px; font-size: 12px; font-weight: 700; cursor: pointer; display: flex; align-items: center; gap: 6px; font-family: 'Cairo', sans-serif; border: 1px solid #cbd5e1; background: #fff; color: #374151; }
.m2-desktop .tb-btn.primary { background: #1976d2; color: #fff; border-color: #1976d2; }
.m2-desktop .search-win { flex: 1; max-width: 300px; padding: 6px 12px; border: 1px solid #cbd5e1; border-radius: 4px; font-size: 13px; color: #374151; font-family: 'Cairo', sans-serif; outline: none; }
.m2-desktop .date-display { margin-right: auto; font-size: 13px; color: #64748b; font-weight: 600; }

.m2-desktop .main-layout { display: flex; height: calc(100vh - 120px); min-height: 550px; }
.m2-desktop .sidebar { width: 200px; background: #f8fafc; border-left: 1px solid #e2e8f0; padding: 16px 0; flex-shrink: 0; }
.m2-desktop .sidebar-section { padding: 6px 16px; font-size: 11px; color: #94a3b8; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; }
.m2-desktop .sidebar-item { padding: 8px 18px; display: flex; align-items: center; gap: 8px; font-size: 13px; color: #475569; cursor: pointer; }
.m2-desktop .sidebar-item:hover { background: #eef2ff; color: #1976d2; }
.m2-desktop .sidebar-item.active { background: #dbeafe; color: #1565c0; font-weight: 700; border-right: 3px solid #1565c0; }
.m2-desktop .sidebar-badge { background: #d32f2f; color: #fff; border-radius: 10px; padding: 1px 7px; font-size: 10px; font-weight: 800; margin-right: auto; }
.m2-desktop .sidebar-badge.blue { background: #1976d2; }

.m2-desktop .content-area { flex: 1; display: flex; flex-direction: column; overflow: hidden; background: #f8fafc; }
.m2-desktop .filter-tabs { background: #fff; border-bottom: 1px solid #e2e8f0; padding: 0 24px; display: flex; gap: 4px; }
.m2-desktop .f-tab { padding: 10px 16px; font-size: 13px; color: #64748b; cursor: pointer; border-bottom: 2px solid transparent; font-weight: 600; display: flex; align-items: center; gap: 6px; }
.m2-desktop .f-tab.active { color: #1976d2; border-bottom-color: #1976d2; }
.m2-desktop .f-tab .count { background: #e2e8f0; color: #64748b; border-radius: 10px; padding: 1px 7px; font-size: 11px; }
.m2-desktop .f-tab.active .count { background: #dbeafe; color: #1565c0; }

.m2-desktop .cards-scroll { flex: 1; overflow-y: auto; padding: 20px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.m2-desktop .card { background: #fff; border-radius: 14px; box-shadow: 0 2px 8px rgba(0,0,0,0.06); border: 1px solid #e2e8f0; overflow: hidden; }
.m2-desktop .card-live { border: 2px solid #d32f2f; }
.m2-desktop .card-header { padding: 12px 14px; display: flex; justify-content: space-between; align-items: flex-start; }
.m2-desktop .card-title { font-size: 14px; font-weight: 700; color: #1c2b3a; }
.m2-desktop .card-course { font-size: 11px; color: #78909c; margin-top: 2px; }
.m2-desktop .badge-live { display: flex; align-items: center; gap: 4px; background: #ffebee; color: #d32f2f; border-radius: 20px; padding: 4px 10px; font-size: 11px; font-weight: 700; }
.m2-desktop .live-dot { width: 7px; height: 7px; background: #d32f2f; border-radius: 50%; animation: pulse 1s infinite; }
.m2-desktop .card-body { padding: 0 14px 12px; }
.m2-desktop .card-meta { display: flex; gap: 12px; font-size: 12px; color: #546e7a; margin-bottom: 8px; }
.m2-desktop .timer-live { font-size: 20px; font-weight: 800; color: #d32f2f; letter-spacing: 1px; margin: 6px 0; }
.m2-desktop .participants-row { display: flex; align-items: center; gap: 6px; margin-bottom: 10px; }
.m2-desktop .avatars { display: flex; }
.m2-desktop .av { width: 24px; height: 24px; border-radius: 50%; border: 2px solid #fff; margin-left: -6px; font-size: 10px; display: flex; align-items: center; justify-content: center; font-weight: 700; color: #fff; }
.m2-desktop .p-count { font-size: 12px; color: #546e7a; }
.m2-desktop .btn-join { background: #d32f2f; color: #fff; border-radius: 10px; padding: 10px; text-align: center; font-size: 14px; font-weight: 700; }
.m2-desktop .btn-start-early { background: #e3f2fd; color: #1565c0; border-radius: 10px; padding: 10px; text-align: center; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.m2-desktop .btn-join-normal { background: #1976d2; color: #fff; border-radius: 10px; padding: 10px; text-align: center; font-size: 14px; font-weight: 700; }
.m2-desktop .countdown-bar { height: 4px; background: #e3f2fd; border-radius: 2px; margin-bottom: 10px; overflow: hidden; }
.m2-desktop .countdown-fill { height: 100%; width: 65%; background: linear-gradient(90deg, #1976d2, #42a5f5); border-radius: 2px; }
.m2-desktop .completed-footer { display: flex; gap: 8px; padding: 0 14px 12px; }
.m2-desktop .btn-small { flex: 1; padding: 8px; border-radius: 8px; text-align: center; font-size: 11px; font-weight: 600; }
.m2-desktop .btn-small { border: none; cursor: pointer; }
.m2-desktop .btn-watch { background: #e8f5e9; color: #2e7d32; }
.m2-desktop .btn-report { background: #f3e5f5; color: #6a1b9a; }
.m2-desktop .attend-badge { background: #e8f5e9; color: #2e7d32; font-size: 11px; padding: 3px 8px; border-radius: 8px; font-weight: 600; }
/* M3 desktop (tablet/windows) */
.m3-desktop { display: none; }
.m3-mobile { display: block; }

@media (min-width: 1024px) {
  .m3-desktop { display: block; }
  .m3-mobile { display: none; }
}

.m3-desktop .window { width: 900px; background: #161b22; border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,0.5); overflow: hidden; border: 1px solid #30363d; }
.m3-desktop .title-bar { background: #0d1117; height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; border-bottom: 1px solid #21262d; }
.m3-desktop .title-bar-text { color: #e6edf3; font-size: 13px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.m3-desktop .meeting-badge { background: #d32f2f; color: #fff; border-radius: 4px; padding: 2px 8px; font-size: 10px; font-weight: 800; }
.m3-desktop .win-controls { display: flex; }
.m3-desktop .win-btn { width: 46px; height: 38px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.6); font-size: 13px; }
.m3-desktop .win-btn.close:hover { background: #e81123; color: #fff; }

.m3-desktop .layout { display: flex; min-height: 560px; }

.m3-desktop .camera-section { flex: 1; background: #0d1117; display: flex; flex-direction: column; padding: 24px; gap: 16px; }
.m3-desktop .cam-title { color: #8b949e; font-size: 13px; font-weight: 600; }
.m3-desktop .camera-box { flex: 1; background: #0a0f14; border-radius: 12px; border: 2px solid #21262d; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; min-height: 280px; overflow: hidden; }
.m3-desktop .cam-bg { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
.m3-desktop .avatar-xl { width: 100px; height: 100px; border-radius: 50%; background: linear-gradient(135deg, #1976d2, #42a5f5); display: flex; align-items: center; justify-content: center; font-size: 40px; color: #fff; font-weight: 700; border: 4px solid rgba(25,118,210,0.3); }
.m3-desktop .cam-off-label { color: #8b949e; font-size: 13px; }
.m3-desktop .name-tag { position: absolute; bottom: 14px; right: 14px; background: rgba(0,0,0,0.7); color: #e6edf3; font-size: 13px; padding: 5px 12px; border-radius: 6px; backdrop-filter: blur(4px); }
.m3-desktop .cam-controls { display: flex; gap: 12px; justify-content: center; }
.m3-desktop .ctrl-btn { width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; cursor: pointer; transition: background 0.15s; }
.m3-desktop .ctrl-btn.active { background: #21262d; border: 1px solid #30363d; }
.m3-desktop .ctrl-btn.off { background: #d32f2f; border: none; }
.m3-desktop .ctrl-label { font-size: 11px; color: #8b949e; margin-top: 4px; text-align: center; }
.m3-desktop .ctrl-wrap { display: flex; flex-direction: column; align-items: center; }

.m3-desktop .settings-section { width: 320px; background: #161b22; border-right: 1px solid #21262d; padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.m3-desktop .meeting-info-box { background: #0d1117; border-radius: 8px; padding: 14px 16px; border: 1px solid #21262d; }
.m3-desktop .meeting-name-big { color: #e6edf3; font-size: 16px; font-weight: 800; }
.m3-desktop .meeting-sub { color: #8b949e; font-size: 12px; margin-top: 4px; }

.m3-desktop .section-label { font-size: 11px; color: #8b949e; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }

.m3-desktop .device-row { background: #0d1117; border-radius: 6px; padding: 10px 14px; display: flex; align-items: center; justify-content: space-between; border: 1px solid #21262d; }
.m3-desktop .d-label { color: #8b949e; font-size: 13px; display: flex; align-items: center; gap: 8px; }
.m3-desktop .d-select { background: transparent; color: #e6edf3; font-size: 12px; border: none; outline: none; cursor: pointer; font-family: 'Cairo', sans-serif; display: flex; align-items: center; gap: 4px; }

.m3-desktop .mic-test-box { background: #0d1117; border-radius: 6px; padding: 12px 14px; border: 1px solid #21262d; }
.m3-desktop .mic-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.m3-desktop .mic-label { color: #8b949e; font-size: 13px; display: flex; align-items: center; gap: 6px; }
.m3-desktop .wave { display: flex; align-items: center; gap: 3px; height: 22px; }
.m3-desktop .bar { width: 4px; border-radius: 2px; background: #1976d2; }

.m3-desktop .name-box { background: #0d1117; border-radius: 6px; padding: 10px 14px; display: flex; align-items: center; justify-content: space-between; border: 1px solid #21262d; }
.m3-desktop .name-val { color: #e6edf3; font-size: 14px; font-weight: 700; }
.m3-desktop .edit-btn { color: #79c0ff; font-size: 12px; cursor: pointer; }

.m3-desktop .waiting-box { background: #162513; border-radius: 6px; padding: 10px 14px; border: 1px solid #2e7d32; display: flex; align-items: center; gap: 10px; }
.m3-desktop .w-avatars { display: flex; }
.m3-desktop .w-av { width: 24px; height: 24px; border-radius: 50%; border: 2px solid #162513; font-size: 10px; display: flex; align-items: center; justify-content: center; font-weight: 700; color: #fff; margin-left: -6px; }
.m3-desktop .w-text { color: #a5d6a7; font-size: 12px; font-weight: 600; }

.m3-desktop .cta-start { background: linear-gradient(135deg, #2e7d32, #1b5e20); color: #fff; border-radius: 8px; padding: 14px; text-align: center; font-size: 16px; font-weight: 800; cursor: pointer; box-shadow: 0 4px 16px rgba(46,125,50,0.4); margin-top: auto; }
.m3-desktop .cta-hint { text-align: center; color: #8b949e; font-size: 12px; margin-top: 6px; }
/* M4 desktop (tablet/windows) */
.m4-desktop { display: none; }
.m4-mobile { display: block; }

@media (min-width: 1024px) {
  .m4-desktop { display: block; }
  .m4-mobile { display: none; }
}

.m4-desktop .window { width: 1024px; height: 660px; background: #0d1117; border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,0.5); overflow: hidden; border: 1px solid #21262d; display: flex; flex-direction: column; }
.m4-desktop .title-bar { background: #161b22; height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; border-bottom: 1px solid #21262d; flex-shrink: 0; }
.m4-desktop .meeting-title { color: #e6edf3; font-size: 13px; font-weight: 700; display: flex; align-items: center; gap: 10px; }
.m4-desktop .badge-live { background: #d32f2f; color: #fff; border-radius: 4px; padding: 2px 8px; font-size: 10px; font-weight: 800; }
.m4-desktop .timer { color: #79c0ff; font-size: 14px; font-weight: 800; font-family: monospace; }
.m4-desktop .p-count { color: #8b949e; font-size: 12px; }
.m4-desktop .win-controls { display: flex; }
.m4-desktop .win-btn { width: 46px; height: 38px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.6); font-size: 13px; }
.m4-desktop .win-btn.close:hover { background: #e81123; color: #fff; }
.m4-desktop .end-btn { background: #d32f2f; color: #fff; border-radius: 4px; padding: 5px 14px; font-size: 12px; font-weight: 700; cursor: pointer; margin-left: 10px; font-family: 'Cairo', sans-serif; border: none; }

.m4-desktop .main { flex: 1; display: flex; overflow: hidden; }
.m4-desktop .video-area { flex: 1; display: flex; flex-direction: column; padding: 12px; gap: 10px; }
.m4-desktop .main-speaker { flex: 1; background: #161b22; border-radius: 12px; border: 2px solid #4caf50; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.m4-desktop .speaker-bg { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; }
.m4-desktop .speaker-av { width: 80px; height: 80px; border-radius: 50%; background: linear-gradient(135deg, #1976d2, #42a5f5); display: flex; align-items: center; justify-content: center; font-size: 32px; color: #fff; font-weight: 700; border: 3px solid rgba(25,118,210,0.4); box-shadow: 0 0 0 8px rgba(25,118,210,0.1); }
.m4-desktop .speaker-name { color: #8b949e; font-size: 13px; }
.m4-desktop .tag-name { position: absolute; bottom: 12px; right: 12px; background: rgba(0,0,0,0.7); color: #fff; font-size: 12px; padding: 4px 12px; border-radius: 6px; display: flex; align-items: center; gap: 6px; }
.m4-desktop .speaking-pill { position: absolute; bottom: 12px; left: 12px; background: rgba(0,0,0,0.7); color: #81c784; font-size: 11px; padding: 4px 10px; border-radius: 6px; display: flex; align-items: center; gap: 6px; }
.m4-desktop .s-dot { width: 8px; height: 8px; background: #4caf50; border-radius: 50%; }
.m4-desktop .layout-btn { position: absolute; top: 12px; left: 12px; background: rgba(0,0,0,0.5); color: #8b949e; font-size: 12px; padding: 5px 10px; border-radius: 6px; cursor: pointer; }
.m4-desktop .pin-btn { position: absolute; top: 12px; right: 12px; background: rgba(0,0,0,0.5); color: #e6edf3; font-size: 11px; padding: 5px 10px; border-radius: 6px; cursor: pointer; }

.m4-desktop .p-strip { display: flex; gap: 8px; height: 100px; flex-shrink: 0; }
.m4-desktop .p-tile { flex: 1; background: #161b22; border-radius: 8px; border: 1.5px solid #21262d; overflow: hidden; position: relative; display: flex; flex-direction: column; }
.m4-desktop .p-tile.hand { border-color: #ff6f00; }
.m4-desktop .p-video { flex: 1; display: flex; align-items: center; justify-content: center; font-size: 18px; color: #fff; font-weight: 700; }
.m4-desktop .p-footer { background: rgba(0,0,0,0.5); padding: 4px 8px; display: flex; justify-content: space-between; align-items: center; }
.m4-desktop .p-name { color: #e6edf3; font-size: 10px; font-weight: 600; }
.m4-desktop .p-icons { font-size: 9px; }
.m4-desktop .hand-badge { position: absolute; top: 5px; right: 5px; font-size: 14px; }

.m4-desktop .side-panel { width: 260px; background: #161b22; border-right: 1px solid #21262d; display: flex; flex-direction: column; }
.m4-desktop .panel-tabs { display: flex; border-bottom: 1px solid #21262d; }
.m4-desktop .p-tab { flex: 1; padding: 10px; text-align: center; font-size: 12px; color: #8b949e; cursor: pointer; font-weight: 600; text-decoration: none; display: flex; align-items: center; justify-content: center; gap: 6px; }
.m4-desktop .p-tab.active { color: #e6edf3; border-bottom: 2px solid #1976d2; }
.m4-desktop .panel-content { flex: 1; padding: 12px; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; }
.m4-desktop .p-row { display: flex; align-items: center; gap: 8px; padding: 7px 8px; border-radius: 6px; }
.m4-desktop .p-row:hover { background: #21262d; }
.m4-desktop .av-sm { width: 30px; height: 30px; border-radius: 50%; font-size: 11px; display: flex; align-items: center; justify-content: center; font-weight: 700; color: #fff; flex-shrink: 0; }
.m4-desktop .p-info { flex: 1; }
.m4-desktop .p-nm { font-size: 12px; font-weight: 600; color: #e6edf3; }
.m4-desktop .p-sub { font-size: 10px; color: #8b949e; }
.m4-desktop .p-inds { display: flex; gap: 3px; font-size: 11px; }
.m4-desktop .ind-off { opacity: 0.3; }
.m4-desktop .hand-chip { background: #fff3e0; color: #ff6f00; border-radius: 3px; padding: 1px 5px; font-size: 9px; font-weight: 700; }

.m4-desktop .control-bar { background: #161b22; border-top: 1px solid #21262d; padding: 8px 12px; display: flex; justify-content: center; gap: 8px; align-items: center; flex-shrink: 0; flex-wrap: wrap; }
.m4-desktop .ctrl { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 58px; }
.m4-desktop .ctrl-icon { width: 44px; height: 44px; border-radius: 50%; background: #21262d; display: flex; align-items: center; justify-content: center; font-size: 18px; cursor: pointer; position: relative; border: 1px solid #30363d; transition: background 0.15s; }
.m4-desktop .ctrl-icon:hover { background: #30363d; }
.m4-desktop .ctrl-icon.muted { background: #d32f2f; border-color: #d32f2f; }
.m4-desktop .ctrl-icon.off { background: #e2e8f0; border-color: #cbd5e1; color: #475569; }
.m4-desktop .ctrl-lbl { color: #8b949e; font-size: 10px; }
.m4-desktop .badge { position: absolute; top: -4px; right: -4px; background: #ff6f00; color: #fff; font-size: 8px; font-weight: 800; width: 16px; height: 16px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 1.5px solid #161b22; }

.m4-desktop .host-bar { background: #0d1117; border-top: 1px solid #161b22; padding: 8px 16px; display: flex; gap: 8px; flex-shrink: 0; }
.m4-desktop .host-btn { background: #21262d; color: #e6edf3; border-radius: 4px; padding: 6px 14px; font-size: 12px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 5px; border: 1px solid #30363d; font-family: 'Cairo', sans-serif; }
.m4-desktop .host-btn.danger { background: rgba(211,47,47,0.15); color: #ff7b7b; border-color: rgba(211,47,47,0.3); }

/* M5 desktop (tablet/windows) */
.m5-desktop { display: none; }
.m5-mobile { display: block; }

@media (min-width: 1024px) {
  .m5-desktop { display: block; }
  .m5-mobile { display: none; }
}

.m5-desktop .window { width: 1024px; height: 660px; background: #0d1117; border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,0.5); overflow: hidden; border: 1px solid #21262d; display: flex; flex-direction: column; }
.m5-desktop .title-bar { background: #161b22; height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; border-bottom: 1px solid #21262d; flex-shrink: 0; }
.m5-desktop .mtitle { color: #e6edf3; font-size: 13px; font-weight: 700; display: flex; align-items: center; gap: 10px; }
.m5-desktop .badge-live { background: #d32f2f; color: #fff; border-radius: 4px; padding: 2px 8px; font-size: 10px; font-weight: 800; }
.m5-desktop .timer { color: #79c0ff; font-size: 14px; font-weight: 800; font-family: monospace; }
.m5-desktop .win-controls { display: flex; }
.m5-desktop .win-btn { width: 46px; height: 38px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.6); font-size: 13px; }
.m5-desktop .win-btn.close:hover { background: #e81123; color: #fff; }
.m5-desktop .leave-btn { background: rgba(211,47,47,0.2); color: #ff7b7b; border-radius: 4px; padding: 5px 14px; font-size: 12px; font-weight: 700; cursor: pointer; margin-left: 10px; font-family: 'Cairo', sans-serif; border: 1px solid rgba(211,47,47,0.3); }

.m5-desktop .main { flex: 1; display: flex; overflow: hidden; }
.m5-desktop .video-area { flex: 1; display: flex; flex-direction: column; padding: 12px; gap: 10px; }
.m5-desktop .main-speaker { flex: 1; background: #161b22; border-radius: 12px; border: 2px solid #1976d2; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.m5-desktop .speaker-bg { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; }
.m5-desktop .speaker-av { width: 90px; height: 90px; border-radius: 50%; background: linear-gradient(135deg, #1976d2, #0d47a1); display: flex; align-items: center; justify-content: center; font-size: 36px; color: #fff; font-weight: 700; border: 4px solid rgba(25,118,210,0.4); }
.m5-desktop .pinned-tag { position: absolute; top: 12px; right: 12px; background: rgba(0,0,0,0.6); color: #79c0ff; font-size: 11px; padding: 4px 10px; border-radius: 6px; }
.m5-desktop .teacher-tag { position: absolute; bottom: 12px; right: 12px; background: rgba(0,0,0,0.7); color: #fff; font-size: 12px; padding: 4px 12px; border-radius: 6px; }
.m5-desktop .self-pip { position: absolute; bottom: 12px; left: 12px; width: 100px; height: 72px; background: #0d2a1a; border-radius: 8px; border: 2px solid #2e7d32; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.m5-desktop .self-pip .av { font-size: 20px; color: #fff; }
.m5-desktop .self-pip .lbl { color: #a5d6a7; font-size: 9px; }

.m5-desktop .p-strip { display: flex; gap: 8px; height: 90px; flex-shrink: 0; }
.m5-desktop .p-tile { flex: 1; background: #161b22; border-radius: 8px; border: 1.5px solid #21262d; overflow: hidden; position: relative; display: flex; flex-direction: column; }
.m5-desktop .p-tile.hand { border-color: #ff6f00; }
.m5-desktop .p-video { flex: 1; display: flex; align-items: center; justify-content: center; font-size: 16px; color: #fff; font-weight: 700; }
.m5-desktop .p-footer { background: rgba(0,0,0,0.5); padding: 4px 8px; display: flex; justify-content: space-between; }
.m5-desktop .p-name { color: #e6edf3; font-size: 10px; }
.m5-desktop .p-icons { font-size: 9px; }
.m5-desktop .hand-badge { position: absolute; top: 4px; right: 4px; font-size: 12px; }

.m5-desktop .reactions { position: absolute; bottom: 90px; left: 50%; transform: translateX(-50%); background: #21262d; border-radius: 30px; padding: 8px 12px; display: flex; gap: 12px; border: 1px solid #30363d; }
.m5-desktop .reactions span { font-size: 22px; }

.m5-desktop .control-bar { background: #161b22; border-top: 1px solid #21262d; padding: 10px 16px; display: flex; justify-content: center; gap: 10px; align-items: center; flex-shrink: 0; }
.m5-desktop .ctrl { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.m5-desktop .ctrl { background: transparent; border: none; cursor: pointer; }
.m5-desktop .ctrl-icon { width: 44px; height: 44px; border-radius: 50%; background: #21262d; display: flex; align-items: center; justify-content: center; font-size: 18px; cursor: pointer; position: relative; border: 1px solid #30363d; }
.m5-desktop .ctrl-icon.muted { background: #d32f2f; border-color: #d32f2f; }
.m5-desktop .ctrl-icon.raised { background: #ff6f00; border-color: #ff6f00; }
.m5-desktop .ctrl-lbl { color: #8b949e; font-size: 10px; }
.m5-desktop .p-count { color: #8b949e; font-size: 12px; }

.m5-desktop .chat-panel { width: 280px; background: #161b22; border-right: 1px solid #21262d; display: flex; flex-direction: column; }
.m5-desktop .chat-header { padding: 12px 16px; border-bottom: 1px solid #21262d; display: flex; align-items: center; justify-content: space-between; }
.m5-desktop .chat-title { color: #e6edf3; font-size: 13px; font-weight: 700; }
.m5-desktop .new-badge { background: #1976d2; color: #fff; border-radius: 3px; padding: 2px 7px; font-size: 10px; font-weight: 700; }
.m5-desktop .messages { flex: 1; padding: 12px; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; }
.m5-desktop .msg { display: flex; gap: 6px; }
.m5-desktop .av-sm { width: 26px; height: 26px; border-radius: 50%; font-size: 10px; display: flex; align-items: center; justify-content: center; font-weight: 700; color: #fff; flex-shrink: 0; }
.m5-desktop .bubble { background: #21262d; border-radius: 8px 8px 8px 2px; padding: 7px 10px; max-width: 190px; }
.m5-desktop .bubble.teacher { background: #1976d2; border-radius: 8px 8px 2px 8px; }
.m5-desktop .b-name { font-size: 9px; color: #8b949e; margin-bottom: 3px; }
.m5-desktop .b-text { font-size: 12px; color: #e6edf3; line-height: 1.4; }
.m5-desktop .b-time { font-size: 9px; color: #8b949e; margin-top: 3px; }
.m5-desktop .sys-msg { text-align: center; font-size: 10px; color: #8b949e; background: rgba(255,255,255,0.05); border-radius: 8px; padding: 4px 10px; align-self: center; }
.m5-desktop .input-row { padding: 10px 12px; border-top: 1px solid #21262d; display: flex; gap: 6px; align-items: center; }
.m5-desktop .chat-input { flex: 1; background: #21262d; border: 1px solid #30363d; border-radius: 20px; padding: 7px 12px; font-size: 12px; color: #e6edf3; outline: none; font-family: 'Cairo', sans-serif; }
.m5-desktop .send-btn { width: 32px; height: 32px; background: #1976d2; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; cursor: pointer; color: #fff; }

/* M6 desktop (tablet/windows) */
.m6-desktop { display: none; }
.m6-mobile { display: block; }

@media (min-width: 1024px) {
  .m6-desktop { display: block; }
  .m6-mobile { display: none; }
}

.m6-desktop .overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.6); display: flex; justify-content: center; align-items: center; }
.m6-desktop .panel { width: 700px; max-height: 620px; background: #fff; border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,0.4); overflow: hidden; display: flex; flex-direction: column; }
.m6-desktop .header { background: #ff6f00; padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; }
.m6-desktop .header-title { color: #fff; font-size: 18px; font-weight: 800; }
.m6-desktop .header-sub { color: rgba(255,255,255,0.8); font-size: 13px; margin-top: 2px; }
.m6-desktop .header-right { display: flex; gap: 10px; align-items: center; }
.m6-desktop .mute-all-btn { background: rgba(255,255,255,0.2); color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 6px; padding: 7px 16px; font-size: 13px; font-weight: 700; cursor: pointer; font-family: 'Cairo', sans-serif; }
.m6-desktop .invite-btn { background: #fff; color: #ff6f00; border-radius: 6px; padding: 7px 16px; font-size: 13px; font-weight: 700; cursor: pointer; font-family: 'Cairo', sans-serif; border: none; }
.m6-desktop .close-btn { color: #fff; font-size: 22px; cursor: pointer; opacity: 0.8; }

.m6-desktop .toolbar { background: #f8fafc; border-bottom: 1px solid #e2e8f0; padding: 10px 20px; display: flex; gap: 10px; align-items: center; }
.m6-desktop .search-box { flex: 1; display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #cbd5e1; border-radius: 6px; padding: 7px 12px; }
.m6-desktop .search-box input { border: none; outline: none; font-size: 13px; color: #374151; font-family: 'Cairo', sans-serif; flex: 1; background: transparent; }

.m6-desktop .filter-tabs { display: flex; border-bottom: 2px solid #e2e8f0; padding: 0 20px; flex-shrink: 0; }
.m6-desktop .f-tab { padding: 9px 14px; font-size: 13px; color: #64748b; cursor: pointer; border-bottom: 2px solid transparent; font-weight: 600; margin-bottom: -2px; display: flex; align-items: center; gap: 5px; }
.m6-desktop .f-tab.active { color: #ff6f00; border-bottom-color: #ff6f00; }
.m6-desktop .count-badge { padding: 1px 7px; border-radius: 10px; font-size: 10px; font-weight: 700; }
.m6-desktop .count-badge.orange { background: #fff3e0; color: #ff6f00; }
.m6-desktop .count-badge.gray { background: #f1f5f9; color: #64748b; }

.m6-desktop .main-layout { display: flex; flex: 1; overflow: hidden; }
.m6-desktop .list { flex: 1; overflow-y: auto; }
.m6-desktop .list-header { padding: 10px 20px 6px; font-size: 11px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.5px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; display: flex; align-items: center; gap: 8px; }
.m6-desktop .p-row { padding: 11px 20px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #f1f5f9; transition: background 0.12s; cursor: pointer; }
.m6-desktop .p-row:hover { background: #fff8f0; }
.m6-desktop .p-row.hand-row { background: #fff8f0; }
.m6-desktop .av { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: #fff; flex-shrink: 0; }
.m6-desktop .p-info { flex: 1; }
.m6-desktop .p-name { font-size: 14px; font-weight: 700; color: #1e3a5f; display: flex; align-items: center; gap: 8px; }
.m6-desktop .p-sub { font-size: 12px; color: #94a3b8; margin-top: 2px; }
.m6-desktop .p-inds { display: flex; gap: 6px; font-size: 16px; }
.m6-desktop .ind.off { opacity: 0.3; }
.m6-desktop .menu-btn { color: #94a3b8; font-size: 22px; cursor: pointer; }
.m6-desktop .badge-hand { background: #fff3e0; color: #ff6f00; border-radius: 10px; padding: 2px 8px; font-size: 10px; font-weight: 700; }
/* M7 desktop (tablet/windows) */
.m7-desktop { display: none; }
.m7-mobile { display: block; }
@media (min-width: 1024px) { .m7-desktop { display: block; } .m7-mobile { display: none; } }

.m7-desktop .overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.6); display: flex; justify-content: center; align-items: center; }
.m7-desktop .panel { width: 820px; max-height: 640px; background: #fff; border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,0.4); overflow: hidden; display: flex; flex-direction: column; }
.m7-desktop .header { background: linear-gradient(135deg, #4527a0, #7c4dff); padding: 16px 22px; display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; }
.m7-desktop .header-title { color: #fff; font-size: 18px; font-weight: 800; }
.m7-desktop .header-sub { color: rgba(255,255,255,0.75); font-size: 13px; margin-top: 2px; }
.m7-desktop .close-btn { color: #fff; font-size: 22px; cursor: pointer; opacity: 0.8; }

.m7-desktop .main-layout { display: flex; flex: 1; overflow: hidden; }
.m7-desktop .config-panel { width: 260px; background: #f8fafc; border-left: 1px solid #e2e8f0; padding: 18px; display: flex; flex-direction: column; gap: 16px; overflow-y: auto; flex-shrink: 0; }
.m7-desktop .cfg-label { font-size: 11px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; }
.m7-desktop .rooms-counter { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; }
.m7-desktop .cnt-label { font-size: 13px; font-weight: 600; color: #374151; }
.m7-desktop .stepper { display: flex; align-items: center; gap: 10px; }
.m7-desktop .step-btn { width: 30px; height: 30px; border-radius: 50%; background: #7c4dff; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; cursor: pointer; border: none; font-family: 'Cairo', sans-serif; }
.m7-desktop .step-num { font-size: 22px; font-weight: 800; color: #4527a0; min-width: 24px; text-align: center; }

.m7-desktop .dist-options { display: flex; flex-direction: column; gap: 6px; }
.m7-desktop .dist-opt { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 6px; border: 1.5px solid #e2e8f0; cursor: pointer; }
.m7-desktop .dist-opt.selected { border-color: #7c4dff; background: #ede7f6; }
.m7-desktop .dist-radio { width: 16px; height: 16px; border-radius: 50%; border: 2px solid #cbd5e1; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.m7-desktop .dist-radio.selected { border-color: #7c4dff; }
.m7-desktop .dist-radio-inner { width: 8px; height: 8px; border-radius: 50%; background: #7c4dff; }
.m7-desktop .dist-label { font-size: 13px; color: #374151; font-weight: 600; }

.m7-desktop .duration-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.m7-desktop .d-chip { padding: 5px 14px; border-radius: 4px; font-size: 12px; font-weight: 600; border: 1.5px solid #e2e8f0; color: #64748b; cursor: pointer; }
.m7-desktop .d-chip.selected { background: #7c4dff; color: #fff; border-color: #7c4dff; }

.m7-desktop .rooms-area { flex: 1; padding: 18px; overflow-y: auto; display: flex; flex-direction: column; gap: 14px; }
.m7-desktop .room-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.m7-desktop .room-card { border-radius: 10px; border: 1.5px solid #e2e8f0; background: #fff; padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; }
.m7-desktop .room-card.placeholder { border-style: dashed; background: #fafafa; }
.m7-desktop .room-header { display: flex; justify-content: space-between; align-items: center; }
.m7-desktop .room-title { font-size: 13px; font-weight: 700; }
.m7-desktop .room-count { font-size: 11px; color: #78909c; background: #f5f7fa; padding: 2px 8px; border-radius: 6px; }
.m7-desktop .room-members { display: flex; gap: 6px; flex-wrap: wrap; }
.m7-desktop .member-chip { background: #f5f7fa; border-radius: 20px; padding: 3px 10px; font-size: 11px; color: #455a64; display: inline-flex; align-items: center; gap: 4px; }
.m7-desktop .member-av { width: 18px; height: 18px; border-radius: 50%; background: #1976d2; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 700; }
.m7-desktop .room-empty { color: #90a4ae; font-size: 11px; }
.m7-desktop .edit-btn { border: none; background: transparent; color: #7c4dff; font-size: 12px; }

.m7-desktop .footer-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.m7-desktop .start-btn { background: linear-gradient(135deg, #2e7d32, #1b5e20); color: #fff; border-radius: 10px; padding: 10px 16px; border: none; font-weight: 700; }
.m7-desktop .broadcast-btn { background: #fff8e1; color: #f57f17; border-radius: 10px; padding: 10px 16px; border: 1.5px solid #ffe082; font-weight: 700; }

/* M8 desktop (tablet/windows) */
.m8-desktop { display: none; }
.m8-mobile { display: block; }
@media (min-width: 1024px) { .m8-desktop { display: block; } .m8-mobile { display: none; } }

.m8-desktop .overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.6); display: flex; justify-content: center; align-items: center; }
.m8-desktop .panel { width: 820px; height: 620px; background: #fff; border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,0.4); overflow: hidden; display: flex; flex-direction: column; }
.m8-desktop .header { background: #263238; padding: 14px 20px; display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; }
.m8-desktop .header-left { display: flex; align-items: center; gap: 12px; }
.m8-desktop .header-title { color: #fff; font-size: 17px; font-weight: 800; }
.m8-desktop .new-badge { background: #1976d2; color: #fff; border-radius: 4px; padding: 2px 9px; font-size: 11px; font-weight: 700; }
.m8-desktop .header-actions { display: flex; gap: 8px; align-items: center; }
.m8-desktop .save-btn { background: rgba(255,255,255,0.12); color: #e6edf3; border: 1px solid rgba(255,255,255,0.2); border-radius: 6px; padding: 5px 12px; font-size: 12px; font-weight: 600; cursor: pointer; font-family: 'Cairo', sans-serif; }
.m8-desktop .close-btn { color: #8b949e; font-size: 20px; cursor: pointer; }

.m8-desktop .tabs { display: flex; border-bottom: 2px solid #e2e8f0; flex-shrink: 0; }
.m8-desktop .tab { padding: 10px 18px; font-size: 13px; color: #64748b; cursor: pointer; border-bottom: 2px solid transparent; font-weight: 600; margin-bottom: -2px; display: flex; align-items: center; gap: 6px; }
.m8-desktop .tab.active { color: #263238; border-bottom-color: #263238; }
.m8-desktop .tab-count { background: #ff6f00; color: #fff; border-radius: 10px; padding: 1px 7px; font-size: 10px; font-weight: 800; }

.m8-desktop .pinned-bar { background: #fff8e1; border-bottom: 1px solid #ffe082; padding: 10px 18px; display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.m8-desktop .pinned-text { font-size: 13px; color: #5d4037; flex: 1; }
.m8-desktop .pinned-label { font-size: 11px; color: #ff8f00; font-weight: 700; background: #fff3e0; border-radius: 4px; padding: 2px 8px; }

.m8-desktop .main-layout { flex: 1; display: flex; overflow: hidden; }
.m8-desktop .messages-area { flex: 1; overflow-y: auto; padding: 16px 18px; background: #f8fafc; display: flex; flex-direction: column; gap: 10px; }
.m8-desktop .sys-msg { align-self: center; background: rgba(0,0,0,0.06); color: #94a3b8; font-size: 11px; border-radius: 20px; padding: 4px 14px; }
.m8-desktop .msg-wrap { display: flex; gap: 10px; align-items: flex-end; max-width: 520px; }
.m8-desktop .msg-wrap.teacher { flex-direction: row-reverse; align-self: flex-end; }
.m8-desktop .av { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; color: #fff; font-weight: 700; flex-shrink: 0; }
.m8-desktop .bubble { max-width: 420px; }
.m8-desktop .b-name { font-size: 11px; color: #94a3b8; margin-bottom: 3px; }
.m8-desktop .b-text { background: #fff; border-radius: 12px 12px 12px 4px; padding: 10px 14px; font-size: 13px; color: #1e3a5f; box-shadow: 0 1px 3px rgba(0,0,0,0.06); line-height: 1.5; }
.m8-desktop .msg-wrap.teacher .b-text { background: #1976d2; color: #fff; border-radius: 12px 12px 4px 12px; }
.m8-desktop .b-time { font-size: 10px; color: #cbd5e1; margin-top: 4px; }

.m8-desktop .composer { border-top: 1px solid #e2e8f0; padding: 10px 18px; background: #fff; display: flex; align-items: center; gap: 10px; }
.m8-desktop .emoji-btn { font-size: 20px; color: #94a3b8; }
.m8-desktop .composer-input { flex: 1; border: 1px solid #cbd5e1; border-radius: 20px; padding: 8px 14px; font-size: 13px; font-family: 'Cairo', sans-serif; }
.m8-desktop .send-btn { background: #1976d2; color: #fff; border: none; border-radius: 50%; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; }

/* M9 desktop (tablet/windows) */
.m9-desktop { display: none; }
.m9-mobile { display: block; }
@media (min-width: 1024px) { .m9-desktop { display: block; } .m9-mobile { display: none; } }

.m9-desktop .window { width: 960px; background: #fff; border-radius: 10px; box-shadow: 0 8px 40px rgba(0,0,0,0.18); overflow: hidden; border: 1px solid #c8d0da; }
.m9-desktop .title-bar { background: #2e7d32; height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; }
.m9-desktop .title-bar-text { color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.m9-desktop .win-controls { display: flex; }
.m9-desktop .win-btn { width: 46px; height: 38px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.7); font-size: 13px; }
.m9-desktop .win-btn.close:hover { background: #e81123; color: #fff; }

.m9-desktop .success-banner { background: linear-gradient(135deg, #2e7d32, #43a047); padding: 28px 32px; display: flex; align-items: center; gap: 20px; }
.m9-desktop .success-icon { font-size: 52px; }
.m9-desktop .success-text h2 { color: #fff; font-size: 22px; font-weight: 900; }
.m9-desktop .success-text p { color: rgba(255,255,255,0.8); font-size: 14px; margin-top: 4px; }
.m9-desktop .s-actions { margin-right: auto; display: flex; flex-direction: column; gap: 8px; }
.m9-desktop .s-act-btn { background: rgba(255,255,255,0.15); color: #fff; border: 1px solid rgba(255,255,255,0.25); border-radius: 6px; padding: 8px 18px; font-size: 13px; font-weight: 700; cursor: pointer; font-family: 'Cairo', sans-serif; display: flex; align-items: center; gap: 6px; }

.m9-desktop .main-layout { display: flex; min-height: 440px; }
.m9-desktop .left { flex: 1; padding: 24px; display: flex; flex-direction: column; gap: 18px; }
.m9-desktop .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.m9-desktop .stat-card { background: #f8fafc; border-radius: 8px; border: 1px solid #e2e8f0; padding: 16px; text-align: center; }
.m9-desktop .stat-icon { font-size: 28px; }
.m9-desktop .stat-val { font-size: 28px; font-weight: 900; margin: 6px 0 4px; }
.m9-desktop .stat-lbl { font-size: 11px; color: #94a3b8; font-weight: 600; }
.m9-desktop .section-title { font-size: 14px; font-weight: 700; color: #263238; display: flex; align-items: center; gap: 6px; margin-bottom: 10px; }

.m9-desktop .recording-box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 16px; }
.m9-desktop .rec-status-row { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.m9-desktop .rec-icon { font-size: 24px; }
.m9-desktop .rec-info { flex: 1; }
.m9-desktop .rec-title { font-size: 14px; font-weight: 700; color: #1e3a5f; }
.m9-desktop .rec-meta { font-size: 12px; color: #94a3b8; }
.m9-desktop .progress { height: 6px; background: #e3f2fd; border-radius: 4px; overflow: hidden; }
.m9-desktop .progress-fill { height: 100%; width: 65%; background: linear-gradient(90deg, #1976d2, #42a5f5); }

.m9-desktop .publish-list { display: grid; gap: 8px; }
.m9-desktop .publish-item { background: #fff; border: 1.5px solid #e2e8f0; border-radius: 8px; padding: 10px 12px; font-size: 12px; display: flex; align-items: center; gap: 8px; }
.m9-desktop .publish-item.active { border-color: #1976d2; background: #e3f2fd; }

.m9-desktop .actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.m9-desktop .act-btn { border-radius: 10px; padding: 10px; text-align: center; font-weight: 700; font-size: 13px; }
.m9-desktop .act-btn.download { background: #e3f2fd; color: #1565c0; }
.m9-desktop .act-btn.report { background: #f3e5f5; color: #6a1b9a; }
.m9-desktop .act-btn.share { background: #e8f5e9; color: #2e7d32; }

/* M10 desktop (tablet/windows) */
.m10-desktop { display: none; }
.m10-mobile { display: block; }
@media (min-width: 1024px) { .m10-desktop { display: block; } .m10-mobile { display: none; } }

.m10-desktop .window { width: 960px; background: #fff; border-radius: 10px; box-shadow: 0 8px 40px rgba(0,0,0,0.18); overflow: hidden; border: 1px solid #c8d0da; }
.m10-desktop .title-bar { background: #2e7d32; height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; }
.m10-desktop .title-bar-text { color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.m10-desktop .win-controls { display: flex; }
.m10-desktop .win-btn { width: 46px; height: 38px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.7); font-size: 13px; }
.m10-desktop .win-btn.close:hover { background: #e81123; color: #fff; }

.m10-desktop .success-banner { background: linear-gradient(135deg, #2e7d32, #43a047); padding: 24px 32px; display: flex; align-items: center; gap: 20px; }
.m10-desktop .success-icon { font-size: 48px; }
.m10-desktop .success-text h2 { color: #fff; font-size: 20px; font-weight: 900; }
.m10-desktop .success-text p { color: rgba(255,255,255,0.8); font-size: 13px; margin-top: 4px; }
.m10-desktop .attend-pill { background: rgba(255,255,255,0.2); color: #fff; border-radius: 20px; padding: 6px 18px; font-size: 13px; font-weight: 700; margin-right: auto; display: flex; align-items: center; gap: 6px; }

.m10-desktop .main-layout { display: flex; min-height: 460px; }
.m10-desktop .content { flex: 1; padding: 24px; display: flex; flex-direction: column; gap: 18px; }
.m10-desktop .section-title { font-size: 14px; font-weight: 700; color: #263238; display: flex; align-items: center; gap: 6px; margin-bottom: 10px; }

.m10-desktop .time-box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 18px; }
.m10-desktop .time-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 12px; }
.m10-desktop .time-item { background: #fff; border-radius: 6px; border: 1px solid #e2e8f0; padding: 14px; text-align: center; }
.m10-desktop .time-label { font-size: 11px; color: #94a3b8; font-weight: 600; }
.m10-desktop .time-val { font-size: 22px; font-weight: 900; color: #1e3a5f; margin-top: 4px; }
.m10-desktop .time-val.green { color: #2e7d32; }
.m10-desktop .attend-confirm { background: #dcfce7; border: 1px solid #bbf7d0; border-radius: 6px; padding: 10px 14px; display: flex; align-items: center; gap: 8px; }
.m10-desktop .attend-confirm-text { font-size: 13px; color: #166534; font-weight: 700; }

.m10-desktop .rec-box { background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 8px; padding: 16px; }
.m10-desktop .rec-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.m10-desktop .rec-icon { font-size: 22px; }
.m10-desktop .rec-title { font-size: 14px; font-weight: 700; color: #1e3a5f; }
.m10-desktop .rec-sub { font-size: 12px; color: #64748b; }
.m10-desktop .rec-btn { background: #1976d2; color: #fff; border-radius: 8px; padding: 8px 12px; font-weight: 700; text-align: center; }

.m10-desktop .next-box { background: #fff; border-radius: 8px; border: 1px solid #e2e8f0; padding: 16px; }
.m10-desktop .next-row { display: flex; gap: 12px; align-items: center; }
.m10-desktop .cal { width: 56px; height: 56px; background: #e3f2fd; border-radius: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.m10-desktop .cal-day { font-size: 20px; font-weight: 800; color: #1976d2; }
.m10-desktop .cal-month { font-size: 10px; color: #78909c; }
.m10-desktop .next-title { font-size: 14px; font-weight: 700; }
.m10-desktop .next-time { font-size: 12px; color: #78909c; }
.m10-desktop .cal-actions { display: flex; gap: 6px; margin-top: 10px; }
.m10-desktop .cal-btn { flex: 1; padding: 8px; border: 0; border-radius: 10px; text-align: center; text-decoration: none; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.m10-desktop .cal-btn.apple { background: #1c2b3a; color: #fff; }
.m10-desktop .cal-btn.google { background: #ffebee; color: #c62828; }

.m10-desktop .progress-box { background: #fff; border-radius: 8px; border: 1px solid #e2e8f0; padding: 16px; }
.m10-desktop .prog-header { display: flex; justify-content: space-between; align-items: center; }
.m10-desktop .prog-val { font-size: 13px; color: #1976d2; font-weight: 700; }
.m10-desktop .prog-bar { height: 10px; background: #e3f2fd; border-radius: 5px; overflow: hidden; margin-top: 10px; }
.m10-desktop .prog-fill { height: 100%; width: 63%; background: linear-gradient(90deg, #1976d2, #42a5f5); }
.m10-desktop .prog-sub { font-size: 11px; color: #90a4ae; margin-top: 6px; }

/* M11 desktop (tablet/windows) */
.m11-desktop { display: none; }
.m11-mobile { display: block; }
@media (min-width: 1024px) { .m11-desktop { display: block; } .m11-mobile { display: none; } }

.m11-desktop .window { width: 960px; background: #fff; border-radius: 10px; box-shadow: 0 8px 40px rgba(0,0,0,0.18); overflow: hidden; border: 1px solid #c8d0da; }
.m11-desktop .title-bar { background: #b71c1c; height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; }
.m11-desktop .title-bar-text { color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.m11-desktop .win-controls { display: flex; }
.m11-desktop .win-btn { width: 46px; height: 38px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.7); font-size: 13px; }
.m11-desktop .win-btn.close:hover { background: #e81123; color: #fff; }

.m11-desktop .toolbar { background: #f8fafc; border-bottom: 1px solid #e2e8f0; padding: 10px 20px; display: flex; align-items: center; gap: 10px; }
.m11-desktop .back-btn { display: flex; align-items: center; gap: 6px; color: #64748b; font-size: 13px; font-weight: 600; cursor: pointer; padding: 5px 12px; border-radius: 6px; background: #fff; border: 1px solid #e2e8f0; font-family: 'Cairo', sans-serif; }
.m11-desktop .meeting-info { flex: 1; }
.m11-desktop .meeting-name { font-size: 15px; font-weight: 800; color: #1e3a5f; }
.m11-desktop .meeting-sub { font-size: 12px; color: #94a3b8; }
.m11-desktop .export-btns { display: flex; gap: 8px; }
.m11-desktop .export-btn { padding: 6px 14px; border-radius: 6px; font-size: 12px; font-weight: 700; cursor: pointer; font-family: 'Cairo', sans-serif; border: 1px solid #cbd5e1; background: #fff; color: #374151; display: flex; align-items: center; gap: 5px; }

.m11-desktop .main-layout { display: flex; min-height: 500px; }
.m11-desktop .stats-sidebar { width: 200px; background: #f8fafc; border-left: 1px solid #e2e8f0; padding: 18px; display: flex; flex-direction: column; gap: 10px; flex-shrink: 0; }
.m11-desktop .sum-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 14px; text-align: center; }
.m11-desktop .sum-val { font-size: 26px; font-weight: 900; }
.m11-desktop .sum-label { font-size: 11px; color: #94a3b8; margin-top: 4px; font-weight: 600; }
.m11-desktop .sum-bar { height: 4px; border-radius: 2px; margin-top: 8px; }

.m11-desktop .legend { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 12px; }
.m11-desktop .legend-title { font-size: 11px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; }
.m11-desktop .legend-item { display: flex; align-items: center; gap: 8px; padding: 5px 0; font-size: 12px; color: #374151; border-bottom: 1px solid #f1f5f9; }
.m11-desktop .legend-item:last-child { border-bottom: none; }
.m11-desktop .l-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.m11-desktop .l-count { margin-right: auto; font-weight: 800; }

.m11-desktop .content { flex: 1; padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; }
.m11-desktop .filters { display: flex; gap: 8px; flex-wrap: wrap; }
.m11-desktop .filter { background: #fff; border: 1.5px solid #e2e8f0; border-radius: 20px; padding: 6px 14px; font-size: 12px; color: #546e7a; }
.m11-desktop .filter.active { background: #b71c1c; color: #fff; border-color: #b71c1c; }

.m11-desktop .table { background: #fff; border-radius: 10px; border: 1px solid #e2e8f0; overflow: hidden; }
.m11-desktop .thead, .m11-desktop .row { display: grid; grid-template-columns: 1.8fr 0.8fr 0.8fr 0.8fr 1fr; align-items: center; }
.m11-desktop .thead { background: #263238; color: #90a4ae; font-size: 11px; font-weight: 600; }
.m11-desktop .th, .m11-desktop .td { padding: 10px 8px; text-align: center; }
.m11-desktop .th.name, .m11-desktop .td.name { text-align: right; padding-right: 14px; display: flex; align-items: center; gap: 6px; }
.m11-desktop .row { border-bottom: 1px solid #f5f7fa; font-size: 12px; }
.m11-desktop .row:nth-child(even) { background: #fafafa; }
.m11-desktop .av { width: 28px; height: 28px; border-radius: 50%; background: #1976d2; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; }
.m11-desktop .badge { border-radius: 6px; padding: 2px 6px; font-size: 10px; font-weight: 700; }

/* Live room controls when converted from links to buttons */
.m4-desktop .ctrl { background: transparent; border: none; cursor: pointer; }
.m4-host-btn { border: none; cursor: pointer; font-family: 'Cairo', sans-serif; }
button.m9-link { border: none; background: none; padding: 0; cursor: pointer; font-family: 'Cairo', sans-serif; }

/* Live meetings desktop cleanup: remove faux window chrome (tablet/windows) */
@media (min-width: 1024px) {
  .m1-desktop .window,
  .m2-desktop .window,
  .m3-desktop .window,
  .m4-desktop .window,
  .m5-desktop .window,
  .m6-desktop .window,
  .m7-desktop .window,
  .m8-desktop .window,
  .m9-desktop .window,
  .m10-desktop .window,
  .m11-desktop .window {
    width: 100%;
    max-width: 100%;
    border-radius: 18px;
    border: 0;
    box-shadow: none;
    background: transparent;
  }

  .m1-desktop .title-bar,
  .m2-desktop .title-bar,
  .m3-desktop .title-bar,
  .m4-desktop .title-bar,
  .m5-desktop .title-bar,
  .m6-desktop .title-bar,
  .m7-desktop .title-bar,
  .m8-desktop .title-bar,
  .m9-desktop .title-bar,
  .m10-desktop .title-bar,
  .m11-desktop .title-bar {
    display: none;
  }

  .m1-desktop .main-layout,
  .m2-desktop .main-layout {
    height: auto;
    min-height: 0;
  }

  .m1-desktop .sidebar,
  .m2-desktop .sidebar,
  .m3-desktop .sidebar,
  .m4-desktop .sidebar,
  .m5-desktop .sidebar,
  .m6-desktop .sidebar,
  .m7-desktop .sidebar,
  .m8-desktop .sidebar,
  .m9-desktop .sidebar,
  .m10-desktop .sidebar,
  .m11-desktop .sidebar {
    display: none;
  }

  .m1-desktop .content-area,
  .m2-desktop .content-area {
    background: transparent;
  }
}

/* Live meetings: desktop for tablet/windows, mobile for small screens */
@media (max-width: 767px) {
  .m1-desktop, .m2-desktop, .m3-desktop, .m4-desktop, .m5-desktop,
  .m6-desktop, .m7-desktop, .m8-desktop, .m9-desktop, .m10-desktop, .m11-desktop {
    display: none !important;
  }
  .m1-mobile, .m2-mobile, .m3-mobile, .m4-mobile, .m5-mobile,
  .m6-mobile, .m7-mobile, .m8-mobile, .m9-mobile, .m10-mobile, .m11-mobile {
    display: block !important;
  }
}

@media (min-width: 768px) {
  .m1-desktop, .m2-desktop, .m3-desktop, .m4-desktop, .m5-desktop,
  .m6-desktop, .m7-desktop, .m8-desktop, .m9-desktop, .m10-desktop, .m11-desktop {
    display: block !important;
  }
  .m1-mobile, .m2-mobile, .m3-mobile, .m4-mobile, .m5-mobile,
  .m6-mobile, .m7-mobile, .m8-mobile, .m9-mobile, .m10-mobile, .m11-mobile {
    display: none !important;
  }
}

.live-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    z-index: 9999;
}

.live-modal {
    width: min(520px, 100%);
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.25);
    overflow: hidden;
}

.live-modal__header {
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 700;
    background: #f8fafc;
    border-bottom: 1px solid #e5e7eb;
}

.live-modal__body {
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.live-modal__row {
    font-size: 14px;
    color: #334155;
}

.live-modal__label {
    font-size: 12px;
    color: #64748b;
}

.live-modal__input {
    width: 100%;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #dbe2ea;
    background: #ffffff;
    font-size: 14px;
}

.live-modal__textarea {
    min-height: 90px;
    resize: vertical;
}

.live-modal__footer {
    padding: 12px 20px;
    background: #f8fafc;
    border-top: 1px solid #e5e7eb;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.live-modal__btn {
    padding: 8px 16px;
    border-radius: 10px;
    border: 1px solid #1d4ed8;
    background: #1d4ed8;
    color: #ffffff;
    font-weight: 600;
}

.live-modal__btn.outline {
    background: #ffffff;
    color: #1d4ed8;
}

.live-modal__btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Live meetings: refreshed layout */
.live-shell {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--nahj-border);
    border-radius: var(--nahj-radius-xl);
    box-shadow: var(--nahj-shadow);
    padding: 1.2rem;
    display: grid;
    gap: 1rem;
}

.live-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1rem 1.2rem;
    border-radius: var(--nahj-radius-lg);
    background: linear-gradient(135deg, rgba(58, 93, 255, 0.12), rgba(14, 165, 233, 0.1));
    border: 1px solid rgba(58, 93, 255, 0.15);
}

.live-hero__eyebrow {
    font-size: 0.8rem;
    color: var(--nahj-muted);
    font-weight: 700;
}

.live-hero__title {
    font-size: clamp(1.25rem, 2vw, 1.7rem);
    font-weight: 800;
    margin-top: 0.35rem;
}

.live-hero__sub {
    color: var(--nahj-muted);
    margin-top: 0.35rem;
    font-size: 0.9rem;
}

.live-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.85rem;
}

.live-hero__actions {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.live-pill {
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    border: 1px solid transparent;
}

.live-pill--success { background: #dcfce7; color: #166534; border-color: #86efac; }
.live-pill--warning { background: #fff7ed; color: #c2410c; border-color: #fdba74; }
.live-pill--muted { background: #eef2ff; color: #475569; border-color: #c7d2fe; }
.live-pill--info { background: #e0f2fe; color: #075985; border-color: #7dd3fc; }

.live-toolbar {
    display: flex;
    gap: 0.8rem;
    align-items: center;
    flex-wrap: wrap;
}

.live-search {
    flex: 1;
    min-width: 240px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #f8fbff;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    padding: 0.5rem 0.9rem;
}

.live-search input {
    border: none;
    background: transparent;
    width: 100%;
    font-size: 0.9rem;
}

.live-search__icon {
    color: #64748b;
}

.live-tabs {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.live-tab {
    border: 1px solid var(--nahj-border);
    border-radius: 0.8rem;
    background: #fff;
    padding: 0.4rem 0.75rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: #334155;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.live-tab span {
    background: #eef2ff;
    border-radius: 999px;
    padding: 0.1rem 0.45rem;
    font-size: 0.72rem;
    font-weight: 800;
}

.live-tab--active {
    background: #dbeafe;
    color: #1d4ed8;
    border-color: #93c5fd;
}

.live-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.9rem;
}

.live-card {
    background: #fff;
    border: 1px solid var(--nahj-border);
    border-radius: 1rem;
    padding: 0.9rem;
    display: grid;
    gap: 0.75rem;
    box-shadow: 0 12px 22px rgba(15, 23, 42, 0.06);
}

.live-card--live {
    border-color: #fecaca;
    box-shadow: 0 16px 26px rgba(220, 38, 38, 0.12);
}

.live-card__head {
    display: flex;
    justify-content: space-between;
    gap: 0.6rem;
    align-items: flex-start;
}

.live-card__title {
    font-weight: 800;
    font-size: 1rem;
    color: #0f172a;
}

.live-card__sub {
    color: #64748b;
    font-size: 0.82rem;
    margin-top: 0.2rem;
}

.live-card__meta {
    display: flex;
    gap: 0.8rem;
    flex-wrap: wrap;
    color: #475569;
    font-size: 0.82rem;
}

.live-card__actions {
    display: grid;
    gap: 0.6rem;
}

.live-btn {
    border-radius: 0.75rem;
    padding: 0.55rem 0.9rem;
    font-size: 0.85rem;
    font-weight: 700;
    border: 1px solid transparent;
    text-align: center;
    cursor: pointer;
    background: #fff;
}

.live-btn--primary { background: #2563eb; color: #fff; }
.live-btn--danger { background: #dc2626; color: #fff; }
.live-btn--success { background: #16a34a; color: #fff; }
.live-btn--purple { background: #7c3aed; color: #fff; }
.live-btn--ghost { background: #f8fafc; border-color: #e2e8f0; color: #334155; }
.live-btn--danger-outline { background: #fff5f5; border-color: #fecaca; color: #b91c1c; }

.live-btn-row {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.live-badge {
    border-radius: 999px;
    padding: 0.2rem 0.6rem;
    font-size: 0.72rem;
    font-weight: 800;
    border: 1px solid transparent;
}

.live-badge--danger { background: #fee2e2; color: #b91c1c; border-color: #fecaca; }
.live-badge--info { background: #dbeafe; color: #1d4ed8; border-color: #93c5fd; }
.live-badge--muted { background: #f1f5f9; color: #64748b; border-color: #e2e8f0; }

@media (max-width: 900px) {
    .live-hero {
        padding: 0.9rem;
    }
    .live-toolbar {
        flex-direction: column;
        align-items: stretch;
    }
}

/* Live room (M4) light theme */
.m4-live-room {
    background: transparent;
    color: var(--nahj-text);
    padding: 0;
}

.m4-top-bar {
    background: #ffffff;
    border: 1px solid var(--nahj-border);
    border-radius: var(--nahj-radius-lg);
    box-shadow: var(--nahj-shadow);
}

.m4-meeting-name { color: var(--nahj-text); }
.m4-meeting-meta { color: var(--nahj-muted); }
.m4-count { color: var(--nahj-muted); }

.m4-stage {
    background: #ffffff;
    border: 1px solid var(--nahj-border);
    border-radius: var(--nahj-radius-lg);
}

.m4-stage-video {
    background: linear-gradient(135deg, rgba(58, 93, 255, 0.08), rgba(14, 165, 233, 0.08));
}

.m4-speaker-tag,
.m4-speaking {
    background: rgba(255, 255, 255, 0.85);
    color: #0f172a;
    border: 1px solid rgba(148, 163, 184, 0.4);
}

.m4-pin-btn,
.m4-layout-btn {
    background: rgba(255, 255, 255, 0.9);
    color: #1e293b;
    border: 1px solid rgba(148, 163, 184, 0.4);
}

.m4-strip .m4-tile {
    background: #ffffff;
    border: 1px solid var(--nahj-border);
}

.m4-tile-footer {
    color: #0f172a;
}

.m4-controls {
    background: #ffffff;
    border: 1px solid var(--nahj-border);
    box-shadow: var(--nahj-shadow);
}

.m4-ctrl-icon {
    background: #f8fafc;
    color: #0f172a;
    border: 1px solid #e2e8f0;
}

.m4-ctrl-icon.is-muted {
    background: #fee2e2;
    color: #b91c1c;
    border-color: #fecaca;
}

.m4-ctrl-icon.is-active {
    background: #dcfce7;
    color: #166534;
    border-color: #86efac;
}

.m4-host-bar {
    gap: 0.6rem;
}

.m4-host-btn {
    background: #ffffff;
    border: 1px solid var(--nahj-border);
    color: #0f172a;
}

.m4-host-btn--danger {
    background: #fff1f2;
    color: #be123c;
    border: 1px solid #fecdd3;
}

/* Live meetings - unified platform layout (desktop/tablet) */
.m4-desktop .window,
.m6-desktop .panel,
.m7-desktop .panel,
.m8-desktop .panel,
.m9-desktop .window,
.m10-desktop .window,
.m11-desktop .window {
    background: #ffffff;
    border: 1px solid var(--nahj-border);
    border-radius: var(--nahj-radius-xl);
    box-shadow: var(--nahj-shadow);
}

.m4-desktop .title-bar,
.m6-desktop .title-bar,
.m7-desktop .title-bar,
.m8-desktop .title-bar,
.m9-desktop .title-bar,
.m10-desktop .title-bar,
.m11-desktop .title-bar {
    display: none;
}

.m4-desktop .main {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.85fr);
    gap: 1rem;
    padding: 1rem;
}

.m4-desktop .video-area {
    background: #ffffff;
    border: 1px solid var(--nahj-border);
    border-radius: var(--nahj-radius-lg);
    padding: 0.9rem;
    display: grid;
    gap: 0.8rem;
}

.m4-desktop .main-speaker {
    background: linear-gradient(135deg, rgba(58, 93, 255, 0.08), rgba(14, 165, 233, 0.08));
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    min-height: 320px;
}

.m4-desktop .side-panel {
    background: #ffffff;
    border: 1px solid var(--nahj-border);
    border-radius: var(--nahj-radius-lg);
    padding: 0.9rem;
}

.m4-desktop .panel-tabs {
    background: #f8fbff;
    border-radius: 999px;
    padding: 0.35rem;
    gap: 0.4rem;
}

.m4-desktop .p-tab {
    background: transparent;
    border-radius: 999px;
    padding: 0.45rem 0.9rem;
    font-size: 0.85rem;
    color: #64748b;
}

.m4-desktop .p-tab.active {
    background: #dbeafe;
    color: #1d4ed8;
    font-weight: 800;
}

.m4-desktop .control-bar {
    background: #ffffff;
    border: 1px solid var(--nahj-border);
    border-radius: var(--nahj-radius-lg);
    padding: 0.75rem 1rem;
    margin: 0 1rem 1rem;
}

.m4-desktop .host-bar {
    background: #f8fbff;
    border-top: 1px dashed #dbeafe;
    padding: 0.8rem 1rem 1rem;
    border-radius: 0 0 var(--nahj-radius-xl) var(--nahj-radius-xl);
}

/* M6 participants */
.m6-desktop .panel {
    padding: 0;
    overflow: hidden;
}

.m6-desktop .header {
    background: linear-gradient(135deg, rgba(58, 93, 255, 0.14), rgba(14, 165, 233, 0.1));
    color: #0f172a;
    padding: 1rem 1.2rem;
}

.m6-desktop .toolbar,
.m6-desktop .filter-tabs {
    padding: 0.8rem 1.2rem 0;
}

.m6-desktop .main-layout {
    padding: 0.8rem 1.2rem 1.2rem;
    gap: 1rem;
}

.m6-desktop .summary-panel {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    padding: 0.9rem;
}

/* M7 breakouts */
.m7-desktop .header {
    background: linear-gradient(135deg, rgba(124, 77, 255, 0.16), rgba(69, 39, 160, 0.12));
    color: #1e293b;
    padding: 1rem 1.2rem;
}

.m7-desktop .main-layout {
    padding: 1rem 1.2rem 1.2rem;
    gap: 1rem;
}

.m7-desktop .config-panel {
    background: #f8fbff;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    padding: 0.9rem;
}

.m7-desktop .rooms-area {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    padding: 0.9rem;
}

/* M8 chat */
.m8-desktop .header {
    background: #0f172a;
    padding: 1rem 1.2rem;
}

.m8-desktop .main-layout {
    background: #f8fafc;
}

.m8-desktop .composer {
    background: #ffffff;
}

/* M9/M10/M11 */
.m9-desktop .success-banner,
.m10-desktop .success-banner {
    border-radius: var(--nahj-radius-xl) var(--nahj-radius-xl) 0 0;
}

.m11-desktop .toolbar {
    background: #f8fbff;
    border-bottom: 1px solid #e2e8f0;
}

/* Live room spacing + controls (desktop polish) */
.m4-desktop .live-room-shell,
.m5-desktop .live-room-shell {
    gap: 10px;
}

.m4-desktop .live-room-hero,
.m5-desktop .live-room-hero {
    padding: 12px 14px;
}

.m4-desktop .live-room-grid,
.m5-desktop .live-room-grid {
    gap: 12px;
}

.m4-desktop .video-area,
.m5-desktop .video-area {
    padding: 12px;
}

.m4-desktop .p-strip,
.m5-desktop .p-strip {
    gap: 8px;
}

.m4-desktop .side-panel,
.m5-desktop .side-panel {
    padding: 10px;
}

.m4-desktop .control-bar,
.m5-desktop .control-bar {
    padding: 10px 12px;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

.m4-desktop .ctrl,
.m5-desktop .ctrl {
    min-width: 56px;
}

.m4-desktop .ctrl-icon.muted,
.m5-desktop .ctrl-icon.muted,
.m4-ctrl-icon.is-muted,
.m5-ctrl-icon.muted {
    background: #fff1f2;
    border-color: #fecdd3;
    color: #be123c;
}

.m4-desktop .ctrl-icon.off,
.m4-ctrl-icon.is-off,
.m5-desktop .ctrl-icon.off {
    background: #f1f5f9;
    border-color: #e2e8f0;
    color: #475569;
}

@media (max-width: 1100px) {
    .m4-desktop .main {
        grid-template-columns: 1fr;
    }
    .m4-desktop .control-bar {
        margin: 0 0.5rem 0.8rem;
    }
    .m4-desktop .host-bar {
        padding: 0.8rem 0.8rem 1rem;
    }
}

/* Live room desktop redesign (M4) */
.m4-desktop .live-room-shell,
.m5-desktop .live-room-shell {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.m4-desktop .live-room-hero,
.m5-desktop .live-room-hero {
    background: #ffffff;
    border: 1px solid var(--nahj-border);
    border-radius: 18px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.m4-desktop .live-room-hero__title,
.m5-desktop .live-room-hero__title {
    font-size: 18px;
    font-weight: 700;
    color: var(--nahj-text);
    margin-bottom: 6px;
}

.m4-desktop .live-room-hero__meta,
.m5-desktop .live-room-hero__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    color: var(--nahj-muted);
    font-size: 12px;
}

.m4-desktop .live-room-hero__actions,
.m5-desktop .live-room-hero__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.m4-desktop .live-room-grid,
.m5-desktop .live-room-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.85fr);
    gap: 16px;
    align-items: start;
}

.m4-desktop .main,
.m5-desktop .main {
    display: block;
}

.m4-desktop .video-area,
.m5-desktop .video-area {
    background: #ffffff;
    border: 1px solid var(--nahj-border);
    border-radius: 16px;
    padding: 16px;
    gap: 12px;
}

.m4-desktop .main-speaker,
.m5-desktop .main-speaker {
    background: linear-gradient(135deg, rgba(58, 93, 255, 0.08), rgba(14, 165, 233, 0.08));
    border: 1px solid #e2e8f0;
    border-radius: 16px;
}

.m4-desktop .p-strip,
.m5-desktop .p-strip {
    gap: 12px;
}

.m4-desktop .p-tile,
.m5-desktop .p-tile {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.m4-desktop .p-footer,
.m5-desktop .p-footer {
    background: #ffffff;
    color: var(--nahj-text);
}

.m4-desktop .side-panel {
    background: #ffffff;
    border: 1px solid var(--nahj-border);
    border-radius: 16px;
    padding: 12px;
}

.m4-desktop .panel-tabs {
    background: #f8fbff;
    border-radius: 999px;
    padding: 4px;
    gap: 6px;
    border: 1px solid #e2e8f0;
}

.m4-desktop .panel-content {
    padding: 6px 4px;
}

.m4-desktop .p-row {
    background: #f8fafc;
    border: 1px solid #eef2f7;
}

.m4-desktop .control-bar,
.m5-desktop .control-bar {
    background: #ffffff;
    border: 1px solid var(--nahj-border);
    border-radius: 16px;
    padding: 12px;
    margin: 0;
}

.m4-desktop .host-bar {
    background: #f8fbff;
    border: 1px dashed #dbeafe;
    border-radius: 16px;
    padding: 12px;
}

.m6-ind-btn {
    background: transparent;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #0f172a;
    cursor: pointer;
}

.m6-ind-btn.ind-off {
    opacity: 0.45;
}

.m6-ind-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

@media (max-width: 1100px) {
    .m4-desktop .live-room-grid {
        grid-template-columns: 1fr;
    }
    .m5-desktop .live-room-grid {
        grid-template-columns: 1fr;
    }
}

.m5-desktop .chat-panel {
    background: #ffffff;
    border: 1px solid var(--nahj-border);
    border-radius: 16px;
    padding: 12px;
}

/* M3 lobby (desktop) - platform theme */
.m3-desktop .window {
    background: transparent;
    border: 1px solid var(--nahj-border);
    border-radius: var(--nahj-radius-xl);
    box-shadow: var(--nahj-shadow);
}

.m3-desktop .layout {
    background: #ffffff;
    border-radius: var(--nahj-radius-xl);
    padding: 1rem;
    border: 1px solid var(--nahj-border);
}

.m3-desktop .camera-section,
.m3-desktop .settings-section {
    background: #f8fbff;
    border: 1px solid #dbeafe;
    border-radius: var(--nahj-radius-lg);
    padding: 0.9rem;
}

.m3-desktop .cam-controls .ctrl-btn {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    color: #0f172a;
}

.m3-desktop .ctrl-btn.off {
    background: #fee2e2;
    color: #b91c1c;
    border-color: #fecaca;
}

.m3-desktop .cta-start {
    background: linear-gradient(135deg, #2563eb, #14b8a6);
    border: none;
}

/* M6 participants - platform theme */
.m6-desktop .panel {
    background: #ffffff;
}

.m6-desktop .header {
    background: linear-gradient(135deg, rgba(58, 93, 255, 0.12), rgba(14, 165, 233, 0.08));
    color: #0f172a;
}

.m6-desktop .mute-all-btn,
.m6-desktop .invite-btn {
    background: #2563eb;
    color: #fff;
    border: none;
    border-radius: 0.7rem;
}

.m6-desktop .search-box {
    background: #f8fbff;
    border: 1px solid #dbeafe;
}

.m6-desktop .p-row {
    background: #ffffff;
    border: 1px solid #eef2f7;
    border-radius: 0.9rem;
}

.m6-desktop .hand-row {
    background: #fff8f0;
    border-color: #ffe0b2;
}

/* M7 breakouts */
.m7-desktop .panel {
    background: #ffffff;
}

.m7-desktop .header {
    background: linear-gradient(135deg, rgba(124, 77, 255, 0.16), rgba(69, 39, 160, 0.12));
    color: #1e293b;
}

.m7-desktop .rooms-counter,
.m7-desktop .dist-options,
.m7-desktop .duration-chips {
    background: #f8fbff;
    border-radius: var(--nahj-radius-lg);
    padding: 0.8rem;
    border: 1px solid #e2e8f0;
}

.m7-desktop .room-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: var(--nahj-radius-lg);
}

/* M8 chat */
.m8-desktop .panel {
    background: #ffffff;
}

.m8-desktop .header {
    background: #0f172a;
}

.m8-desktop .messages-area {
    background: #f8fafc;
}

.m8-desktop .composer-input {
    background: #ffffff;
}

/* M9/M10/M11 post-session */
.m9-desktop .window,
.m10-desktop .window,
.m11-desktop .window {
    background: #ffffff;
    border-radius: var(--nahj-radius-xl);
    border: 1px solid var(--nahj-border);
    box-shadow: var(--nahj-shadow);
}

.m9-desktop .title-bar,
.m10-desktop .title-bar,
.m11-desktop .title-bar {
    background: linear-gradient(135deg, #2e7d32, #43a047);
}

.m11-desktop .title-bar {
    background: linear-gradient(135deg, #b71c1c, #e53935);
}

.m9-desktop .success-banner,
.m10-desktop .success-banner {
    border-radius: 0;
}

.m11-desktop .toolbar {
    background: #f8fbff;
}

/* Live management panels: make them inline (no modal overlay) */
@media (min-width: 768px) {
    .m6-desktop .overlay,
    .m7-desktop .overlay,
    .m8-desktop .overlay,
    .m9-desktop .overlay,
    .m10-desktop .overlay,
    .m11-desktop .overlay {
        position: static;
        inset: auto;
        background: transparent;
        padding: 0;
        display: block;
    }

    .m6-desktop .panel,
    .m7-desktop .panel,
    .m8-desktop .panel,
    .m9-desktop .panel,
    .m10-desktop .panel,
    .m11-desktop .panel {
        width: 100%;
        height: auto;
        border-radius: var(--nahj-radius-xl);
        box-shadow: var(--nahj-shadow);
        border: 1px solid var(--nahj-border);
    }

    .m6-desktop .header,
    .m7-desktop .header,
    .m8-desktop .header {
        background: linear-gradient(135deg, rgba(58, 93, 255, 0.1), rgba(14, 165, 233, 0.08));
        color: var(--nahj-text);
        border-bottom: 1px solid var(--nahj-border);
    }

    .m6-desktop .close-btn,
    .m7-desktop .close-btn,
    .m8-desktop .close-btn {
        color: #94a3b8;
    }
}

/* Live management spacing tighten */
.m6-desktop .panel,
.m8-desktop .panel {
    margin-top: 12px;
}

.m6-desktop .main-layout,
.m8-desktop .main-layout {
    gap: 12px;
}

.m6-desktop .toolbar,
.m6-desktop .filter-tabs,
.m8-desktop .tabs,
.m8-desktop .composer {
    padding: 8px 12px;
}

.m6-desktop .list-header {
    padding: 8px 12px;
}

.m6-desktop .p-row {
    padding: 9px 12px;
}

/* M4 inline chat on desktop */
.m4-desktop .panel-tabs button.p-tab {
    border: 0;
    background: transparent;
    font: inherit;
    color: inherit;
}

.m4-desktop .panel-content--chat {
    padding: 10px;
    gap: 10px;
}

.m4-desktop .side-chat-list {
    flex: 1;
    min-height: 120px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-radius: 10px;
    background: #0f172a;
    border: 1px solid #243140;
    padding: 8px;
}

.m4-desktop .side-chat-empty {
    text-align: center;
    color: #94a3b8;
    font-size: 12px;
    padding: 12px 8px;
}

.m4-desktop .side-chat-message {
    background: #111827;
    border: 1px solid #1f2937;
    border-radius: 10px;
    padding: 8px;
    color: #e2e8f0;
}

.m4-desktop .side-chat-message__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px;
}

.m4-desktop .side-chat-message__name {
    font-size: 12px;
    font-weight: 700;
    color: #e2e8f0;
}

.m4-desktop .side-chat-message__time {
    font-size: 11px;
    color: #94a3b8;
}

.m4-desktop .side-chat-message__body {
    font-size: 12px;
    line-height: 1.5;
    color: #cbd5e1;
    word-break: break-word;
}

.m4-desktop .side-chat-composer {
    display: flex;
    align-items: center;
    gap: 8px;
}

.m4-desktop .side-chat-composer__input {
    flex: 1;
    min-width: 0;
    border-radius: 9px;
    border: 1px solid #334155;
    background: #0f172a;
    color: #f1f5f9;
    font-size: 12px;
    padding: 8px 10px;
    outline: none;
}

.m4-desktop .side-chat-composer__input:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.2);
}

.m4-desktop .side-chat-composer__send {
    border: 0;
    border-radius: 9px;
    background: #1d4ed8;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 12px;
    cursor: pointer;
}

.m4-desktop .side-chat-composer__send:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

/* ============================================================
   LIVE MEETINGS — PREMIUM UI UPGRADE v2
   تحسين شامل لواجهة الاجتماعات المباشرة
   ============================================================ */

/* --- Keyframe Animations --- */
@keyframes lv-pulse-ring {
    0%   { box-shadow: 0 0 0 0 rgba(220,38,38,0.5); }
    70%  { box-shadow: 0 0 0 10px rgba(220,38,38,0); }
    100% { box-shadow: 0 0 0 0 rgba(220,38,38,0); }
}
@keyframes lv-blink-dot {
    0%,100% { opacity: 1; }
    50%      { opacity: 0.25; }
}
@keyframes lv-slide-up {
    from { opacity:0; transform: translateY(14px); }
    to   { opacity:1; transform: translateY(0); }
}
@keyframes lv-fade-in {
    from { opacity:0; }
    to   { opacity:1; }
}
@keyframes lv-wave1 { 0%,100%{height:8px}  50%{height:18px} }
@keyframes lv-wave2 { 0%,100%{height:14px} 50%{height:6px}  }
@keyframes lv-wave3 { 0%,100%{height:10px} 50%{height:22px} }
@keyframes lv-wave4 { 0%,100%{height:18px} 50%{height:8px}  }
@keyframes lv-wave5 { 0%,100%{height:6px}  50%{height:14px} }
@keyframes lv-pop {
    0%   { transform: scale(0.85); opacity:0; }
    60%  { transform: scale(1.05); }
    100% { transform: scale(1);   opacity:1; }
}

/* --- Live Badge — نبضة حية --- */
.live-badge--danger {
    position: relative;
    animation: lv-pulse-ring 1.8s ease-out infinite;
    padding: 0.25rem 0.75rem 0.25rem 0.55rem;
    background: linear-gradient(135deg, #ef4444, #b91c1c);
    color: #fff !important;
    border: none !important;
    gap: 6px;
    display: inline-flex !important;
    align-items: center;
    border-radius: 999px !important;
}
.live-badge--danger::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255,255,255,0.9);
    animation: lv-blink-dot 1.2s ease-in-out infinite;
    display: inline-block;
    flex-shrink: 0;
}

/* --- M4/M5 Hero Bar --- */
.m4-desktop .live-room-hero,
.m5-desktop .live-room-hero {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
    border: 1px solid rgba(96,165,250,0.2) !important;
    border-radius: 20px !important;
    padding: 18px 22px !important;
    color: #f1f5f9 !important;
    box-shadow: 0 8px 32px rgba(15,23,42,0.25), inset 0 1px 0 rgba(255,255,255,0.07) !important;
    animation: lv-slide-up 0.4s ease both;
}
.m4-desktop .live-room-hero__title,
.m5-desktop .live-room-hero__title {
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.3px;
    margin-bottom: 8px !important;
}

/* Hero action buttons */
.live-btn--danger {
    background: linear-gradient(135deg, #ef4444, #b91c1c) !important;
    border: none !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(220,38,38,0.35);
    transition: transform 0.15s, box-shadow 0.15s;
}
.live-btn--danger:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(220,38,38,0.5) !important;
}
.live-btn--ghost {
    background: rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    color: #e2e8f0 !important;
    backdrop-filter: blur(8px);
    transition: background 0.15s, transform 0.15s;
}
.live-btn--ghost:hover:not(:disabled) {
    background: rgba(255,255,255,0.18) !important;
    transform: translateY(-1px);
}

/* Pills in hero */
.live-pill--info {
    background: rgba(96,165,250,0.18) !important;
    color: #93c5fd !important;
    border-color: rgba(96,165,250,0.3) !important;
}
.live-pill--muted {
    background: rgba(100,116,139,0.18) !important;
    color: #94a3b8 !important;
    border-color: rgba(100,116,139,0.3) !important;
}

/* --- Main Video Stage --- */
.m4-desktop .main-speaker,
.m5-desktop .main-speaker {
    background: linear-gradient(160deg, #0f172a 0%, #1e293b 60%, #0f2744 100%) !important;
    border: 1px solid rgba(59,130,246,0.25) !important;
    border-radius: 20px !important;
    min-height: 340px;
    position: relative;
    overflow: hidden;
}
.m4-desktop .main-speaker::after,
.m5-desktop .main-speaker::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 30% 20%, rgba(59,130,246,0.1) 0%, transparent 55%),
        radial-gradient(ellipse at 70% 80%, rgba(14,165,233,0.08) 0%, transparent 55%);
    pointer-events: none;
    z-index: 0;
}

/* Livekit stage */
.livekit-stage {
    background: linear-gradient(160deg, #0f172a 0%, #1e293b 50%, #0f2744 100%);
    border-radius: 14px;
    overflow: hidden;
    min-height: 280px;
}

/* name tag & speaking pill */
.m4-desktop .tag-name {
    background: rgba(15,23,42,0.78);
    backdrop-filter: blur(8px);
    color: #f1f5f9;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 10px;
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 600;
}
.m4-desktop .speaking-pill {
    background: rgba(5,150,105,0.82);
    backdrop-filter: blur(6px);
    color: #fff;
    border: 1px solid rgba(16,185,129,0.35);
    border-radius: 999px;
    padding: 5px 12px;
    font-size: 11px;
    display: flex;
    align-items: center;
    gap: 7px;
}
.m4-desktop .s-dot {
    width: 8px;
    height: 8px;
    background: #10b981;
    border-radius: 50%;
    animation: lv-blink-dot 1s ease infinite;
}
.m4-desktop .layout-btn,
.m4-desktop .pin-btn,
.m4-pin-btn,
.m4-layout-btn {
    background: rgba(15,23,42,0.65) !important;
    backdrop-filter: blur(8px);
    color: #e2e8f0 !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 8px;
    padding: 5px 10px;
    font-size: 11px;
    cursor: pointer;
    transition: background 0.15s;
}
.m4-desktop .layout-btn:hover,
.m4-desktop .pin-btn:hover {
    background: rgba(30,41,59,0.85) !important;
}

/* --- Participant Thumbnail Strip --- */
.m4-desktop .p-tile,
.m5-desktop .p-tile {
    background: linear-gradient(160deg, #1e293b, #0f172a) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 12px !important;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.m4-desktop .p-tile:hover,
.m5-desktop .p-tile:hover {
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 10px 24px rgba(0,0,0,0.35);
    border-color: rgba(96,165,250,0.35) !important;
}
.m4-desktop .p-video,
.m5-desktop .p-video {
    background: linear-gradient(135deg, #1e3a5f, #0d1f35) !important;
    color: #7dd3fc !important;
    font-size: 18px;
    font-weight: 800;
    height: 62px;
}
.m4-desktop .p-footer,
.m5-desktop .p-footer {
    background: rgba(15,23,42,0.85) !important;
    color: #e2e8f0 !important;
    padding: 5px 8px;
    font-size: 10px;
    font-weight: 600;
}

/* mobile tiles */
.m4-tile, .m5-tile {
    background: rgba(22,27,34,0.9) !important;
    border: 1px solid rgba(255,255,255,0.07) !important;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.2s, border-color 0.2s;
}
.m4-tile:hover, .m5-tile:hover {
    transform: scale(1.04);
    border-color: rgba(96,165,250,0.35) !important;
}
.m4-tile-video, .m5-tile-video {
    background: linear-gradient(135deg, #1e3a5f, #0d1f35) !important;
    color: #7dd3fc !important;
    font-weight: 800;
}
.m4-tile-footer, .m5-tile-footer {
    background: rgba(15,23,42,0.85) !important;
    color: #e2e8f0 !important;
    font-size: 10px;
    padding: 4px 7px;
}

/* --- Control Bar — Premium Dark --- */
.m4-desktop .control-bar,
.m5-desktop .control-bar {
    background: #0f172a !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 20px !important;
    padding: 14px 20px !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    box-shadow: 0 -2px 20px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.06) !important;
    margin: 0 !important;
}
.m4-desktop .ctrl,
.m5-desktop .ctrl {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    min-width: 58px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 14px;
    font-family: var(--nahj-font);
    transition: background 0.2s;
}
.m4-desktop .ctrl:hover,
.m5-desktop .ctrl:hover {
    background: rgba(255,255,255,0.06);
}
.m4-desktop .ctrl-icon,
.m5-desktop .ctrl-icon {
    width: 46px !important;
    height: 46px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    color: #f1f5f9 !important;
    font-size: 19px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
}
.m4-desktop .ctrl:hover .ctrl-icon,
.m5-desktop .ctrl:hover .ctrl-icon {
    background: rgba(255,255,255,0.16) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.35);
}
.m4-desktop .ctrl-icon.muted,
.m5-desktop .ctrl-icon.muted {
    background: linear-gradient(135deg, #ef4444, #b91c1c) !important;
    border-color: rgba(239,68,68,0.5) !important;
    box-shadow: 0 4px 12px rgba(220,38,38,0.4);
}
.m4-desktop .ctrl-icon.off {
    background: rgba(100,116,139,0.2) !important;
    color: #64748b !important;
    border-color: rgba(100,116,139,0.2) !important;
}
.m4-desktop .ctrl-lbl,
.m5-desktop .ctrl-lbl {
    color: #94a3b8 !important;
    font-size: 10px !important;
    font-weight: 600;
    letter-spacing: 0.2px;
}
/* Badge on ctrl icons */
.m4-desktop .badge {
    background: linear-gradient(135deg, #f97316, #ea580c) !important;
    border: 2px solid #0f172a !important;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(234,88,12,0.5);
}
.m4-ctrl-badge, .m5-ctrl-badge {
    background: linear-gradient(135deg, #f97316, #ea580c) !important;
    border: 2px solid #0f172a !important;
    box-shadow: 0 2px 6px rgba(234,88,12,0.5);
}

/* --- Host Bar --- */
.m4-desktop .host-bar {
    background: rgba(15,23,42,0.6) !important;
    border: 1px dashed rgba(96,165,250,0.22) !important;
    border-radius: 16px !important;
    padding: 12px 16px !important;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}
.m4-desktop .host-btn {
    background: rgba(255,255,255,0.08) !important;
    color: #e2e8f0 !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 10px !important;
    padding: 7px 14px !important;
    font-size: 12px !important;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background 0.15s, transform 0.15s;
}
.m4-desktop .host-btn:hover:not(:disabled) {
    background: rgba(255,255,255,0.14) !important;
    transform: translateY(-1px);
}
.m4-desktop .host-btn.danger {
    background: rgba(220,38,38,0.15) !important;
    color: #fca5a5 !important;
    border-color: rgba(220,38,38,0.3) !important;
}
.m4-host-btn {
    background: rgba(255,255,255,0.09);
    color: #e2e8f0;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 10px;
    padding: 8px 12px;
    font-size: 11px;
    font-weight: 600;
    transition: background 0.15s;
}
.m4-host-btn:hover { background: rgba(255,255,255,0.16); }
.m4-host-btn--danger {
    background: rgba(220,38,38,0.15) !important;
    color: #fca5a5 !important;
    border-color: rgba(220,38,38,0.3) !important;
}

/* --- Side Panel --- */
.m4-desktop .side-panel {
    background: rgba(15,23,42,0.88) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 18px !important;
    overflow: hidden;
}
.m4-desktop .panel-tabs {
    background: rgba(0,0,0,0.3) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 0 !important;
    padding: 0 !important;
    display: flex !important;
    gap: 0 !important;
}
.m4-desktop .panel-tabs button.p-tab {
    flex: 1 !important;
    padding: 11px 8px !important;
    font-size: 12px;
    color: #64748b;
    font-weight: 600;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    transition: color 0.15s, border-color 0.15s;
    background: transparent !important;
}
.m4-desktop .panel-tabs button.p-tab.active {
    color: #60a5fa !important;
    border-bottom-color: #60a5fa !important;
    background: rgba(96,165,250,0.07) !important;
}
.m4-desktop .p-row {
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.07) !important;
    border-radius: 10px !important;
    transition: background 0.15s;
}
.m4-desktop .p-row:hover {
    background: rgba(255,255,255,0.09) !important;
}
.m4-desktop .p-nm { color: #e2e8f0 !important; }
.m4-desktop .p-sub { color: #64748b !important; }
.m4-desktop .av-sm { background: linear-gradient(135deg, #2563eb, #1d4ed8) !important; }

/* --- Chat list in side panel --- */
.m4-desktop .side-chat-list {
    background: rgba(0,0,0,0.38) !important;
    border: 1px solid rgba(255,255,255,0.07) !important;
    border-radius: 12px;
    padding: 10px;
    min-height: 140px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(100,116,139,0.2) transparent;
}
.m4-desktop .side-chat-message {
    background: rgba(30,41,59,0.8) !important;
    border: 1px solid rgba(255,255,255,0.07) !important;
    border-radius: 10px;
    padding: 8px 10px;
    animation: lv-slide-up 0.25s ease both;
}
.m4-desktop .side-chat-message__name { color: #93c5fd !important; }
.m4-desktop .side-chat-message__time { color: #475569 !important; }
.m4-desktop .side-chat-message__body { color: #cbd5e1 !important; }
.m4-desktop .side-chat-composer__input {
    background: rgba(15,23,42,0.7) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    color: #f1f5f9 !important;
    border-radius: 10px;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.m4-desktop .side-chat-composer__input:focus {
    border-color: #60a5fa !important;
    box-shadow: 0 0 0 3px rgba(96,165,250,0.15);
    outline: none;
}
.m4-desktop .side-chat-composer__send {
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    transition: transform 0.15s, box-shadow 0.15s;
}
.m4-desktop .side-chat-composer__send:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(37,99,235,0.4);
}

/* --- Live Room Shell (overall container) --- */
.m4-desktop .live-room-shell,
.m5-desktop .live-room-shell {
    background: #0e1623;
    border-radius: 24px;
    padding: 18px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.4);
    animation: lv-fade-in 0.35s ease both;
}
.m4-desktop .live-room-grid,
.m5-desktop .live-room-grid {
    background: transparent;
    border-radius: 0;
    padding: 0;
}

/* --- Mobile M4 Controls --- */
.m4-live-room {
    background: #0e1623 !important;
    border-radius: 20px;
    padding: 14px;
    color: #e6edf3;
}
.m4-top-bar {
    background: rgba(22,27,34,0.92) !important;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 16px !important;
}
.m4-live-badge {
    background: linear-gradient(135deg, #ef4444, #b91c1c) !important;
    animation: lv-pulse-ring 2s ease infinite;
}
.m4-end-btn {
    background: linear-gradient(135deg, #ef4444, #b91c1c) !important;
    box-shadow: 0 4px 12px rgba(220,38,38,0.35);
    border: none !important;
    transition: transform 0.15s;
}
.m4-end-btn:hover { transform: translateY(-1px); }
.m4-stage {
    background: linear-gradient(160deg, #0f172a, #1e3a5f) !important;
    border: 1px solid rgba(59,130,246,0.25) !important;
    border-radius: 18px !important;
    min-height: 240px;
}
.m4-controls {
    background: rgba(22,27,34,0.95) !important;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 16px !important;
}
.m4-ctrl-icon {
    background: rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    color: #f1f5f9 !important;
    border-radius: 50%;
    transition: transform 0.15s, background 0.15s;
}
.m4-ctrl-icon:not(:disabled):hover { transform: scale(1.08); }
.m4-ctrl-icon.is-muted {
    background: linear-gradient(135deg, #ef4444, #b91c1c) !important;
    border-color: rgba(239,68,68,0.5) !important;
}
.m4-ctrl-icon.is-active {
    background: linear-gradient(135deg, #059669, #065f46) !important;
    border-color: rgba(5,150,105,0.5) !important;
}
.m4-side-card {
    background: rgba(22,27,34,0.88) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 16px !important;
}
.m4-side-title { color: #f1f5f9 !important; }
.m4-side-sub { color: #64748b !important; }
.m4-btn-row button, .m4-btn-row a {
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.15s, box-shadow 0.15s;
}
.m4-btn-row button:hover:not(:disabled), .m4-btn-row a:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(37,99,235,0.4);
}
.m4-btn-row button.outline, .m4-btn-row a.outline {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    color: #e2e8f0 !important;
    box-shadow: none !important;
}

/* --- Mobile M5 (Student) --- */
.m5-live-room {
    background: #0e1623 !important;
    border-radius: 20px;
    padding: 14px;
    color: #e6edf3;
}
.m5-top-bar {
    background: rgba(22,27,34,0.92) !important;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 14px !important;
}
.m5-badge {
    background: linear-gradient(135deg, #ef4444, #b91c1c) !important;
    animation: lv-pulse-ring 2s ease infinite;
}
.m5-leave-btn {
    background: rgba(220,38,38,0.15) !important;
    color: #fca5a5 !important;
    border: 1px solid rgba(220,38,38,0.3) !important;
    border-radius: 8px;
    font-weight: 700;
    transition: background 0.15s;
}
.m5-leave-btn:hover { background: rgba(220,38,38,0.25) !important; }
.m5-join-cta {
    background: rgba(22,27,34,0.88) !important;
    border: 1px solid rgba(59,130,246,0.2) !important;
    border-radius: 16px !important;
    padding: 14px 16px;
}
.m5-join-btn {
    background: linear-gradient(135deg, #2f81f7, #1d6eef) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    box-shadow: 0 4px 14px rgba(47,129,247,0.4);
    transition: transform 0.15s, box-shadow 0.15s;
}
.m5-join-btn:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(47,129,247,0.5);
}
.m5-stage {
    background: linear-gradient(160deg, #0a1628, #1a3359) !important;
    border: 2px solid rgba(59,130,246,0.3) !important;
    border-radius: 18px !important;
    min-height: 220px;
    box-shadow: inset 0 0 40px rgba(59,130,246,0.04);
}
.m5-controls {
    background: rgba(22,27,34,0.95) !important;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 16px !important;
}
.m5-ctrl-icon {
    background: rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    color: #f1f5f9 !important;
    transition: transform 0.15s, background 0.15s;
}
.m5-ctrl-icon:not(:disabled):hover { transform: scale(1.08); }
.m5-ctrl-icon.muted {
    background: linear-gradient(135deg, #ef4444, #b91c1c) !important;
    border-color: rgba(239,68,68,0.5) !important;
}
.m5-ctrl-icon.is-active {
    background: linear-gradient(135deg, #059669, #065f46) !important;
    border-color: rgba(5,150,105,0.5) !important;
}
.m5-ctrl-icon.raised {
    background: linear-gradient(135deg, #f97316, #ea580c) !important;
    border-color: rgba(249,115,22,0.5) !important;
    animation: lv-pulse-ring 1.5s ease infinite;
}
.m5-reactions {
    background: rgba(22,27,34,0.88) !important;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 999px;
}
.m5-reactions button {
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: 20px;
    transition: transform 0.15s;
    padding: 0;
}
.m5-reactions button:hover { transform: scale(1.4); }

/* --- M5 desktop chat --- */
.m5-desktop .chat-panel {
    background: rgba(15,23,42,0.9) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 16px !important;
    overflow: hidden;
}
.m5-desktop .chat-header {
    background: rgba(0,0,0,0.3);
    padding: 12px 16px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.m5-desktop .chat-title { color: #f1f5f9 !important; font-weight: 700; }
.m5-desktop .new-badge {
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    border-radius: 6px;
}
.m5-desktop .messages {
    background: transparent !important;
    flex: 1;
    padding: 12px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    scrollbar-width: thin;
    scrollbar-color: rgba(100,116,139,0.2) transparent;
}
.m5-desktop .msg { animation: lv-slide-up 0.25s ease both; }
.m5-desktop .av-sm {
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    color: #fff !important;
}
.m5-desktop .bubble {
    background: rgba(30,41,59,0.8) !important;
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px 10px 10px 3px;
}
.m5-desktop .bubble.teacher {
    background: rgba(37,99,235,0.3) !important;
    border-color: rgba(96,165,250,0.25);
    border-radius: 10px 10px 3px 10px;
}
.m5-desktop .b-name { color: #64748b !important; }
.m5-desktop .b-text { color: #e2e8f0 !important; }
.m5-desktop .b-time { color: #475569 !important; }
.m5-desktop .sys-msg {
    color: #64748b !important;
    background: rgba(255,255,255,0.04) !important;
    border-radius: 8px;
    padding: 5px 10px;
    align-self: center;
    text-align: center;
}
.m5-desktop .input-row {
    padding: 10px 12px;
    border-top: 1px solid rgba(255,255,255,0.08);
    display: flex;
    gap: 6px;
    align-items: center;
}
.m5-desktop .chat-input {
    background: rgba(15,23,42,0.7) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    color: #e2e8f0 !important;
    border-radius: 20px;
    padding: 7px 14px;
    font-size: 12px;
    transition: border-color 0.2s, box-shadow 0.2s;
    font-family: var(--nahj-font);
    outline: none;
}
.m5-desktop .chat-input:focus {
    border-color: #60a5fa !important;
    box-shadow: 0 0 0 3px rgba(96,165,250,0.15);
}
.m5-desktop .send-btn {
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    border-radius: 50% !important;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    color: #fff;
    cursor: pointer;
    transition: transform 0.15s;
}
.m5-desktop .send-btn:hover:not(:disabled) { transform: scale(1.1); }

/* --- Live Modal (dialog) --- */
.live-modal-backdrop {
    backdrop-filter: blur(6px) !important;
    background: rgba(10,16,32,0.72) !important;
    animation: lv-fade-in 0.2s ease both;
}
.live-modal {
    background: #fff !important;
    border-radius: 20px !important;
    box-shadow: 0 30px 80px rgba(10,16,32,0.45) !important;
    animation: lv-pop 0.3s ease both;
}
.live-modal__header {
    background: linear-gradient(135deg, #f8fafc, #f1f5f9) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
}
.live-modal__btn {
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    transition: transform 0.15s, box-shadow 0.15s;
}
.live-modal__btn:hover:not(:disabled) {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(37,99,235,0.35) !important;
}
.live-modal__btn.outline {
    background: #fff !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: none !important;
}

/* --- Management Panel header --- */
.live-manage-panel__head {
    background: linear-gradient(135deg, #0f172a, #1e293b) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
.live-manage-panel__title { color: #f1f5f9 !important; font-weight: 800 !important; }
.live-manage-panel__close {
    background: rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    color: #e2e8f0 !important;
    border-radius: 10px !important;
    transition: background 0.15s !important;
}
.live-manage-panel__close:hover { background: rgba(255,255,255,0.2) !important; }

/* --- Student live session page --- */
.student-live-session { animation: lv-fade-in 0.35s ease both; }
.student-live-session__header {
    background: linear-gradient(135deg, #0f172a, #1e3a5f);
    border-radius: 20px;
    margin-bottom: 1.2rem;
    box-shadow: 0 8px 28px rgba(15,23,42,0.22);
    padding: 1.2rem 1.4rem;
    color: #f1f5f9;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
}
.student-live-session__title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #f1f5f9 !important;
}
.student-live-session__subtitle { color: #94a3b8; }
.student-live-session__card {
    background: #fff;
    border: 1px solid var(--nahj-border);
    border-radius: 18px;
    padding: 1.2rem 1.4rem;
    box-shadow: 0 8px 24px rgba(15,24,47,0.07);
    margin-bottom: 1rem;
}
.student-live-session__card--upcoming {
    background: linear-gradient(135deg, rgba(37,99,235,0.05), rgba(14,165,233,0.03));
    border-color: rgba(59,130,246,0.25);
}
.student-live-session__countdown {
    font-size: 2.1rem;
    font-weight: 800;
    color: #2563eb;
    font-variant-numeric: tabular-nums;
    letter-spacing: -1px;
    margin: 0.6rem 0;
}
.student-live-session__recording-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0.9rem;
    background: #f8fafc;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    gap: 0.75rem;
    transition: background 0.15s, transform 0.15s;
}
.student-live-session__recording-item:hover {
    background: #f0f6ff;
    transform: translateX(2px);
    border-color: rgba(59,130,246,0.3);
}
.badge-status--success { background: #dcfce7; color: #16a34a; }
.badge-status--warning { background: #fef3c7; color: #d97706; }
.badge-status--muted   { background: #f1f5f9; color: #64748b; }

/* --- Post-session Summary --- */
.m9-banner, .m10-banner {
    background: linear-gradient(135deg, #065f46, #059669) !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 24px rgba(5,150,105,0.3);
    animation: lv-pop 0.4s ease both;
}
.m9-stat {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 14px !important;
    transition: transform 0.2s;
}
.m9-stat:hover { transform: translateY(-2px); }
.m9-option {
    border: 1.5px solid rgba(255,255,255,0.1) !important;
    border-radius: 10px;
    transition: border-color 0.15s, background 0.15s;
}
.m9-option.active {
    border-color: #3b82f6 !important;
    background: rgba(59,130,246,0.1) !important;
}

/* --- Global Scrollbar --- */
.m4-desktop *::-webkit-scrollbar,
.m5-desktop *::-webkit-scrollbar { width: 5px; height: 5px; }
.m4-desktop *::-webkit-scrollbar-track,
.m5-desktop *::-webkit-scrollbar-track { background: transparent; }
.m4-desktop *::-webkit-scrollbar-thumb,
.m5-desktop *::-webkit-scrollbar-thumb { background: rgba(100,116,139,0.3); border-radius: 999px; }
.m4-desktop *::-webkit-scrollbar-thumb:hover,
.m5-desktop *::-webkit-scrollbar-thumb:hover { background: rgba(100,116,139,0.5); }

/* --- Mobile breakpoints polish --- */
@media (max-width: 767px) {
    .m4-live-room, .m5-live-room { border-radius: 14px; padding: 10px; }
    .m4-stage, .m5-stage { border-radius: 14px; min-height: 180px; }
    .m4-controls, .m5-controls { border-radius: 12px; }
    .m4-top-bar, .m5-top-bar { border-radius: 12px; }
}

.form-grid__wide { grid-column: 1 / -1; }
.lesson-preview__meta,
.student-content-viewer__learning-meta { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0; }
.lesson-preview__meta span,
.student-content-viewer__learning-meta span {
    padding: .35rem .7rem; border: 1px solid #dbe5f0; border-radius: 999px;
    background: #f8fafc; color: #334155; font-size: .85rem; font-weight: 600;
}
.learning-objective-callout {
    display: grid; gap: .3rem; margin: 1rem 0; padding: 1rem 1.1rem;
    border-inline-start: 4px solid #0ea5e9; border-radius: .75rem;
    background: linear-gradient(135deg, #f0f9ff, #f8fafc); color: #0f172a;
}
.student-content-viewer__transcript {
    margin: 1rem 0; border: 1px solid #dbe5f0; border-radius: .75rem; background: #fff;
}
.student-content-viewer__transcript summary {
    cursor: pointer; padding: .85rem 1rem; color: #0f4c81; font-weight: 700;
}
.student-content-viewer__transcript-body {
    padding: 0 1rem 1rem; color: #334155; line-height: 1.9; white-space: pre-wrap;
}
.builder-unit-editor { display: grid; gap: .5rem; width: min(520px, 70vw); }
.builder-unit__instructional-meta {
    display: flex; flex-wrap: wrap; gap: .6rem 1.25rem; padding: .7rem 1rem;
    border-block-start: 1px solid #edf2f7; color: #475569; font-size: .88rem;
}
.builder-lesson-title { display: grid; gap: .15rem; }
.builder-lesson-title small,
.student-course-home__lesson-meta { color: #64748b; font-size: .78rem; }
@media (max-width: 768px) {
    .builder-unit-editor { width: 100%; }
    .student-course-home__lesson-meta { display: none; }
}

