/* WebAsha CRM UI alignment layer.
   Uses only existing CRM variables/components and fixes spacing globally. */

:root {
    --crm-ui-surface: var(--color-white, #fff);
    --crm-ui-bg: var(--contents-bg, #f4f5f7);
    --crm-ui-text: var(--color-dark, #0a0a0a);
    --crm-ui-muted: var(--body-color, #666d92);
    --crm-ui-border: var(--border-light, #e3e6ef);
    --crm-ui-soft: var(--color-lighter, #f8f9fb);
    --crm-ui-active-bg: rgba(var(--color-primary-rgba, 130, 49, 211), .10);
    --crm-ui-active-border: var(--color-primary, #8231d3);
    --crm-ui-radius: var(--border-radius-md, 6px);
    --crm-ui-radius-lg: var(--border-radius-xl, 10px);
    --crm-ui-shadow: 0 10px 28px rgba(146, 153, 184, .14);
}

.trainer-workspace-card,
.trainer-batch-card,
.trainer-action-card,
.trainer-quick-bar,
.student-hero-card,
.student-action-card,
.student-batch-card,
.student-quick-bar,
.student-tab-panel,
.student-task-card,
.student-metric-panel {
    border: 1px solid var(--crm-ui-border);
}

.trainer-schedule-row,
.trainer-list-row,
.student-list-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--crm-ui-border);
}

.trainer-schedule-row:last-child,
.trainer-list-row:last-child,
.student-list-row:last-child {
    border-bottom: 0;
}

.trainer-schedule-row__time {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 104px;
    height: 40px;
    padding: 0 12px;
    border-radius: 8px;
    background: var(--crm-ui-soft);
    color: var(--crm-ui-text);
    font-weight: 700;
    white-space: nowrap;
}

.trainer-schedule-row__main,
.trainer-list-row > div {
    min-width: 0;
    flex: 1;
}

.trainer-action-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 96px;
    padding: 18px;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.trainer-action-card:hover,
.trainer-action-card:focus,
.student-action-card:hover,
.student-action-card:focus {
    border-color: var(--color-primary);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .10);
    transform: translateY(-2px);
    text-decoration: none;
}

.trainer-action-card strong,
.student-action-card strong {
    display: block;
    font-size: 22px;
    line-height: 1;
}

.trainer-action-card small,
.student-action-card small {
    display: block;
    margin-top: 6px;
}

.trainer-quick-bar,
.student-quick-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 20px;
}

.trainer-batch-card,
.student-batch-card,
.student-metric-panel {
    padding: 20px;
}

.trainer-batch-card__meta,
.trainer-progress-pair,
.student-batch-card__meta,
.student-progress-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    color: var(--crm-ui-muted);
    font-size: 13px;
}

.trainer-batch-card__meta span,
.trainer-progress-pair span,
.student-batch-card__meta span,
.student-progress-pair span,
.student-chip-grid span {
    min-width: 0;
    padding: 9px 10px;
    border-radius: 8px;
    background: var(--crm-ui-soft);
}

.student-hero-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    gap: 22px;
    padding: 24px;
}

.student-hero-card__main,
.student-hero-card__next {
    min-width: 0;
}

.student-hero-card__next {
    align-self: stretch;
    padding: 18px;
    border: 1px solid var(--crm-ui-border);
    border-radius: var(--crm-ui-radius-lg);
    background: var(--crm-ui-soft);
}

.student-hero-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    color: var(--crm-ui-muted);
}

.student-hero-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.student-action-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 92px;
    padding: 16px;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.student-tab-stack {
    display: grid;
    gap: 18px;
}

.student-tab-panel {
    padding: 18px;
    border-radius: var(--crm-ui-radius-lg);
    background: var(--crm-ui-surface);
}

.student-tab-panel__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    color: var(--crm-ui-text);
    font-weight: 700;
}

.student-batch-card__meta {
    grid-template-columns: 1fr;
    margin-bottom: 10px;
}

.student-list-row > div {
    min-width: 0;
    flex: 1;
}

.student-list-row__time {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    height: 36px;
    padding: 0 10px;
    border-radius: 8px;
    background: var(--crm-ui-soft);
    color: var(--crm-ui-text);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.student-task-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 0;
    border-width: 0 0 1px;
    border-color: var(--crm-ui-border);
    border-radius: 0;
}

.student-task-card:last-child {
    border-bottom: 0;
}

.student-task-card > div:first-child {
    min-width: 0;
}

.student-metric-panel__value {
    display: block;
    margin-bottom: 8px;
    font-size: 30px;
    line-height: 1;
}

.student-chip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.student-chip-grid span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--crm-ui-muted);
    font-size: 12px;
}

.academic-calendar-page .academic-panel,
.academic-stat-card,
.academic-batch-card,
.academic-session-block {
    border: 1px solid var(--crm-ui-border);
}

.academic-side-stack {
    display: grid;
    gap: 18px;
}

.academic-panel {
    padding: 20px;
}

.academic-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.academic-current-session,
.academic-next-session,
.academic-session-remarks {
    padding: 14px;
    border-radius: var(--crm-ui-radius-lg);
    background: var(--crm-ui-soft);
}

.academic-next-session {
    margin-top: 12px;
}

.academic-batch-list {
    display: grid;
    gap: 10px;
}

.academic-batch-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    border-radius: var(--crm-ui-radius-lg);
    color: inherit;
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.academic-batch-card:hover,
.academic-batch-card.is-active {
    border-color: var(--color-primary);
    box-shadow: var(--crm-ui-shadow);
    text-decoration: none;
    transform: translateY(-1px);
}

.academic-load-more {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--crm-ui-border);
}

.academic-load-more__button {
    min-width: 116px;
}

.academic-load-more__button .academic-load-more__loading {
    display: none;
}

.academic-load-more__button.is-loading {
    pointer-events: none;
    opacity: .82;
}

.academic-load-more__button.is-loading .academic-load-more__label {
    display: none;
}

.academic-load-more__button.is-loading .academic-load-more__loading {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.crm-button-spinner {
    display: inline-block;
    width: 13px;
    height: 13px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: crm-spin .7s linear infinite;
}

@keyframes crm-spin {
    to {
        transform: rotate(360deg);
    }
}

.academic-stat-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 88px;
    padding: 18px;
}

.academic-stat-card strong {
    display: block;
    font-size: 22px;
    line-height: 1;
}

.academic-stat-card small {
    display: block;
    margin-top: 6px;
}

.academic-filter-bar {
    display: grid;
    grid-template-columns: repeat(6, minmax(120px, 1fr)) auto;
    gap: 10px;
    align-items: end;
}

.academic-filter-field {
    display: grid;
    gap: 6px;
    min-width: 0;
    margin: 0;
}

.academic-filter-field span {
    color: var(--crm-ui-muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

.academic-filter-field .form-control {
    width: 100%;
}

.academic-filter-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: max-content;
}

.academic-quick-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.academic-quick-filters .btn.active {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: var(--crm-ui-active-bg);
}

.academic-status-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    color: var(--crm-ui-muted);
    font-size: 12px;
}

.academic-status-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.academic-status-legend i {
    width: 8px;
    height: 8px;
    border-radius: 999px;
}

.academic-calendar-board {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 14px;
}

.academic-day-column {
    min-height: 220px;
    padding: 12px;
    border: 1px solid var(--crm-ui-border);
    border-radius: var(--crm-ui-radius-lg);
    background: var(--crm-ui-soft);
}

.academic-day-column__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
    color: var(--crm-ui-text);
}

.academic-day-column__header span {
    color: var(--crm-ui-muted);
    font-size: 12px;
}

.academic-session-block {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    padding: 12px;
    border-left-width: 4px;
    border-radius: var(--crm-ui-radius);
    background: var(--crm-ui-surface);
    color: inherit;
    text-align: left;
    transition: box-shadow .18s ease, transform .18s ease;
}

.academic-session-block:hover,
.academic-session-block:focus {
    box-shadow: var(--crm-ui-shadow);
    transform: translateY(-1px);
}

.academic-session-block h6 {
    margin: 8px 0 4px;
    color: var(--crm-ui-text);
    font-weight: 700;
}

.academic-session-block p,
.academic-session-block small {
    display: block;
    margin: 0;
    color: var(--crm-ui-muted);
}

.academic-session-block--success {
    border-left-color: var(--color-success, #01b81a);
}

.academic-session-block--info {
    border-left-color: var(--color-info, #00a8ff);
}

.academic-session-block--warning {
    border-left-color: var(--color-warning, #fa8b0c);
}

.academic-session-block--danger {
    border-left-color: var(--color-danger, #ff0f0f);
}

.academic-session-block--light {
    border-left-color: var(--crm-ui-muted);
}

.academic-batch-event {
    cursor: default;
}

.academic-batch-event__meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: 10px;
}

.academic-batch-event__meta span {
    min-width: 0;
    padding: 7px 8px;
    border-radius: 7px;
    background: var(--crm-ui-soft);
    color: var(--crm-ui-muted);
    font-size: 11px;
    font-weight: 700;
}

.academic-batch-event__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.academic-attendance-pill {
    display: inline-flex;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 700;
}

.academic-timeline {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.academic-timeline__item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 10px;
    border-radius: 999px;
    background: var(--crm-ui-soft);
    font-size: 12px;
    font-weight: 700;
}

.academic-live-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--crm-ui-border);
}

.academic-live-row:last-child {
    border-bottom: 0;
}

.academic-report-grid,
.academic-detail-list {
    display: grid;
    gap: 10px;
}

.academic-report-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.academic-report-grid span,
.academic-detail-list span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: var(--crm-ui-radius);
    background: var(--crm-ui-soft);
    color: var(--crm-ui-muted);
}

.academic-report-grid strong,
.academic-detail-list strong {
    color: var(--crm-ui-text);
}

.trainer-compact-table th,
.trainer-compact-table td {
    padding: 10px 18px;
    vertical-align: middle;
}

@media (max-width: 767.98px) {
    .trainer-schedule-row,
    .trainer-list-row,
    .trainer-quick-bar,
    .student-list-row,
    .student-quick-bar,
    .student-task-card {
        align-items: stretch;
        flex-direction: column;
    }

    .trainer-schedule-row__time,
    .student-list-row__time {
        width: 100%;
    }

    .trainer-batch-card__meta,
    .trainer-progress-pair,
    .student-progress-pair {
        grid-template-columns: 1fr;
    }

    .trainer-list-row .ms-auto,
    .student-list-row .ms-auto {
        margin-left: 0 !important;
    }

    .student-hero-card {
        grid-template-columns: 1fr;
    }

    .academic-panel__header,
    .academic-live-row {
        align-items: stretch;
        flex-direction: column;
    }

    .academic-filter-bar,
    .academic-report-grid {
        grid-template-columns: 1fr;
    }

    .academic-filter-actions {
        align-items: stretch;
        flex-direction: column;
        min-width: 0;
    }

    .academic-filter-actions .btn {
        width: 100%;
    }

    .academic-load-more {
        align-items: stretch;
        flex-direction: column;
    }

    .academic-load-more__button {
        width: 100%;
    }

    .academic-batch-event__meta {
        grid-template-columns: 1fr;
    }

    .academic-live-row .ms-auto {
        margin-left: 0 !important;
    }
}

.crm-lead-history-card {
    overflow: hidden;
}

.crm-lead-history-header__icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(130, 49, 211, .12);
    color: var(--crm-ui-primary, #8231d3);
    font-size: 22px;
}

.crm-lead-inline-note {
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 8px;
    background: var(--crm-ui-surface, #fff);
    box-shadow: 0 4px 14px rgba(15, 23, 42, .03);
    padding: 18px;
}

.crm-lead-inline-note__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 16px;
    align-items: start;
}

.crm-lead-inline-note textarea,
.crm-lead-inline-edit textarea {
    resize: vertical;
}

.crm-lead-inline-note textarea {
    min-height: 92px;
}

.crm-lead-inline-note__side {
    display: grid;
    gap: 10px;
}

.crm-lead-inline-note__type,
.crm-lead-filter-type {
    width: 220px;
    max-width: 100%;
}

.crm-lead-inline-note__side .crm-lead-inline-note__type {
    width: 100%;
}

.crm-lead-filter-search {
    width: 320px;
    max-width: 100%;
    padding-left: 42px;
}

.crm-lead-filter-search-wrap {
    position: relative;
}

.crm-lead-filter-search-wrap i {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--crm-ui-muted, #6b7280);
    z-index: 1;
}

.crm-lead-filter-date {
    width: 210px;
    max-width: 100%;
}

.crm-lead-compact-timeline {
    position: relative;
}

.crm-lead-compact-item {
    position: relative;
    display: flex;
    gap: 18px;
    padding: 0 0 16px;
}

.crm-lead-compact-item::before {
    content: "";
    position: absolute;
    left: 7px;
    top: 18px;
    bottom: 0;
    width: 1px;
    background: var(--crm-ui-border, #e4e8f0);
}

.crm-lead-compact-item:last-of-type::before {
    display: none;
}

.crm-lead-compact-dot {
    position: relative;
    z-index: 1;
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    margin-top: 4px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #8c90a4;
    box-shadow: 0 0 0 1px var(--crm-ui-border, #e4e8f0);
}

.crm-lead-compact-dot.is-call {
    background: #0d8fff;
}

.crm-lead-compact-dot.is-whatsapp {
    background: #00b894;
}

.crm-lead-compact-dot.is-demo {
    background: #fa8b0c;
}

.crm-lead-compact-dot.is-email {
    background: #00a8ff;
}

.crm-lead-compact-dot.is-payment {
    background: #10b981;
}

.crm-lead-compact-dot.is-scholarship {
    background: #8231d3;
}

.crm-lead-compact-dot.is-admission {
    background: #14b8a6;
}

.crm-lead-compact-dot.is-followup {
    background: #fa8b0c;
}

.crm-lead-compact-dot.is-general {
    background: #8c90a4;
}

.crm-lead-compact-body {
    flex: 1;
}

.crm-lead-compact-card {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) minmax(220px, auto);
    gap: 16px;
    align-items: center;
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 8px;
    background: var(--crm-ui-surface, #fff);
    box-shadow: 0 4px 14px rgba(15, 23, 42, .035);
    padding: 16px 18px;
}

.crm-lead-compact-icon {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 22px;
    background: rgba(140, 144, 164, .12);
    color: #8c90a4;
}

.crm-lead-compact-icon.is-call {
    background: rgba(13, 143, 255, .12);
    color: #0d8fff;
}

.crm-lead-compact-main h6.is-call {
    color: #0d8fff;
}

.crm-lead-compact-icon.is-whatsapp {
    background: rgba(0, 184, 148, .12);
    color: #00b894;
}

.crm-lead-compact-main h6.is-whatsapp {
    color: #00b894;
}

.crm-lead-compact-icon.is-demo,
.crm-lead-compact-icon.is-followup {
    background: rgba(250, 139, 12, .12);
    color: #fa8b0c;
}

.crm-lead-compact-main h6.is-demo,
.crm-lead-compact-main h6.is-followup {
    color: #fa8b0c;
}

.crm-lead-compact-icon.is-email {
    background: rgba(0, 168, 255, .12);
    color: #00a8ff;
}

.crm-lead-compact-main h6.is-email {
    color: #00a8ff;
}

.crm-lead-compact-icon.is-payment {
    background: rgba(16, 185, 129, .12);
    color: #10b981;
}

.crm-lead-compact-main h6.is-payment {
    color: #10b981;
}

.crm-lead-compact-icon.is-scholarship {
    background: rgba(130, 49, 211, .12);
    color: var(--crm-ui-primary, #8231d3);
}

.crm-lead-compact-main h6.is-scholarship {
    color: var(--crm-ui-primary, #8231d3);
}

.crm-lead-compact-icon.is-admission {
    background: rgba(20, 184, 166, .12);
    color: #14b8a6;
}

.crm-lead-compact-main h6.is-admission {
    color: #14b8a6;
}

.crm-lead-compact-icon.is-general {
    background: rgba(140, 144, 164, .12);
    color: #5f6680;
}

.crm-lead-compact-main h6.is-general {
    color: #5f6680;
}

.crm-lead-compact-text {
    white-space: pre-line;
}

.crm-lead-source-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--crm-ui-soft, #f1f3f7);
    color: var(--crm-ui-muted, #5f6680);
    font-size: 12px;
    font-weight: 600;
}

.crm-lead-compact-meta {
    display: grid;
    gap: 10px;
    color: var(--crm-ui-muted, #5f6680);
    font-size: 13px;
}

.crm-lead-compact-meta span {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.crm-lead-compact-actions .btn,
.crm-lead-inline-edit .btn {
    min-height: 32px;
    padding: 0 12px;
}

.crm-lead-compact-actions {
    margin: 10px 0 0 74px;
}

.crm-lead-inline-edit {
    margin-left: 74px;
}

.crm-lead-timeline-empty {
    border: 1px dashed var(--crm-ui-border, #d6dceb);
    border-radius: 12px;
    padding: 42px 20px;
}

.crm-lead-timeline-empty__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(130, 49, 211, .1);
    color: var(--crm-ui-primary, #8231d3);
    font-size: 24px;
}

@media (max-width: 575.98px) {
    .crm-lead-inline-note__grid,
    .crm-lead-compact-card {
        grid-template-columns: 1fr;
    }

    .crm-lead-compact-meta span {
        white-space: normal;
    }

    .crm-lead-compact-actions,
    .crm-lead-inline-edit {
        margin-left: 0;
    }

    .crm-lead-inline-note__type,
    .crm-lead-filter-type,
    .crm-lead-filter-search,
    .crm-lead-filter-date,
    .crm-lead-inline-note .btn,
    .crm-lead-timeline-filter .btn,
    .crm-lead-inline-edit .btn {
        width: 100%;
    }
}

.admin-command-card {
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.admin-operation-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.admin-operation-card,
.admin-mini-card,
.admin-list-row,
.admin-activity-row,
.admin-pipeline-stage {
    color: inherit;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.admin-operation-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 92px;
    padding: 16px;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: 10px;
    background: var(--crm-ui-card, #fff);
}

.admin-operation-card:hover,
.admin-mini-card:hover,
.admin-list-row:hover,
.admin-activity-row:hover,
.admin-pipeline-stage:hover {
    color: inherit;
    border-color: rgba(130, 49, 211, 0.28);
    background: rgba(130, 49, 211, 0.04);
    transform: translateY(-1px);
}

.admin-operation-card__body {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.admin-operation-card__body strong {
    font-size: 22px;
    line-height: 1.15;
}

.admin-operation-card__body em {
    color: var(--crm-ui-muted, #868eae);
    font-size: 12px;
    font-style: normal;
}

.admin-pipeline-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.admin-pipeline-stage {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 118px;
    padding: 14px;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: 10px;
    background: var(--crm-ui-card, #fff);
}

.admin-pipeline-stage strong {
    font-size: 26px;
    line-height: 1;
}

.admin-pipeline-progress {
    display: block;
    width: 100%;
    height: 4px;
    margin-top: auto;
    border-radius: 999px;
}

.admin-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-mini-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.admin-mini-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 118px;
    padding: 14px;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: 10px;
    background: var(--crm-ui-card, #fff);
}

.admin-mini-card strong {
    font-size: 20px;
    line-height: 1.1;
}

.admin-mini-card small,
.admin-list-row small,
.admin-activity-row small {
    color: var(--crm-ui-muted, #868eae);
}

.admin-list-row,
.admin-activity-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--crm-ui-border, #e3e6ef);
}

.admin-list-row:last-child,
.admin-activity-row:last-child {
    border-bottom: 0;
}

.admin-list-row span:not(.rounded-circle),
.admin-activity-row span:not(.rounded-circle) {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.admin-activity-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
}

.admin-activity-row em {
    white-space: nowrap;
    font-style: normal;
    font-size: 12px;
}

@media (max-width: 1199.98px) {
    .admin-operation-grid,
    .admin-pipeline-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-mini-grid,
    .admin-activity-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .admin-operation-grid,
    .admin-pipeline-strip {
        grid-template-columns: 1fr;
    }

    .admin-operation-card,
    .admin-list-row,
    .admin-activity-row {
        align-items: flex-start;
    }

    .admin-list-row,
    .admin-activity-row {
        flex-wrap: wrap;
    }

    .admin-list-row b,
    .admin-activity-row em {
        margin-left: 0 !important;
    }
}

.placement-tabs {
    margin-bottom: 24px;
}

.placement-action-center,
.placement-queue-card,
.placement-performance-card {
    border: 1px solid var(--crm-ui-border, #e3e6ef);
}

.placement-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 14px;
}

.placement-action-tile {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 86px;
    padding: 14px;
    color: inherit;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: 10px;
    background: var(--crm-ui-surface, #fff);
    transition: .2s ease;
}

.placement-action-tile:hover {
    color: inherit;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(146, 153, 184, .14);
}

.placement-action-tile span:last-child {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.placement-action-tile strong {
    font-size: 24px;
    line-height: 1;
}

.placement-compact-table th {
    font-size: 12px;
    text-transform: uppercase;
    color: var(--crm-ui-muted, #868eae);
    white-space: nowrap;
}

.placement-compact-table td {
    vertical-align: middle;
}

.placement-ready-row,
.placement-application-row,
.placement-queue-row,
.placement-alert-row,
.placement-activity-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--crm-ui-border, #e3e6ef);
}

.placement-ready-row:last-child,
.placement-application-row:last-child,
.placement-queue-row:last-child,
.placement-alert-row:last-child,
.placement-activity-row:last-child {
    border-bottom: 0;
}

.placement-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.placement-resume-review-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(112px, auto);
    align-items: center;
    gap: 12px;
}

.placement-resume-review-row__body {
    min-width: 0;
}

.placement-resume-review-row__body p,
.placement-resume-review-row__body small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.placement-resume-review-row__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    min-width: 112px;
}

.placement-resume-review-row__actions .media-badge {
    max-width: 100%;
}

.placement-resume-review-row__actions .btn {
    min-width: 92px;
    justify-content: center;
    margin: 0 !important;
}

.placement-workflow-card {
    padding: 20px 24px !important;
}

.placement-workflow-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--crm-ui-border, #e3e6ef);
}

.placement-workflow-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    padding-top: 16px;
}

.placement-workflow-step {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: var(--crm-card-radius, 8px);
    background: var(--crm-ui-soft, #f8f9fb);
}

.placement-workflow-step__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: rgba(var(--color-primary-rgba, 130, 49, 211), .12);
    color: var(--color-primary, #8231d3);
}

.placement-workflow-step strong,
.placement-workflow-step small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.placement-workflow-step strong {
    color: var(--crm-ui-text, #0f172a);
    font-size: 13px;
    font-weight: 800;
}

.placement-workflow-step small {
    margin-top: 2px;
    color: var(--crm-ui-muted, #64748b);
    font-size: 11px;
}

.placement-workflow-step.is-done {
    border-color: rgba(0, 200, 83, .28);
    background: rgba(0, 200, 83, .08);
}

.placement-workflow-step.is-done .placement-workflow-step__icon {
    background: var(--color-success, #00c853);
    color: #ffffff;
}

.placement-job-detail-page .row {
    row-gap: 0;
}

.placement-job-summary-card,
.placement-match-card {
    padding: 0 !important;
    overflow: hidden;
}

.placement-job-summary-card__inner {
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%;
    padding: 18px 20px;
}

.placement-job-summary-card__header {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 2px 0 14px;
    border-bottom: 1px solid var(--crm-ui-border, #e3e6ef);
}

.placement-job-summary-card__header h6 {
    font-size: 16px;
    line-height: 1.25;
}

.placement-job-summary-card__content {
    min-width: 0;
}

.placement-job-summary-card__eyebrow {
    display: block;
    margin-bottom: 3px;
    color: var(--crm-ui-muted, #64748b);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1.1;
    text-transform: uppercase;
}

.placement-job-summary-card__company {
    display: block;
    max-width: 100%;
    margin: 0;
    color: var(--crm-ui-muted, #64748b);
    font-size: 13px;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.placement-job-summary-card__icon {
    box-shadow: 0 10px 22px rgba(var(--color-primary-rgba, 130, 49, 211), .25);
}

.placement-job-detail-list {
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: var(--crm-card-radius, 8px);
    overflow: hidden;
    background: var(--crm-ui-soft, #f8f9fb);
}

.placement-job-detail-row {
    display: grid;
    grid-template-columns: minmax(90px, .85fr) minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    min-height: 40px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--crm-ui-border, #e3e6ef);
}

.placement-job-detail-row:last-child {
    border-bottom: 0;
}

.placement-job-detail-row span,
.placement-job-detail-row strong {
    line-height: 1.35;
}

.placement-job-detail-row strong {
    overflow-wrap: anywhere;
}

.placement-job-skill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 4px;
}

.placement-job-skill-empty {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 36px;
    padding: 9px 12px;
    border: 1px dashed var(--crm-ui-border, #e3e6ef);
    border-radius: var(--crm-card-radius, 8px);
    color: var(--crm-ui-muted, #64748b);
    font-size: 13px;
    line-height: 1.3;
}

.placement-match-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 72px;
    padding: 18px 24px;
    border-bottom: 1px solid var(--crm-ui-border, #e3e6ef);
}

.placement-match-card__header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.placement-match-table-wrap {
    padding: 0 12px 12px;
}

.placement-match-table {
    min-width: 680px;
    border-collapse: separate;
    border-spacing: 0;
}

.placement-match-table thead th {
    height: 44px;
    padding: 12px 14px !important;
    border-bottom: 1px solid var(--crm-ui-border, #e3e6ef) !important;
    background: var(--crm-table-head-bg, #f4f6fb) !important;
    color: var(--crm-ui-muted, #64748b) !important;
}

.placement-match-table tbody td {
    padding: 14px !important;
    border-bottom: 1px solid var(--crm-ui-border, #e3e6ef) !important;
    vertical-align: middle;
}

.placement-match-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.placement-match-select-cell {
    width: 46px;
    text-align: center;
    vertical-align: middle !important;
}

.placement-match-table .crm-checkbox-control {
    margin: 0 !important;
}

.placement-match-candidate {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-width: 0;
}

.placement-match-candidate__icon {
    box-shadow: 0 8px 18px rgba(0, 200, 83, .18);
}

.placement-match-table__text {
    max-width: 230px;
    overflow-wrap: anywhere;
}

html[data-theme="dark"] .placement-job-summary-card__header,
html[data-theme="dark"] .placement-match-card__header,
html[data-theme="dark"] .placement-job-detail-row,
body.layout-dark .placement-job-summary-card__header,
body.layout-dark .placement-match-card__header,
body.layout-dark .placement-job-detail-row {
    border-color: var(--crm-ui-border, #1f2937) !important;
}

html[data-theme="dark"] .placement-job-detail-list,
body.layout-dark .placement-job-detail-list {
    background: rgba(255, 255, 255, .035) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
}

html[data-theme="dark"] .placement-job-skill-empty,
body.layout-dark .placement-job-skill-empty {
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-muted, #94a3b8) !important;
}

.placement-application-row {
    justify-content: space-between;
}

.placement-queue-card {
    padding-top: 24px;
    padding-bottom: 20px;
}

.placement-mock-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 10px;
}

.placement-mock-summary span {
    display: flex;
    flex-direction: column;
    padding: 12px;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: 10px;
}

.placement-mock-summary strong {
    font-size: 22px;
    color: var(--crm-ui-text, #0f172a);
}

.placement-mock-summary small {
    color: var(--crm-ui-muted, #868eae);
}

.placement-alert-row {
    align-items: flex-start;
    flex-direction: column;
    color: inherit;
}

.placement-alert-row:hover {
    color: inherit;
}

.placement-performance-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
}

.placement-performance-card {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 15px;
    border-radius: 10px;
    background: var(--crm-ui-surface, #fff);
}

.placement-performance-card strong {
    font-size: 22px;
    line-height: 1;
}

.placement-activity-row {
    align-items: flex-start;
}

html[data-theme="dark"] .placement-workflow-card__header,
body.layout-dark .placement-workflow-card__header {
    border-color: var(--crm-ui-border, #1f2937) !important;
}

html[data-theme="dark"] .placement-workflow-step,
body.layout-dark .placement-workflow-step {
    background: rgba(255, 255, 255, .035) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
}

html[data-theme="dark"] .placement-workflow-step.is-done,
body.layout-dark .placement-workflow-step.is-done {
    background: rgba(0, 200, 83, .12) !important;
    border-color: rgba(0, 200, 83, .26) !important;
}

@media (max-width: 767.98px) {
    .placement-ready-row,
    .placement-application-row,
    .placement-queue-row,
    .placement-activity-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .placement-row-actions {
        justify-content: flex-start;
    }

    .placement-mock-summary {
        grid-template-columns: 1fr;
    }

    .placement-resume-review-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .placement-resume-review-row__actions {
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
        min-width: 0;
    }

    .placement-workflow-card {
        padding: 16px !important;
    }

    .placement-workflow-card__header {
        flex-direction: column;
    }

    .placement-workflow-card__header form,
    .placement-workflow-card__header .btn {
        width: 100%;
    }

    .placement-workflow-steps {
        grid-template-columns: 1fr;
    }

    .placement-job-summary-card__inner {
        padding: 16px;
    }

    .placement-match-card__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .placement-job-summary-card__header {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 10px;
    }

    .placement-job-summary-card__icon {
        width: 40px !important;
        height: 40px !important;
    }

    .placement-match-card__header {
        min-height: 0;
        padding: 16px 18px;
    }

    .placement-match-card__header-actions,
    .placement-match-card__header-actions .btn {
        width: 100%;
    }

    .placement-match-table-wrap {
        padding-inline: 0;
    }

    .placement-match-table {
        min-width: 620px;
    }
}

@media (max-width: 575.98px) {
    .placement-job-detail-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .placement-job-detail-row strong {
        text-align: left !important;
    }

    .placement-match-table {
        min-width: 560px;
    }
}

body {
    background: var(--crm-ui-bg);
}

/* Sidebar */
.sidebar {
    background: var(--sidebar-bg, #fff);
    border-right: 1px solid var(--crm-ui-border);
}

.sidebar .sidebar__menu-group {
    padding: 12px 10px 18px;
}

.sidebar .sidebar_nav,
.sidebar .sidebar_nav ul {
    margin: 0;
    padding: 0;
}

.sidebar .sidebar_nav li {
    margin: 2px 0;
}

.sidebar .sidebar_nav > li > a,
.sidebar .sidebar_nav li.has-child > a {
    position: relative;
    display: flex !important;
    align-items: center !important;
    min-height: 44px;
    gap: 12px;
    padding: 0 14px !important;
    border-radius: var(--crm-ui-radius-lg);
    color: var(--color-menu, #404040);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.25;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.sidebar .sidebar_nav > li > a:hover,
.sidebar .sidebar_nav li.has-child > a:hover {
    background: var(--crm-ui-soft);
    color: var(--color-menu-hover, var(--color-primary));
}

.sidebar .sidebar_nav > li > a.active,
.sidebar .sidebar_nav > li.open > a,
.sidebar .sidebar_nav li.has-child > a.active {
    background: var(--crm-ui-active-bg);
    color: var(--color-menu-active, var(--color-primary));
    box-shadow: inset 3px 0 0 var(--crm-ui-active-border);
}

.sidebar .sidebar_nav > li > a.active::before,
.sidebar .sidebar_nav > li.open > a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    bottom: 10px;
    width: 3px;
    border-radius: 999px;
    background: var(--crm-ui-active-border);
}

.sidebar .sidebar_nav .nav-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin: 0 !important;
    font-size: 18px;
    line-height: 1;
}

.sidebar .sidebar_nav .menu-text {
    display: block;
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar .sidebar_nav > li > a > span,
.sidebar .sidebar_nav li.has-child > a > span {
    line-height: 1;
}

.sidebar .sidebar_nav .toggle-icon {
    flex: 0 0 auto;
    margin-left: auto;
}

.sidebar .sidebar_nav > li > ul {
    padding: 6px 0 8px 34px !important;
}

.sidebar .sidebar_nav > li > ul > li > a,
.sidebar .sidebar_nav > li > ul > li.has-child > a,
.sidebar .sidebar_nav > li > ul ul > li > a {
    display: flex !important;
    align-items: center !important;
    min-height: 36px;
    padding: 0 12px !important;
    border-radius: var(--crm-ui-radius);
    color: var(--crm-ui-muted);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: background-color .2s ease, color .2s ease;
}

.sidebar .sidebar_nav .crm-sidebar-sub-label {
    display: block;
    margin: 14px 18px 6px 12px;
    color: var(--crm-text-muted, var(--crm-ui-muted));
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.2;
    text-transform: uppercase;
}

.sidebar .sidebar_nav > li > ul > li > a:hover,
.sidebar .sidebar_nav > li > ul > li > a.active,
.sidebar .sidebar_nav > li > ul > li.active > a,
.sidebar .sidebar_nav > li > ul ul > li > a:hover,
.sidebar .sidebar_nav > li > ul ul > li > a.active {
    background: var(--crm-ui-active-bg);
    color: var(--color-primary);
}

.sidebar.sidebar-collapse .sidebar_nav > li > a,
.sidebar-collapse .sidebar .sidebar_nav > li > a {
    justify-content: flex-start;
}

.sidebar.sidebar-collapse .sidebar_nav > li > a .nav-icon,
.sidebar-collapse .sidebar .sidebar_nav > li > a .nav-icon {
    margin-inline: 0 !important;
}

/* Header */
.navbar {
    min-height: 72px;
    border-bottom: 1px solid var(--crm-ui-border);
    background: var(--header-bg, #fff);
}

.navbar-left .logo-area,
.navbar-right__menu {
    display: flex;
    align-items: center;
}

.navbar-right__menu {
    gap: 6px;
}

.navbar,
.navbar-right,
.navbar-right__menu,
.navbar-right__menu > li,
.navbar-right__menu .dropdown-custom {
    overflow: visible !important;
}

.navbar-right,
.navbar-right__menu > li,
.navbar-right__menu .dropdown-custom {
    position: relative;
}

.navbar-right__menu > li > .dropdown-custom > .nav-item-toggle,
.navbar-right__menu > li > .nav-item-toggle,
.navbar-right__mobileAction a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 8px;
    border-radius: var(--crm-ui-radius-lg);
    color: var(--crm-ui-muted);
    cursor: pointer;
    pointer-events: auto !important;
    transition: background-color .2s ease, color .2s ease;
}

.navbar-right__menu > li > .dropdown-custom > .nav-item-toggle:hover,
.navbar-right__menu > li > .nav-item-toggle:hover {
    background: var(--crm-ui-soft);
    color: var(--color-primary);
}

.navbar-right__menu > li > .dropdown-custom.is-open > .nav-item-toggle,
.navbar-right__menu > li > .dropdown-custom.is-open > .nav-item-toggle:hover,
.navbar-right__mobileAction a:hover,
.navbar-right__mobileAction a.search-active,
.navbar-right__mobileAction a.active {
    background: var(--crm-ui-soft);
    color: var(--color-primary);
}

.navbar-right__menu .dropdown-custom.is-open > .dropdown-wrapper {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
}

.navbar-right__menu .dropdown-wrapper,
.navbar-right__menu .crm-header-live__dropdown,
.navbar-right__menu .account-center-dropdown,
.navbar-right__menu .dropdown-wrapper--theme {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    left: auto !important;
    z-index: 10080 !important;
    overflow: visible !important;
    pointer-events: auto;
}

@media (min-width: 768px) {
    .navbar-right__menu .crm-header-live__dropdown {
        min-width: 380px;
    }

    .navbar-right__menu .crm-header-live__dropdown--wide {
        min-width: 430px;
    }

    .navbar-right__menu .account-center-dropdown {
        min-width: 360px;
    }
}

.navbar-right__menu .dropdown-custom:not(.is-open) > .dropdown-wrapper,
.navbar-right__menu .dropdown-custom:not(.is-open) > [data-te-dropdown-menu-ref],
.nav-theme-toggle:not(.is-open) .dropdown-wrapper--theme,
.nav-theme-toggle .dropdown-custom:not(.is-open) .dropdown-wrapper--theme {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.navbar-right__menu .dropdown-custom.is-open > .dropdown-wrapper,
.navbar-right__menu .dropdown-custom.is-open > [data-te-dropdown-menu-ref] {
    display: block !important;
}

.navbar-right__menu img.svg,
.navbar-right__menu .nav-item-toggle > img:not(.account-avatar__img) {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.navbar-right__menu .nav-item-toggle > i,
.navbar-right__mobileAction a > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 21px;
    line-height: 1;
}

.navbar-right__mobileAction {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.navbar-right__mobileAction a + a {
    margin-left: 0 !important;
}

.navbar-right__mobileAction .btn-search .feather-x {
    display: none;
}

.navbar-right__mobileAction .btn-search.search-active .feather-search {
    display: none;
}

.navbar-right__mobileAction .btn-search.search-active .feather-x {
    display: inline-flex;
}

.nav-author .nav-item-toggle {
    gap: 8px;
    padding-right: 10px !important;
}

.nav-author .nav-item__title {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: 150px;
    overflow: hidden;
    color: var(--crm-ui-text);
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.crm-header-theme-toggle {
    gap: 6px;
    min-width: 68px !important;
    padding: 0 11px !important;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.crm-header-theme-toggle > i {
    font-size: 19px;
    line-height: 1;
}

.crm-header-theme-toggle__label {
    color: var(--crm-ui-text);
    font-size: 13px;
    line-height: 1;
}

.dropdown-wrapper--theme {
    width: 258px;
    min-width: 258px !important;
    padding: 12px !important;
    transform: translateY(8px) scale(.98) !important;
    transition: opacity .18s ease, visibility .18s ease, transform .18s ease !important;
    will-change: opacity, transform;
}

.nav-theme-toggle.is-open .dropdown-wrapper--theme,
.nav-theme-toggle .dropdown-custom.is-open .dropdown-wrapper--theme {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
}

.crm-header-theme-menu {
    display: grid;
    gap: 6px;
}

.crm-header-theme-menu__title {
    display: block;
    padding: 4px 6px 8px;
    color: var(--crm-ui-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.crm-header-theme-menu__item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 10px;
    width: 100%;
    border: 0;
    border-radius: var(--crm-ui-radius);
    background: transparent;
    color: var(--crm-ui-text);
    padding: 9px 8px;
    text-align: left;
    transition: background-color .2s ease, color .2s ease;
}

.crm-header-theme-menu__item:hover,
.crm-header-theme-menu__item.is-active {
    background: var(--crm-ui-soft);
    color: var(--color-primary);
}

.crm-header-theme-menu__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: var(--crm-ui-radius);
    background: rgba(var(--color-primary-rgba, 130, 49, 211), .10);
    color: var(--color-primary);
    font-size: 17px;
}

.crm-header-theme-menu__item strong,
.crm-header-theme-menu__item small {
    display: block;
}

.crm-header-theme-menu__item strong {
    color: currentColor;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
}

.crm-header-theme-menu__item small {
    margin-top: 2px;
    color: var(--crm-ui-muted);
    font-size: 11px;
    line-height: 1.25;
}

.crm-header-theme-menu__check {
    justify-self: end;
    color: var(--color-success);
    font-size: 16px;
    opacity: 0;
}

.crm-header-theme-menu__item.is-active .crm-header-theme-menu__check {
    opacity: 1;
}

.navbar-right__menu .nav-search {
    position: relative;
    display: flex;
    align-items: center;
}

.navbar-right__menu .nav-search .search-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 8px;
    border-radius: var(--crm-ui-radius-lg);
    color: var(--crm-ui-muted);
    font-size: 20px;
    line-height: 1;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease;
}

.navbar-right__menu .nav-search .search-toggle:hover,
.navbar-right__menu .nav-search.is-search-open .search-toggle {
    background: var(--crm-ui-soft);
    color: var(--color-primary);
}

.navbar-right__menu .nav-search .search-toggle .uil {
    display: block;
    line-height: 1;
}

.navbar-right__menu .nav-search .search-toggle .uil-times {
    display: none;
}

.navbar-right__menu .nav-search.is-search-open .search-toggle .uil-search {
    display: none;
}

.navbar-right__menu .nav-search.is-search-open .search-toggle .uil-times {
    display: block;
}

.navbar-right__menu .nav-search .search-form-topMenu.crm-global-search {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 1055;
    width: 300px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-6px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.navbar-right__menu .nav-search.is-search-open .search-form-topMenu.crm-global-search {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.search-form-topMenu.crm-global-search,
.mobile-search .search-form.crm-global-search {
    position: relative;
    display: flex !important;
    align-items: center;
    width: min(320px, 40vw);
    min-height: 44px;
    padding: 0 14px 0 44px;
    border: 1px solid var(--crm-ui-border);
    border-radius: var(--crm-ui-radius-lg);
    background: var(--crm-ui-surface);
    box-shadow: none;
}

.navbar-right__menu .nav-search .search-form-topMenu.crm-global-search {
    background: var(--crm-ui-surface) !important;
}

.search-form-topMenu.crm-global-search .search-icon,
.mobile-search .search-form.crm-global-search > img.svg {
    position: absolute !important;
    top: 50% !important;
    left: 16px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin: 0 !important;
    transform: translateY(-50%);
    color: var(--color-primary);
    font-size: 18px;
    line-height: 1;
    opacity: .9;
}

.search-form-topMenu.crm-global-search .form-control,
.mobile-search .search-form.crm-global-search .form-control {
    flex: 1 1 auto;
    width: 100%;
    height: 42px;
    min-height: 42px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--crm-ui-text);
    font-size: 14px;
    line-height: 42px;
}

.search-form-topMenu.crm-global-search .form-control::placeholder,
.mobile-search .search-form.crm-global-search .form-control::placeholder {
    color: var(--crm-ui-muted);
}

.search-form-topMenu.crm-global-search:focus-within,
.mobile-search .search-form.crm-global-search:focus-within {
    border-color: var(--color-primary);
    box-shadow: 0 5px 20px rgba(var(--color-primary-rgba, 130, 49, 211), .10);
}

.search-form-topMenu.crm-global-search .crm-global-search-results,
.mobile-search .search-form.crm-global-search .crm-global-search-results {
    left: 0;
    right: auto;
    background: var(--crm-ui-surface) !important;
    border-color: var(--crm-ui-border);
}

body:not(.layout-dark) .navbar-right__menu .nav-search .crm-global-search-results,
body:not(.layout-dark) .navbar-right__menu .nav-search .crm-global-search-results .crm-global-search__group,
body:not(.layout-dark) .navbar-right__menu .nav-search .crm-global-search-results .crm-global-search__item,
body:not(.layout-dark) .mobile-search .crm-global-search-results,
body:not(.layout-dark) .mobile-search .crm-global-search-results .crm-global-search__group,
body:not(.layout-dark) .mobile-search .crm-global-search-results .crm-global-search__item {
    background-color: #ffffff !important;
    background-image: none !important;
}

body:not(.layout-dark) .navbar-right__menu .nav-search .crm-global-search-results .crm-global-search__item:hover,
body:not(.layout-dark) .navbar-right__menu .nav-search .crm-global-search-results .crm-global-search__item:focus,
body:not(.layout-dark) .mobile-search .crm-global-search-results .crm-global-search__item:hover,
body:not(.layout-dark) .mobile-search .crm-global-search-results .crm-global-search__item:focus {
    background-color: #f5f7fb !important;
}

.layout-dark .navbar-right__menu .nav-search .crm-global-search-results,
.layout-dark .navbar-right__menu .nav-search .crm-global-search-results .crm-global-search__group,
.layout-dark .mobile-search .crm-global-search-results,
.layout-dark .mobile-search .crm-global-search-results .crm-global-search__group {
    background-color: var(--crm-ui-surface) !important;
    background-image: none !important;
}

.layout-dark .navbar-right__menu .nav-search .crm-global-search-results .crm-global-search__item,
.layout-dark .mobile-search .crm-global-search-results .crm-global-search__item {
    background-color: transparent !important;
}

.layout-dark .search-form-topMenu.crm-global-search,
.layout-dark .mobile-search .search-form.crm-global-search {
    background: var(--crm-ui-surface);
    border-color: var(--crm-ui-border);
}

/* Student portal: My Batches */
.student-batches-ui .bg-normal {
    background: var(--crm-ui-soft) !important;
}

.student-batches-stat {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 88px;
    padding: 16px 18px;
}

.student-batches-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0;
    border: 0;
}

.student-batches-tabs li {
    margin: 0;
}

.student-batches-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid var(--crm-ui-border);
    border-radius: 999px;
    background: var(--crm-ui-surface);
    color: var(--crm-ui-muted);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.student-batches-tabs a span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: var(--crm-ui-soft);
    color: currentColor;
    font-size: 11px;
}

.student-batches-tabs a.active,
.student-batches-tabs a:hover {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: #fff;
}

.student-batches-tabs a.active span,
.student-batches-tabs a:hover span {
    background: rgba(255, 255, 255, .18);
    color: #fff;
}

.student-batch-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 18px;
    background: var(--crm-ui-surface) !important;
}

.student-batch-card__header,
.student-batch-trainer,
.student-batch-live,
.student-batch-next {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.student-batch-trainer,
.student-batch-live,
.student-batch-next {
    padding: 12px;
    border: 1px solid var(--crm-ui-border);
    border-radius: var(--crm-ui-radius);
    background: var(--crm-ui-soft);
}

.student-batch-trainer {
    justify-content: flex-start;
}

.student-batch-schedule {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.student-batch-schedule > div,
.student-batch-widgets > div {
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--crm-ui-border);
    border-radius: var(--crm-ui-radius);
    background: var(--crm-ui-soft);
}

.student-batch-schedule span,
.student-batch-widgets span,
.student-batch-widgets small {
    display: block;
    color: var(--crm-ui-muted);
    font-size: 11px;
    line-height: 1.35;
}

.student-batch-schedule strong,
.student-batch-widgets strong {
    display: block;
    margin-top: 4px;
    color: var(--crm-ui-text);
    font-size: 13px;
    line-height: 1.35;
}

.student-batch-progress .progress-wrap,
.student-batch-progress .progress {
    height: 7px;
    border-radius: 999px;
    background: var(--crm-ui-border);
    overflow: hidden;
}

.student-batch-progress .progress-bar {
    height: 100%;
    border-radius: inherit;
}

.student-batch-live__dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 6px;
    border-radius: 50%;
    background: var(--crm-ui-muted);
}

.student-batch-live.is-live .student-batch-live__dot {
    background: var(--success, #01b81a);
    box-shadow: 0 0 0 4px rgba(1, 184, 26, .12);
}

.student-batch-widgets {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.student-batch-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.student-batch-actions .btn-xs {
    min-height: 30px;
    padding: 0 10px;
    font-size: 11px;
}

.student-batch-actions--mobile {
    display: none;
}

.student-batch-action-menu {
    position: relative;
}

.student-batch-action-menu summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid var(--crm-ui-border);
    border-radius: var(--crm-ui-radius);
    background: var(--crm-ui-surface);
    color: var(--crm-ui-text);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.student-batch-action-menu summary::-webkit-details-marker {
    display: none;
}

.student-batch-action-menu > div {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 50;
    display: grid;
    min-width: 170px;
    padding: 8px;
    border: 1px solid var(--crm-ui-border);
    border-radius: var(--crm-ui-radius);
    background: var(--crm-ui-surface);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .16);
}

.student-batch-action-menu a {
    padding: 8px 10px;
    border-radius: 6px;
    color: var(--crm-ui-text);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

.student-batch-action-menu a:hover {
    background: var(--crm-ui-soft);
    color: var(--color-primary);
}

@media (max-width: 767.98px) {
    .student-batches-ui .px-25 {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .student-batches-tabs {
        gap: 8px;
    }

    .student-batches-tabs a {
        min-height: 34px;
        padding: 7px 11px;
        font-size: 12px;
    }

    .student-batch-card {
        padding: 14px;
    }

    .student-batch-card__header,
    .student-batch-live {
        align-items: flex-start;
    }

    .student-batch-schedule,
    .student-batch-widgets {
        grid-template-columns: 1fr;
    }

    .student-batch-actions--desktop {
        display: none;
    }

    .student-batch-actions--mobile {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
}

.mobile-search {
    background: transparent !important;
    background-image: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.mobile-search .search-form.crm-global-search,
.mobile-search .search-form.crm-global-search .form-control,
.mobile-search .crm-global-search-results,
.mobile-search .crm-global-search-results .crm-global-search__group,
.mobile-search .crm-global-search-results .crm-global-search__item {
    background-color: #ffffff !important;
    background-image: none !important;
}

.mobile-search .crm-global-search-results .crm-global-search__item:hover,
.mobile-search .crm-global-search-results .crm-global-search__item:focus {
    background-color: #f5f7fb !important;
}

.mobile-search::before,
.mobile-search::after,
.mobile-search .search-form.crm-global-search::before,
.mobile-search .search-form.crm-global-search::after,
.mobile-search .crm-global-search-results::before,
.mobile-search .crm-global-search-results::after {
    display: none !important;
    content: none !important;
    background: transparent !important;
}

.mobile-search.show,
.layout-dark .mobile-search,
.layout-dark .mobile-search.show,
.layout-system .mobile-search,
.layout-system .mobile-search.show {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
    margin-top: 10px;
}

.modal-backdrop:not(.show),
.offcanvas-backdrop:not(.show),
.overlay-dark-sidebar:not(.show),
.customizer-overlay:not(.show),
.custom-overlay:not(.show):not(.active),
.crm-overlay:not(.show):not(.active),
.backdrop:not(.show):not(.active),
.drawer-overlay:not(.show),
.drawer-backdrop:not(.show),
.overlay-dark:not(.show),
.overlay-dark-l2:not(.show),
.area-overlay:not(.show),
.popup-overlay:not(.active),
.popup-content:not(.active) {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

body:not(.is-open) .popup-overlay,
body:not(.is-open) .popup-content {
    pointer-events: none !important;
}

.layout-dark .mobile-search .search-form.crm-global-search,
.layout-dark .mobile-search .search-form.crm-global-search .form-control,
.layout-dark .mobile-search .crm-global-search-results,
.layout-dark .mobile-search .crm-global-search-results .crm-global-search__group,
.layout-dark .mobile-search .crm-global-search-results .crm-global-search__item,
.layout-system .mobile-search .search-form.crm-global-search,
.layout-system .mobile-search .search-form.crm-global-search .form-control,
.layout-system .mobile-search .crm-global-search-results,
.layout-system .mobile-search .crm-global-search-results .crm-global-search__group,
.layout-system .mobile-search .crm-global-search-results .crm-global-search__item {
    background-color: #ffffff !important;
    background-image: none !important;
}

.layout-dark .mobile-search .crm-global-search-results .crm-global-search__item:hover,
.layout-dark .mobile-search .crm-global-search-results .crm-global-search__item:focus,
.layout-system .mobile-search .crm-global-search-results .crm-global-search__item:hover,
.layout-system .mobile-search .crm-global-search-results .crm-global-search__item:focus {
    background-color: #f5f7fb !important;
}

@media (max-width: 991.98px) {
    .navbar-right__menu .nav-search .search-form-topMenu.crm-global-search {
        width: min(300px, 72vw);
    }
}

@media (max-width: 575.98px) {
    .crm-header-theme-toggle {
        min-width: 42px !important;
        padding: 0 8px !important;
    }

    .crm-header-theme-toggle__label {
        display: none;
    }

    .nav-theme-toggle .dropdown-wrapper--theme {
        right: 0;
        width: min(258px, calc(100vw - 32px));
        min-width: min(258px, calc(100vw - 32px)) !important;
    }

    .navbar-right__menu .nav-search .search-form-topMenu.crm-global-search {
        right: -56px;
        width: calc(100vw - 32px);
    }

    .mobile-search {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: auto !important;
        min-height: 58px !important;
        padding: 9px 14px !important;
        pointer-events: none;
    }

    .mobile-search .search-form.crm-global-search {
        width: 100% !important;
        min-height: 42px;
        padding: 0 12px 0 44px;
        border-radius: var(--crm-ui-radius-lg);
        pointer-events: auto;
    }

    .mobile-search .search-form.crm-global-search .form-control {
        height: 40px;
        min-height: 40px;
        line-height: 40px;
    }

    .mobile-search .crm-global-search-results.is-open {
        position: fixed !important;
        top: 128px !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-height: calc(100vh - 150px);
        border-radius: var(--crm-ui-radius-lg);
        box-shadow: 0 18px 44px rgba(20, 27, 40, .16);
        pointer-events: auto;
    }

    .mobile-search .crm-global-search-results .crm-global-search__group,
    .mobile-search .crm-global-search-results .crm-global-search__item {
        background: #ffffff !important;
        background-color: #ffffff !important;
        background-image: none !important;
    }
}

@media (max-width: 767.98px) {
    .mobile-author-actions {
        position: fixed !important;
        top: 70px !important;
        left: auto !important;
        right: 12px !important;
        width: min(360px, calc(100vw - 24px)) !important;
        /* height: auto !important;
        min-height: 58px;
        padding: 9px 12px !important; */
        border: 1px solid var(--crm-ui-border);
        border-radius: 14px;
        background: var(--crm-ui-surface) !important;
        box-shadow: 0 18px 52px rgba(15, 23, 42, .16) !important;
        transform: translateY(-10px) scale(.98) !important;
        transform-origin: top right;
        pointer-events: none;
    }

    .mobile-author-actions.show {
        transform: translateY(0) scale(1) !important;
        pointer-events: auto;
    }

    .mobile-author-actions .navbar-right__menu {
        display: flex !important;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
        width: 100%;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none;
    }

    .mobile-author-actions .navbar-right__menu > li {
        flex: 0 0 auto;
        margin: 0 !important;
        padding: 0 !important;
    }

    .mobile-author-actions .nav-search {
        display: none !important;
    }

    .mobile-author-actions .nav-author .nav-item__title {
        display: none !important;
    }

    .mobile-author-actions .navbar-right__menu > li > .dropdown-custom > .nav-item-toggle,
    .mobile-author-actions .navbar-right__menu > li > .nav-item-toggle {
        min-width: 40px !important;
        width: 40px;
        height: 40px;
        padding: 0 !important;
    }

    .mobile-author-actions .crm-header-live__dropdown,
    .mobile-author-actions .account-center-dropdown {
        position: fixed !important;
        top: 136px !important;
        left: 12px !important;
        right: 12px !important;
        z-index: 1200 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100vw - 24px) !important;
        max-height: calc(100vh - 160px);
        overflow-y: auto;
        transform-origin: top center !important;
    }

    .mobile-author-actions .nav-author .account-center-dropdown {
        overflow: hidden;
        border-radius: 16px;
        background: var(--crm-ui-surface) !important;
    }

    .mobile-author-actions .account-center-dropdown__header {
        padding: 12px !important;
        border-bottom: 1px solid var(--crm-ui-border) !important;
        background: var(--crm-ui-surface) !important;
    }

    .mobile-author-actions .account-center-user {
        display: grid;
        grid-template-columns: 56px minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        width: 100%;
        padding: 12px;
        border: 1px solid var(--crm-ui-border);
        border-radius: 14px;
        background: var(--crm-ui-soft);
    }

    .mobile-author-actions .account-center-user > div {
        min-width: 0;
    }

    .mobile-author-actions .account-center-user h6,
    .mobile-author-actions .account-center-user p,
    .mobile-author-actions .account-center-user small {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mobile-author-actions .dropdown-custom.is-open > .crm-header-live__dropdown,
    .mobile-author-actions .dropdown-custom.is-open > .account-center-dropdown {
        transform: translateY(0) scale(1) !important;
    }

    .mobile-author-actions .nav-theme-toggle .dropdown-wrapper--theme {
        position: fixed !important;
        top: 136px !important;
        left: 12px !important;
        right: 12px !important;
        z-index: 1200 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100vw - 24px) !important;
        max-height: calc(100vh - 160px);
        overflow-y: auto;
        transform-origin: top center !important;
    }

    .mobile-author-actions .nav-theme-toggle.is-open .dropdown-wrapper--theme,
    .mobile-author-actions .nav-theme-toggle .dropdown-custom.is-open .dropdown-wrapper--theme {
        transform: translateY(0) scale(1) !important;
    }

    .mobile-author-actions .crm-header-theme-menu__item {
        min-height: 54px;
        padding: 10px;
    }
}

/* Cards and dashboard widgets */
.contents .card,
.contents .user-group.media-ui,
.contents .ap-po-details,
.contents .crm-card,
.modal .card,
.crm-action-modal__body .card {
    border: 1px solid var(--crm-ui-border) !important;
    border-radius: var(--crm-ui-radius-lg) !important;
    background: var(--crm-ui-surface);
    box-shadow: var(--crm-ui-shadow);
}

.contents .card .card-header,
.modal .card .card-header,
.crm-action-modal__body .card .card-header {
    min-height: 58px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--crm-ui-border) !important;
    background: transparent;
}

.contents .card .card-body,
.modal .card .card-body,
.crm-action-modal__body .card .card-body {
    padding: 20px;
}

.contents .card .card-footer,
.modal .card .card-footer,
.crm-action-modal__body .card .card-footer {
    padding: 14px 20px;
    border-top: 1px solid var(--crm-ui-border) !important;
    background: var(--crm-ui-soft);
}

.contents .card h1,
.contents .card h2,
.contents .card h3,
.contents .card h4,
.contents .card h5,
.contents .card h6 {
    letter-spacing: 0;
}

/* Tables */
.contents table,
.modal table,
.crm-action-modal__body table {
    border-collapse: separate;
    border-spacing: 0;
}

.contents .table,
.modal .table,
.crm-action-modal__body .table,
.contents .userDatatable table,
.contents .orderDatatable table {
    width: 100%;
    color: var(--crm-ui-text);
}

.contents .table thead th,
.modal .table thead th,
.crm-action-modal__body .table thead th,
.contents .userDatatable thead th,
.contents .orderDatatable thead th {
    height: 48px;
    padding: 12px 16px !important;
    background: var(--crm-ui-soft) !important;
    color: var(--crm-ui-text) !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    vertical-align: middle;
    border-bottom: 1px solid var(--crm-ui-border) !important;
}

.contents .table tbody td,
.modal .table tbody td,
.crm-action-modal__body .table tbody td,
.contents .userDatatable tbody td,
.contents .orderDatatable tbody td {
    min-height: 54px;
    padding: 14px 16px !important;
    vertical-align: middle;
    border-bottom: 1px solid var(--crm-ui-border) !important;
}

.contents .table tbody tr,
.modal .table tbody tr,
.crm-action-modal__body .table tbody tr,
.contents .userDatatable tbody tr,
.contents .orderDatatable tbody tr {
    transition: background-color .16s ease;
}

.contents .table tbody tr:hover,
.modal .table tbody tr:hover,
.crm-action-modal__body .table tbody tr:hover,
.contents .userDatatable tbody tr:hover,
.contents .orderDatatable tbody tr:hover {
    background: rgba(var(--color-primary-rgba, 130, 49, 211), .035);
}

.contents .table-responsive,
.modal .table-responsive,
.crm-action-modal__body .table-responsive,
.contents .userDatatable,
.contents .orderDatatable {
    border: 1px solid var(--crm-ui-border);
    border-radius: var(--crm-ui-radius-lg);
    overflow: auto;
}

.contents .table-responsive .table,
.modal .table-responsive .table,
.crm-action-modal__body .table-responsive .table {
    margin-bottom: 0;
}

/* Forms */
.contents .form-group,
.modal .form-group,
.crm-action-modal__body .form-group {
    margin-bottom: 18px;
}

.contents label,
.modal label,
.crm-action-modal__body label {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--crm-ui-text);
    font-size: 13px;
    font-weight: 600;
}

.contents .form-control:not([type="file"]),
.contents .form-select,
.contents select.form-control,
.modal .form-control:not([type="file"]),
.modal .form-select,
.modal select.form-control,
.crm-action-modal__body .form-control:not([type="file"]),
.crm-action-modal__body .form-select,
.crm-action-modal__body select.form-control {
    min-height: 44px;
    border: 1px solid var(--crm-ui-border);
    border-radius: var(--crm-ui-radius);
    background-color: var(--input-bg, #fff);
    color: var(--crm-ui-text);
    font-size: 14px;
    line-height: 42px;
}

.contents textarea.form-control,
.modal textarea.form-control,
.crm-action-modal__body textarea.form-control {
    min-height: 108px;
    line-height: 1.55;
}

.contents .form-control:focus,
.contents .form-select:focus,
.modal .form-control:focus,
.modal .form-select:focus,
.crm-action-modal__body .form-control:focus,
.crm-action-modal__body .form-select:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgba), .12);
}

.contents .invalid-feedback,
.modal .invalid-feedback,
.crm-action-modal__body .invalid-feedback,
.contents .text-danger,
.modal .text-danger {
    font-size: 12px;
    line-height: 1.45;
}

/* Buttons and badges */
.contents .btn,
.modal .btn,
.crm-action-modal .btn,
.crm-action-modal__body .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    border-radius: var(--crm-ui-radius);
    font-weight: 600;
    line-height: 1.2;
}

.contents .btn-sm,
.contents .btn.btn-sm,
.modal .btn-sm,
.modal .btn.btn-sm,
.crm-action-modal__body .btn-sm,
.crm-action-modal__body .btn.btn-sm {
    min-height: 32px;
    padding: 0 12px;
    font-size: 12px;
}

.contents .btn-xs,
.contents .btn.btn-xs,
.modal .btn-xs,
.modal .btn.btn-xs,
.crm-action-modal__body .btn-xs,
.crm-action-modal__body .btn.btn-xs {
    min-height: 28px;
    padding: 0 10px;
    font-size: 11px;
}

.contents .badge,
.modal .badge,
.crm-action-modal__body .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

/* Account/settings choice controls */
.account-choice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}

.account-choice-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.account-choice {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid var(--crm-ui-border);
    border-radius: var(--crm-ui-radius-lg);
    background: var(--crm-ui-soft);
    color: var(--crm-ui-text);
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.account-choice--sm {
    min-height: 42px;
    padding: 9px 11px;
}

.account-choice:hover {
    border-color: rgba(var(--color-primary-rgba, 130, 49, 211), .35);
    background: rgba(var(--color-primary-rgba, 130, 49, 211), .06);
}

.account-choice input {
    flex: 0 0 auto;
}

.account-choice span {
    font-weight: 600;
    line-height: 1.25;
}

.account-choice input:checked + span {
    color: var(--color-primary);
}

/* Modals */
.modal-dialog {
    margin: 1.75rem auto;
}

.modal-content,
.crm-action-modal__dialog {
    border: 1px solid var(--crm-ui-border);
    border-radius: 16px !important;
    box-shadow: 0 22px 70px rgba(15, 23, 42, .22);
    overflow: hidden;
}

.modal-header,
.crm-action-modal__header {
    min-height: 64px;
    padding: 18px 22px !important;
    border-bottom: 1px solid var(--crm-ui-border) !important;
}

.modal-body,
.crm-action-modal__body {
    /* padding: 22px !important; */
}

.modal-footer,
.crm-action-modal__footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 22px !important;
    border-top: 1px solid var(--crm-ui-border) !important;
    background: var(--crm-ui-soft);
}

.modal .btn-close,
.crm-action-modal__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--crm-ui-soft);
    opacity: 1;
}

/* Notification/account dropdown polish */
.crm-header-live__dropdown,
.account-center-dropdown,
.navbar-right__menu .dropdown-wrapper {
    border: 1px solid var(--crm-ui-border);
    border-radius: 14px;
    box-shadow: 0 18px 52px rgba(15, 23, 42, .16);
}

.nav-author .account-center-dropdown {
    overflow: hidden;
    background: var(--crm-ui-surface);
    color: var(--crm-ui-text);
}

.crm-header-live__title-row,
.account-center-dropdown__header {
    align-items: center;
    gap: 12px;
}

.account-center-dropdown__header {
    background: var(--crm-ui-soft);
    border-bottom: 1px solid var(--crm-ui-border);
}

.account-center-user {
    align-items: flex-start;
}

.account-center-user h6,
.account-center-user p,
.account-center-user small {
    color: var(--crm-ui-text) !important;
    opacity: 1;
}

.account-center-user p,
.account-center-user small {
    color: var(--crm-ui-muted) !important;
}

.account-center-status {
    align-items: center;
    color: var(--success, #01b81a) !important;
    line-height: 1;
}

.account-center-quick {
    background: var(--crm-ui-surface);
}

.account-center-quick a,
.account-center-menu a,
.account-center-menu button {
    align-items: center;
    color: var(--crm-ui-text) !important;
    line-height: 1.2;
}

.account-center-quick a {
    justify-content: flex-start;
    min-height: 42px;
    background: var(--crm-ui-soft);
    border: 1px solid var(--crm-ui-border);
}

.account-center-quick a i,
.account-center-menu a i,
.account-center-menu button i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    min-width: 18px;
    color: var(--crm-ui-muted);
    line-height: 1;
}

.account-center-menu {
    background: var(--crm-ui-surface);
    border-top-color: var(--crm-ui-border);
}

.account-center-menu a {
    min-height: 38px;
    padding-top: 8px;
    padding-bottom: 8px;
}

.account-center-menu a.is-active,
.account-center-menu button.is-active {
    background: rgba(var(--color-primary-rgba, 130, 49, 211), .12);
    color: var(--color-primary, #8231d3) !important;
}

.account-center-menu a.is-active i,
.account-center-menu button.is-active i {
    color: var(--color-primary, #8231d3) !important;
}

.account-center-footer {
    align-items: center;
    background: var(--crm-ui-surface);
    border-top-color: var(--crm-ui-border);
}

.account-center-footer .btn,
.account-center-footer button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    line-height: 1;
}

html[data-theme="dark"] .account-center-dropdown,
body.layout-dark .account-center-dropdown {
    background: var(--crm-ui-surface, #111827) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    box-shadow: 0 22px 58px rgba(0, 0, 0, .36) !important;
}

html[data-theme="dark"] .account-center-dropdown__header,
body.layout-dark .account-center-dropdown__header {
    background: rgba(255, 255, 255, .035) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
}

html[data-theme="dark"] .account-center-role,
body.layout-dark .account-center-role {
    background: rgba(168, 85, 247, .18) !important;
    color: #d8b4fe !important;
}

html[data-theme="dark"] .account-center-menu,
html[data-theme="dark"] .account-center-footer,
body.layout-dark .account-center-menu,
body.layout-dark .account-center-footer {
    background: var(--crm-ui-surface, #111827) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
}

html[data-theme="dark"] .account-center-menu a,
html[data-theme="dark"] .account-center-menu button,
body.layout-dark .account-center-menu a,
body.layout-dark .account-center-menu button {
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] .account-center-menu a:hover,
html[data-theme="dark"] .account-center-menu a:focus,
html[data-theme="dark"] .account-center-menu button:hover,
html[data-theme="dark"] .account-center-menu button:focus,
html[data-theme="dark"] .account-center-menu a.is-active,
html[data-theme="dark"] .account-center-menu button.is-active,
body.layout-dark .account-center-menu a:hover,
body.layout-dark .account-center-menu a:focus,
body.layout-dark .account-center-menu button:hover,
body.layout-dark .account-center-menu button:focus,
body.layout-dark .account-center-menu a.is-active,
body.layout-dark .account-center-menu button.is-active {
    background: rgba(168, 85, 247, .16) !important;
    color: #f8fafc !important;
}

html[data-theme="dark"] .account-center-menu a:hover i,
html[data-theme="dark"] .account-center-menu a:focus i,
html[data-theme="dark"] .account-center-menu button:hover i,
html[data-theme="dark"] .account-center-menu button:focus i,
html[data-theme="dark"] .account-center-menu a.is-active i,
html[data-theme="dark"] .account-center-menu button.is-active i,
body.layout-dark .account-center-menu a:hover i,
body.layout-dark .account-center-menu a:focus i,
body.layout-dark .account-center-menu button:hover i,
body.layout-dark .account-center-menu button:focus i,
body.layout-dark .account-center-menu a.is-active i,
body.layout-dark .account-center-menu button.is-active i {
    color: #d8b4fe !important;
}

html[data-theme="dark"] .account-center-footer .btn-light,
body.layout-dark .account-center-footer .btn-light {
    background: rgba(255, 255, 255, .06) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] .account-center-footer .btn-danger,
body.layout-dark .account-center-footer .btn-danger {
    background: #ef4444 !important;
    border-color: #ef4444 !important;
    color: #ffffff !important;
}

.account-center-user__title {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.account-center-role {
    background: rgba(130, 49, 211, .12);
    border-radius: 999px;
    color: var(--color-primary, #8231d3);
    font-size: 10px;
    font-weight: 700;
    min-height: 20px;
    padding: 0 8px;
    text-transform: uppercase;
}

.account-center-user small {
    align-items: center;
    display: block;
    font-size: 12px;
    max-width: 250px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-center-user small i {
    font-size: 12px;
    margin-right: 5px;
}

.crm-live-counter {
    top: 2px;
    right: 2px;
}

.crm-live-counter,
.badge-circle,
.badge.badge-round,
.account-center-menu .badge,
.crm-header-live__dropdown .dropdown-wrapper__title .badge-circle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1 !important;
    text-align: center;
    vertical-align: middle;
}

.crm-header-live__toggle .crm-live-counter:not(.is-empty) {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    font-size: 10px;
}

.crm-header-live__dropdown .dropdown-wrapper__title,
.crm-header-live__title-row .btn,
.crm-notification-tab,
.crm-notification-hero__action,
.account-center-quick a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* Notification center */
.crm-notification-page {
    color: var(--crm-ui-text);
}

.crm-action-modal__body .crm-notification-page {
    padding: 8px 0 18px;
}

.crm-notification-page .card,
.crm-notification-page .card-default,
.crm-notification-page .card-body {
    background: var(--crm-ui-surface) !important;
    border-color: var(--crm-ui-border) !important;
    color: var(--crm-ui-text) !important;
}

.crm-notification-page .card {
    border: 1px solid var(--crm-ui-border) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    overflow: hidden;
}

.crm-notification-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 24px 28px !important;
    background: var(--crm-ui-surface) !important;
}

.crm-notification-hero__eyebrow {
    color: var(--color-primary, #8231d3);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.crm-notification-hero h4,
.crm-notification-card h5,
.crm-notification-filter .form-label,
.crm-notification-kpi strong {
    color: var(--crm-ui-text) !important;
}

.crm-notification-hero p,
.crm-notification-card p,
.crm-notification-card__meta,
.crm-notification-kpi span {
    color: var(--crm-ui-muted) !important;
}

.crm-notification-hero__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.crm-notification-hero__form {
    margin: 0;
}

.crm-notification-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.crm-notification-kpi {
    min-height: 86px;
    padding: 18px 20px;
    border: 1px solid var(--crm-ui-border);
    border-radius: 12px;
    background: var(--crm-ui-soft);
}

.crm-notification-kpi span,
.crm-notification-kpi strong {
    display: block;
}

.crm-notification-kpi strong {
    margin-top: 10px;
    font-size: 22px;
    line-height: 1;
}

.crm-notification-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(180px, 260px) auto;
    align-items: end;
    gap: 18px;
}

.crm-notification-filter .form-label {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 8px;
}

.crm-notification-filter .form-control {
    min-height: 44px;
    border-color: var(--crm-ui-border) !important;
    border-radius: 8px;
    background: var(--crm-ui-soft) !important;
    color: var(--crm-ui-text) !important;
}

.crm-notification-filter .form-control::placeholder {
    color: var(--crm-ui-muted) !important;
}

.crm-notification-list {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.crm-notification-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 18px 20px;
    border: 1px solid var(--crm-ui-border);
    border-left: 4px solid transparent;
    border-radius: 12px;
    background: var(--crm-ui-surface);
    color: var(--crm-ui-text);
}

.crm-notification-card.is-unread {
    border-left-color: var(--color-primary, #8231d3);
    background: var(--crm-ui-soft);
}

.crm-notification-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(var(--color-primary-rgba, 130, 49, 211), .14);
    color: var(--color-primary, #8231d3);
    font-size: 18px;
}

.crm-notification-card .badge-light {
    border: 1px solid var(--crm-ui-border);
    background: var(--crm-ui-soft) !important;
    color: var(--crm-ui-muted) !important;
}

.crm-notification-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 10px;
    font-size: 12px;
}

.crm-notification-card__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 360px;
}

.crm-notification-card__actions .btn,
.crm-notification-card__actions button,
.crm-notification-hero__action {
    min-height: 34px;
    border-radius: 7px !important;
    font-weight: 700;
    line-height: 1 !important;
    white-space: nowrap;
}

.crm-notification-card__actions .btn-light,
.crm-notification-card__actions button.btn-light,
.crm-notification-hero__action.btn-light {
    border: 1px solid var(--crm-ui-border) !important;
    background: var(--crm-ui-soft) !important;
    color: var(--crm-ui-text) !important;
}

html[data-theme="dark"] .crm-notification-page,
body.layout-dark .crm-notification-page {
    --crm-ui-surface: #111827;
    --crm-ui-soft: #0f172a;
    --crm-ui-border: #263244;
    --crm-ui-text: #f8fafc;
    --crm-ui-muted: #94a3b8;
}

html[data-theme="dark"] .crm-notification-card .badge-success,
body.layout-dark .crm-notification-card .badge-success {
    background: #00b81a !important;
    color: #ffffff !important;
}

html[data-theme="dark"] .crm-notification-card__actions .btn-danger,
body.layout-dark .crm-notification-card__actions .btn-danger {
    background: #ff1f1f !important;
    border-color: #ff1f1f !important;
    color: #ffffff !important;
}

@media (max-width: 1199.98px) {
    .crm-notification-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-notification-card {
        grid-template-columns: 44px minmax(0, 1fr);
    }

    .crm-notification-card__actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        min-width: 0;
    }
}

@media (max-width: 767.98px) {
    .crm-notification-hero {
        align-items: flex-start;
        flex-direction: column;
        padding: 20px !important;
    }

    .crm-notification-kpis,
    .crm-notification-filter {
        grid-template-columns: 1fr;
    }

    .crm-notification-card {
        grid-template-columns: 1fr;
    }

    .crm-notification-card__actions .btn,
    .crm-notification-card__actions button {
        flex: 1 1 130px;
    }
}

/* Utility cleanup used across CRM pages */
.gap-5 {
    gap: 1rem !important;
}

.contents .d-flex.gap-5,
.modal .d-flex.gap-5 {
    flex-wrap: wrap;
}

.contents hr,
.modal hr,
.crm-action-modal__body hr {
    opacity: 1;
    border-color: var(--crm-ui-border);
}

@media (max-width: 1199.98px) {
    .navbar-right__menu {
        gap: 2px;
    }

    .sidebar .sidebar__menu-group {
        padding-inline: 8px;
    }
}

@media (max-width: 767.98px) {
    .contents .card .card-body,
    .modal .card .card-body,
    .crm-action-modal__body .card .card-body,
    .modal-body,
    .crm-action-modal__body {
        padding: 16px !important;
    }

    .modal-dialog {
        max-width: calc(100% - 24px);
        margin: 12px auto;
    }

    .navbar-right__menu > li > .dropdown-custom > .nav-item-toggle,
    .navbar-right__menu > li > .nav-item-toggle {
        min-width: 38px;
        height: 38px;
    }

    .nav-author .nav-item__title {
        max-width: 110px;
    }

    .contents .table tbody td,
    .modal .table tbody td,
    .crm-action-modal__body .table tbody td {
        padding: 12px !important;
    }
}

.layout-dark {
    --crm-ui-surface: var(--main-color, #010413);
    --crm-ui-bg: var(--contents-bg, #010413);
    --crm-ui-text: var(--white-87, rgba(255, 255, 255, .87));
    --crm-ui-muted: var(--white-60, rgba(255, 255, 255, .60));
    --crm-ui-border: var(--white-10, rgba(255, 255, 255, .10));
    --crm-ui-soft: var(--white-06, rgba(255, 255, 255, .06));
    --crm-ui-shadow: 0 10px 30px rgba(0, 0, 0, .22);
}

.layout-dark,
.layout-dark body,
.layout-dark .contents,
.layout-dark .main-content,
.layout-dark .crm-page,
.layout-dark .account-page,
.layout-dark .container-fluid,
.layout-dark .footer-wrapper {
    background: var(--crm-ui-bg);
    color: var(--crm-ui-text);
}

.layout-dark .contents .card,
.layout-dark .modal .card,
.layout-dark .crm-action-modal__body .card,
.layout-dark .modal-content,
.layout-dark .crm-action-modal__dialog,
.layout-dark .dropdown-wrapper,
.layout-dark .crm-header-live__dropdown,
.layout-dark .account-center-dropdown,
.layout-dark .account-choice,
.layout-dark .sidebar,
.layout-dark .navbar {
    background: var(--crm-ui-surface);
    color: var(--crm-ui-text);
    border-color: var(--crm-ui-border);
}

.layout-dark .card-header,
.layout-dark .modal-header,
.layout-dark .crm-action-modal__header,
.layout-dark .modal-footer,
.layout-dark .crm-action-modal__footer,
.layout-dark .card-footer {
    background: var(--crm-ui-surface);
    color: var(--crm-ui-text);
    border-color: var(--crm-ui-border) !important;
}

.layout-dark h1,
.layout-dark h2,
.layout-dark h3,
.layout-dark h4,
.layout-dark h5,
.layout-dark h6,
.layout-dark .color-dark,
.layout-dark .breadcrumb-main .breadcrumb-action,
.layout-dark label,
.layout-dark .form-label {
    color: var(--crm-ui-text) !important;
}

.layout-dark p,
.layout-dark small,
.layout-dark .text-muted,
.layout-dark .body-color,
.layout-dark .ap-nameAddress__subTitle,
.layout-dark .nav-item__title,
.layout-dark .table td {
    color: var(--crm-ui-muted) !important;
}

.layout-dark .contents .table thead th,
.layout-dark .modal .table thead th,
.layout-dark .crm-action-modal__body .table thead th {
    background: var(--crm-ui-soft) !important;
    color: var(--crm-ui-text) !important;
}

.layout-dark .contents .table,
.layout-dark .modal .table,
.layout-dark .crm-action-modal__body .table,
.layout-dark .userDatatable table {
    color: var(--crm-ui-text);
    border-color: var(--crm-ui-border);
}

.layout-dark .contents .table tbody tr,
.layout-dark .modal .table tbody tr,
.layout-dark .crm-action-modal__body .table tbody tr,
.layout-dark .userDatatable tbody tr {
    background: var(--crm-ui-surface);
    border-color: var(--crm-ui-border);
}

.layout-dark .contents .table tbody td,
.layout-dark .modal .table tbody td,
.layout-dark .crm-action-modal__body .table tbody td,
.layout-dark .userDatatable tbody td {
    border-color: var(--crm-ui-border);
}

.layout-dark .contents .form-control:not([type="file"]),
.layout-dark .contents .form-select,
.layout-dark .contents select.form-control,
.layout-dark .modal .form-control:not([type="file"]),
.layout-dark .modal .form-select,
.layout-dark .modal select.form-control,
.layout-dark .crm-action-modal__body .form-control:not([type="file"]),
.layout-dark .crm-action-modal__body .form-select,
.layout-dark .crm-action-modal__body select.form-control,
.layout-dark .select2-container--default .select2-selection--single,
.layout-dark .select2-container--default .select2-selection--multiple {
    background: var(--white-06);
    color: var(--crm-ui-text);
    border-color: var(--crm-ui-border);
}

.layout-dark .contents .form-control::placeholder,
.layout-dark .modal .form-control::placeholder,
.layout-dark .crm-action-modal__body .form-control::placeholder {
    color: var(--crm-ui-muted);
}

.layout-dark .select2-dropdown,
.layout-dark .select2-container--default .select2-results__option {
    background: var(--crm-ui-surface);
    color: var(--crm-ui-text);
    border-color: var(--crm-ui-border);
}

.layout-dark .account-choice:hover {
    background: rgba(var(--color-primary-rgba, 130, 49, 211), .14);
}

.crm-density-compact .contents .card .card-body,
.crm-density-compact .modal .card .card-body,
.crm-density-compact .crm-action-modal__body .card .card-body {
    padding: 16px !important;
}

.crm-density-compact .contents .form-control:not([type="file"]),
.crm-density-compact .contents .form-select,
.crm-density-compact .contents select.form-control,
.crm-density-compact .modal .form-control:not([type="file"]),
.crm-density-compact .modal .form-select,
.crm-density-compact .modal select.form-control,
.crm-density-compact .crm-action-modal__body .form-control:not([type="file"]),
.crm-density-compact .crm-action-modal__body .form-select,
.crm-density-compact .crm-action-modal__body select.form-control {
    min-height: 38px;
    height: 38px;
    padding: 7px 12px;
}

.crm-density-compact .contents .table tbody td,
.crm-density-compact .modal .table tbody td,
.crm-density-compact .crm-action-modal__body .table tbody td,
.crm-density-compact .contents .table thead th,
.crm-density-compact .modal .table thead th,
.crm-density-compact .crm-action-modal__body .table thead th {
    padding: 9px 12px !important;
}

.crm-dashboard-compact .contents .card,
.crm-dashboard-compact .crm-stat-card {
    box-shadow: 0 6px 18px rgba(146, 153, 184, .10);
}

.crm-animation-disabled *,
.crm-animation-disabled *::before,
.crm-animation-disabled *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
}

.crm-sidebar-compact .sidebar .sidebar_nav .menu-text,
.crm-sidebar-compact .sidebar .sidebar_nav .toggle-icon {
    opacity: 0;
    width: 0;
    flex-basis: 0;
    overflow: hidden;
}

.crm-sidebar-compact .sidebar .sidebar_nav > li > a,
.crm-sidebar-compact .sidebar .sidebar_nav li.has-child > a {
    justify-content: center;
    padding-inline: 10px !important;
}

@media (prefers-color-scheme: dark) {
    .layout-system {
        --crm-ui-surface: var(--main-color, #010413);
        --crm-ui-bg: var(--contents-bg, #010413);
        --crm-ui-text: var(--white-87, rgba(255, 255, 255, .87));
        --crm-ui-muted: var(--white-60, rgba(255, 255, 255, .60));
        --crm-ui-border: var(--white-10, rgba(255, 255, 255, .10));
        --crm-ui-soft: var(--white-06, rgba(255, 255, 255, .06));
        --crm-ui-shadow: 0 10px 30px rgba(0, 0, 0, .22);
    }

    .layout-system,
    .layout-system .contents,
    .layout-system .main-content,
    .layout-system .account-page,
    .layout-system .container-fluid,
    .layout-system .footer-wrapper {
        background: var(--crm-ui-bg);
        color: var(--crm-ui-text);
    }

    .layout-system .contents .card,
    .layout-system .modal .card,
    .layout-system .crm-action-modal__body .card,
    .layout-system .modal-content,
    .layout-system .crm-action-modal__dialog,
    .layout-system .dropdown-wrapper,
    .layout-system .crm-header-live__dropdown,
    .layout-system .account-center-dropdown,
    .layout-system .account-choice,
    .layout-system .sidebar,
    .layout-system .navbar {
        background: var(--crm-ui-surface);
        color: var(--crm-ui-text);
        border-color: var(--crm-ui-border);
    }

    .layout-system h1,
    .layout-system h2,
    .layout-system h3,
    .layout-system h4,
    .layout-system h5,
    .layout-system h6,
    .layout-system .color-dark,
    .layout-system label,
    .layout-system .form-label {
        color: var(--crm-ui-text) !important;
    }

    .layout-system p,
    .layout-system small,
    .layout-system .text-muted,
    .layout-system .body-color,
    .layout-system .table td {
        color: var(--crm-ui-muted) !important;
    }

    .layout-system .contents .table thead th,
    .layout-system .modal .table thead th,
    .layout-system .crm-action-modal__body .table thead th {
        background: var(--crm-ui-soft) !important;
        color: var(--crm-ui-text) !important;
    }

    .layout-system .contents .form-control:not([type="file"]),
    .layout-system .contents .form-select,
    .layout-system .contents select.form-control,
    .layout-system .modal .form-control:not([type="file"]),
    .layout-system .modal .form-select,
    .layout-system .modal select.form-control,
    .layout-system .crm-action-modal__body .form-control:not([type="file"]),
    .layout-system .crm-action-modal__body .form-select,
    .layout-system .crm-action-modal__body select.form-control,
    .layout-system .select2-container--default .select2-selection--single,
    .layout-system .select2-container--default .select2-selection--multiple {
        background: var(--white-06);
        color: var(--crm-ui-text);
        border-color: var(--crm-ui-border);
    }
}

.sales-workspace-card,
.sales-pipeline-card,
.sales-insight-card {
    border: 1px solid var(--crm-ui-border, #e3e6ef);
}

.sales-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.sales-action-tile {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 92px;
    padding: 14px;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: 10px;
    background: var(--crm-ui-surface, #fff);
    color: inherit;
    transition: .2s ease;
}

.sales-action-tile:hover {
    color: inherit;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(146, 153, 184, .14);
}

.sales-action-tile__content {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.sales-action-tile__content strong {
    font-size: 24px;
    line-height: 1;
}

.sales-action-tile__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-left: auto;
    justify-content: flex-end;
}

.sales-pipeline-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}

.sales-pipeline-stage {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 13px;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: 10px;
    background: var(--crm-ui-surface, #fff);
    color: inherit;
}

.sales-pipeline-stage:hover {
    color: inherit;
    border-color: rgba(130, 49, 211, .35);
}

.sales-pipeline-stage__label {
    color: var(--color-primary, #8231d3);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.sales-progress {
    display: block;
    height: 4px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(130, 49, 211, .12);
}

.sales-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--color-primary, #8231d3);
}

.sales-lead-row,
.sales-follow-row,
.sales-activity-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--crm-ui-border, #e3e6ef);
}

.sales-lead-row:last-child,
.sales-follow-row:last-child,
.sales-activity-row:last-child {
    border-bottom: 0;
}

.sales-lead-row__main {
    min-width: 0;
    flex: 1;
}

.sales-row-actions,
.sales-follow-row__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.sales-follow-row {
    align-items: flex-start;
    justify-content: space-between;
}

.sales-compact-table th {
    font-size: 12px;
    text-transform: uppercase;
    color: var(--crm-ui-muted, #868eae);
    white-space: nowrap;
}

.sales-compact-table td {
    vertical-align: middle;
}

.sales-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.sales-mini-card,
.sales-alert-row,
.sales-insight-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: inherit;
}

.sales-mini-card {
    flex-direction: column;
    align-items: flex-start;
    padding: 14px;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: 10px;
    background: var(--crm-ui-surface, #fff);
}

.sales-mini-card strong {
    font-size: 24px;
    line-height: 1;
}

.sales-alert-row,
.sales-insight-row {
    padding: 9px 0;
    border-bottom: 1px solid var(--crm-ui-border, #e3e6ef);
}

.sales-alert-row:last-child,
.sales-insight-row:last-child {
    border-bottom: 0;
}

.sales-insight-card {
    height: 100%;
    padding: 22px 24px;
}

.sales-performance-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.sales-performance-grid span {
    display: flex;
    flex-direction: column;
    padding: 12px;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: 10px;
}

.sales-performance-grid strong {
    font-size: 22px;
    color: var(--crm-ui-text, #0f172a);
}

.sales-performance-grid small {
    color: var(--crm-ui-muted, #868eae);
}

.sales-activity-list {
    display: grid;
    gap: 0;
}

.sales-activity-row:hover,
.sales-insight-row:hover,
.sales-alert-row:hover,
.sales-mini-card:hover {
    color: inherit;
}

@media (max-width: 767.98px) {
    .sales-action-tile,
    .sales-lead-row,
    .sales-follow-row,
    .sales-activity-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .sales-action-tile__actions,
    .sales-row-actions,
    .sales-follow-row__actions {
        justify-content: flex-start;
        margin-left: 0;
    }

    .sales-mini-grid,
    .sales-performance-grid {
        grid-template-columns: 1fr;
    }
}

/* Course catalog management */
.course-catalog-page .breadcrumb-main {
    row-gap: 14px;
}

.course-catalog-stat {
    min-height: 102px;
}

.crm-kpi-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: var(--crm-ui-radius-xl, 12px);
    background: var(--crm-ui-surface, #fff);
    box-shadow: 0 10px 30px rgba(15, 23, 42, .04);
}

.crm-kpi-card__label {
    display: block;
    color: var(--crm-ui-muted, #6b7280);
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 8px;
}

.crm-kpi-card__value {
    display: block;
    color: var(--crm-ui-text, #111827);
    font-size: 26px;
    line-height: 1;
    font-weight: 700;
}

.crm-kpi-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    color: #fff;
    font-size: 19px;
}

.course-catalog-toolbar {
    position: sticky;
    top: 78px;
    z-index: 20;
    padding: 16px;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .05);
}

.course-catalog-toolbar__filters,
.course-catalog-toolbar__actions {
    display: grid;
    grid-template-columns: minmax(240px, 1.3fr) repeat(5, minmax(135px, 1fr));
    gap: 10px;
    align-items: center;
}

.course-catalog-toolbar__actions {
    grid-template-columns: minmax(180px, 220px) auto auto;
    justify-content: end;
    margin-top: 12px;
}

.course-catalog-search {
    position: relative;
}

.course-catalog-search i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-primary);
    font-size: 17px;
}

.course-catalog-search .form-control {
    padding-left: 42px;
}

.course-catalog-toolbar .form-control {
    min-height: 42px;
    border-color: var(--crm-ui-border, #e4e8f0);
    border-radius: var(--crm-ui-radius-lg, 8px);
    font-size: 13px;
}

.course-catalog-toolbar__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.course-chip {
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 999px;
    background: var(--crm-ui-soft, #f5f7fb);
    color: var(--crm-ui-text, #111827);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    padding: 8px 12px;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}

.course-chip:hover,
.course-chip.active {
    background: rgba(var(--color-primary-rgb, 130, 49, 211), .1);
    border-color: rgba(var(--color-primary-rgb, 130, 49, 211), .18);
    color: var(--color-primary);
}

.course-chip--clear {
    background: transparent;
    color: var(--crm-ui-muted, #6b7280);
}

.course-view-toggle {
    display: inline-flex;
    align-items: center;
    padding: 3px;
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: var(--crm-ui-radius-lg, 8px);
    background: var(--crm-ui-soft, #f5f7fb);
}

.course-view-toggle button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 0 12px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--crm-ui-muted, #6b7280);
    font-size: 12px;
    font-weight: 600;
}

.course-view-toggle button.active {
    background: var(--color-primary);
    color: #fff;
}

.course-catalog-bulk {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px 16px;
}

.course-catalog-table thead th {
    color: var(--crm-ui-muted, #6b7280);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
    padding: 14px 16px;
    border-bottom: 1px solid var(--crm-ui-border, #e4e8f0);
    white-space: nowrap;
}

.course-catalog-table tbody td {
    vertical-align: middle;
    padding: 14px 16px;
    border-bottom: 1px solid var(--crm-ui-border, #e4e8f0);
    color: var(--crm-ui-text, #111827);
    font-size: 13px;
}

.course-name-link {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    max-width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    color: var(--crm-ui-text, #111827);
}

.course-name-link strong {
    color: inherit;
    font-size: 14px;
    font-weight: 700;
}

.course-name-link span {
    color: var(--crm-ui-muted, #6b7280);
    font-size: 12px;
}

.course-name-link:hover strong {
    color: var(--color-primary);
}

.course-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
}

.course-row-actions .btn {
    min-height: 30px;
    padding: 0 10px;
    font-size: 12px;
    line-height: 30px;
}

.course-catalog-empty {
    padding: 44px 20px;
    text-align: center;
    color: var(--crm-ui-muted, #6b7280);
}

.course-catalog-empty i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 12px;
    border-radius: 50%;
    background: var(--crm-ui-soft, #f5f7fb);
    color: var(--color-primary);
    font-size: 22px;
}

.course-catalog-card {
    padding: 18px;
}

.course-card-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    color: var(--crm-ui-muted, #6b7280);
    font-size: 12px;
}

.course-card-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.course-card-price {
    margin-top: 14px;
    color: var(--color-success, #00b929);
    font-size: 20px;
    font-weight: 700;
}

.course-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1040;
    display: none;
    background: rgba(15, 23, 42, .26);
}

.course-detail-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1041;
    width: min(440px, 100vw);
    height: 100vh;
    transform: translateX(105%);
    transition: transform .22s ease;
    border-left: 1px solid var(--crm-ui-border, #e4e8f0);
    box-shadow: -20px 0 50px rgba(15, 23, 42, .14);
}

.course-catalog-page.is-drawer-open .course-detail-drawer {
    transform: translateX(0);
}

.course-catalog-page.is-drawer-open .course-drawer-backdrop {
    display: block;
}

.course-detail-drawer__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 22px;
    border-bottom: 1px solid var(--crm-ui-border, #e4e8f0);
}

.course-detail-drawer__body {
    height: calc(100vh - 84px);
    overflow-y: auto;
    padding: 22px;
}

.course-drawer-price {
    color: var(--color-success, #00b929);
    font-size: 28px;
    font-weight: 800;
}

.course-drawer-status {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.course-drawer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.course-drawer-grid > div {
    padding: 12px;
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: var(--crm-ui-radius-lg, 8px);
    background: var(--crm-ui-soft, #f5f7fb);
}

.course-drawer-grid span {
    display: block;
    margin-bottom: 5px;
    color: var(--crm-ui-muted, #6b7280);
    font-size: 12px;
}

.course-drawer-grid strong {
    color: var(--crm-ui-text, #111827);
    font-size: 13px;
}

.course-drawer-section {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--crm-ui-border, #e4e8f0);
}

.course-drawer-section h6 {
    margin-bottom: 12px;
    color: var(--crm-ui-text, #111827);
}

.course-drawer-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.course-drawer-actions .btn {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 1199.98px) {
    .course-catalog-toolbar__filters {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .course-catalog-search {
        grid-column: span 3;
    }
}

@media (max-width: 767.98px) {
    .course-catalog-toolbar {
        position: static;
    }

    .course-catalog-toolbar__filters,
    .course-catalog-toolbar__actions {
        grid-template-columns: 1fr;
    }

    .course-catalog-search {
        grid-column: auto;
    }

    .course-view-toggle,
    .course-view-toggle button,
    .course-catalog-toolbar__actions .btn {
        width: 100%;
    }

    .course-row-actions {
        justify-content: flex-start;
    }

    .course-catalog-table {
        min-width: 980px;
    }

    .course-detail-drawer {
        width: 100vw;
    }

    .course-drawer-grid,
    .course-drawer-actions {
        grid-template-columns: 1fr;
    }
}

/* Student certificate wallet */
.wa-certificate-stat {
    min-height: 150px;
}

.wa-certificate-toolbar {
    position: sticky;
    top: 80px;
    z-index: 5;
}

.wa-certificate-search {
    position: relative;
    min-width: min(360px, 100%);
}

.wa-certificate-search i {
    position: absolute;
    inset-inline-start: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--crm-ui-muted, #6b7280);
    z-index: 1;
}

.wa-certificate-search .form-control {
    padding-inline-start: 40px !important;
}

.wa-certificate-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.wa-certificate-filter.active {
    background: var(--crm-ui-primary, #8231d3) !important;
    border-color: var(--crm-ui-primary, #8231d3) !important;
    color: #fff !important;
}

.wa-certificate-card {
    padding: 20px;
    border: 1px solid var(--crm-ui-border, #e4e8f0);
}

.wa-certificate-card__header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--crm-ui-border, #e4e8f0);
}

.wa-certificate-meta-grid,
.wa-certificate-review,
.wa-achievement-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.wa-certificate-meta-grid {
    margin: 16px 0;
}

.wa-certificate-meta-grid div,
.wa-certificate-review div,
.wa-achievement-list div {
    padding: 10px 12px;
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 8px;
    background: var(--crm-ui-soft, #f8f9fb);
    min-width: 0;
}

.wa-certificate-meta-grid span,
.wa-certificate-review span,
.wa-achievement-list span {
    display: block;
    margin-bottom: 4px;
    color: var(--crm-ui-muted, #6b7280);
    font-size: 12px;
}

.wa-certificate-meta-grid strong,
.wa-certificate-review strong,
.wa-achievement-list strong {
    display: block;
    color: var(--crm-ui-text, #111827);
    font-size: 13px;
    overflow-wrap: anywhere;
}

.wa-certificate-timeline {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    margin-bottom: 16px;
}

.wa-certificate-timeline span {
    height: 6px;
    border-radius: 999px;
    background: var(--crm-ui-border, #e4e8f0);
}

.wa-certificate-timeline span.is-done {
    background: var(--crm-ui-success, #00b929);
}

.wa-certificate-card__footer {
    padding-top: 16px;
    border-top: 1px solid var(--crm-ui-border, #e4e8f0);
}

.wa-certificate-steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
}

.wa-certificate-steps button {
    height: 34px;
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 8px;
    background: var(--crm-ui-soft, #f8f9fb);
    color: var(--crm-ui-muted, #6b7280);
    font-weight: 600;
}

.wa-certificate-steps button.active {
    background: var(--crm-ui-primary, #8231d3);
    border-color: var(--crm-ui-primary, #8231d3);
    color: #fff;
}

.wa-certificate-step {
    display: none;
}

.wa-certificate-step.active {
    display: block;
}

.wa-certificate-modal[hidden] {
    display: none;
}

.wa-certificate-modal {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(17, 24, 39, 0.42);
}

.wa-certificate-modal__dialog {
    position: relative;
    width: min(760px, 100%);
    max-height: calc(100vh - 40px);
    overflow: auto;
    border-radius: 14px;
    background: var(--crm-ui-surface, #fff);
    box-shadow: 0 24px 70px rgba(17, 24, 39, 0.22);
}

.wa-certificate-modal__close {
    position: absolute;
    inset-inline-end: 16px;
    top: 16px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 8px;
    background: var(--crm-ui-soft, #f8f9fb);
    color: var(--crm-ui-text, #111827);
    z-index: 1;
}

.wa-certificate-preview {
    margin: 24px;
    padding: 44px;
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 12px;
    text-align: center;
    background: linear-gradient(180deg, var(--crm-ui-surface, #fff), var(--crm-ui-soft, #f8f9fb));
}

.wa-certificate-preview__brand {
    margin-bottom: 28px;
    color: var(--crm-ui-primary, #8231d3);
    font-weight: 700;
    letter-spacing: 0;
}

.wa-certificate-preview__meta {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 24px 0;
}

.wa-certificate-preview__meta span,
.wa-certificate-preview__qr {
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 8px;
    background: var(--crm-ui-surface, #fff);
    padding: 10px 14px;
    color: var(--crm-ui-text, #111827);
    font-size: 13px;
}

.wa-certificate-preview__qr {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    max-width: 100%;
}

.wa-certificate-preview__qr span {
    overflow-wrap: anywhere;
}

.wa-certificate-modal-open {
    overflow: hidden;
}

html.dark .wa-certificate-card,
html.dark .wa-certificate-meta-grid div,
html.dark .wa-certificate-review div,
html.dark .wa-achievement-list div,
html.dark .wa-certificate-steps button,
html.dark .wa-certificate-modal__dialog,
html.dark .wa-certificate-preview__meta span,
html.dark .wa-certificate-preview__qr,
html.dark .wa-certificate-modal__close {
    background: var(--crm-ui-surface, #1b1e2b);
}

@media (max-width: 991.98px) {
    .wa-certificate-toolbar {
        position: static;
    }
}

@media (max-width: 575.98px) {
    .wa-certificate-search {
        width: 100%;
    }

    .wa-certificate-meta-grid,
    .wa-certificate-review,
    .wa-achievement-list {
        grid-template-columns: 1fr;
    }

    .wa-certificate-card__header {
        gap: 10px;
    }

    .wa-certificate-card .button-group .btn {
        width: 100%;
        justify-content: center;
    }

    .wa-certificate-preview {
        margin: 12px;
        padding: 28px 18px;
    }
}

/* Student placement portal */
.student-profile-page {
    align-items: flex-start;
}

.student-profile-card,
.student-profile-details {
    padding: 24px 0 22px;
}

.student-profile-card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 260px;
}

.student-profile-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin-bottom: 16px;
    border-radius: 50%;
    font-size: 26px;
    font-weight: 700;
}

.student-profile-field,
.student-profile-address {
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 12px;
    background: var(--crm-ui-soft, #f8f9fb);
}

.student-profile-field {
    min-height: 76px;
    padding: 13px 15px;
}

.student-profile-field span {
    display: block;
    margin-bottom: 10px;
    color: var(--crm-text-muted, var(--crm-ui-muted, #64748b));
    font-size: 13px;
}

.student-profile-field strong {
    display: block;
    color: var(--crm-text, var(--crm-ui-text, #111827));
    font-weight: 700;
    overflow-wrap: anywhere;
}

.student-profile-address {
    margin-top: 4px;
    padding: 15px;
    color: var(--crm-text-muted, var(--crm-ui-muted, #64748b));
    line-height: 1.5;
}

html[data-theme="dark"] .student-profile-field,
html[data-theme="dark"] .student-profile-address,
body.layout-dark .student-profile-field,
body.layout-dark .student-profile-address {
    border-color: var(--crm-border, #1f2937);
    background: rgba(15, 23, 42, .36);
}

@media (max-width: 1199.98px) {
    .student-profile-card {
        min-height: 0;
    }
}

.student-batch-detail-page {
    align-items: flex-start;
}

.student-batch-live-card,
.student-batch-trainer-card {
    min-height: 0;
}

.student-batch-live-panel {
    display: grid;
    gap: 0;
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 12px;
    background: var(--crm-ui-soft, #f8f9fb);
    padding: 16px 20px;
}

.student-batch-info-row {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(0, 1.4fr);
    align-items: center;
    gap: 14px;
    min-height: 48px;
    border-bottom: 1px solid var(--crm-ui-border, #e4e8f0);
}

.student-batch-info-row:last-of-type {
    border-bottom: 0;
}

.student-batch-info-row span {
    color: var(--crm-text-muted, var(--crm-ui-muted, #64748b));
    font-size: 13px;
}

.student-batch-info-row strong {
    color: var(--crm-text, var(--crm-ui-text, #111827));
    font-weight: 700;
    text-align: end;
    overflow-wrap: anywhere;
}

.student-batch-live-note {
    margin-top: 14px;
    padding: 13px 14px;
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 10px;
    background: var(--crm-card-bg, #fff);
    color: var(--crm-text-muted, var(--crm-ui-muted, #64748b));
    font-size: 13px;
    line-height: 1.5;
}

.student-batch-actions .btn {
    min-height: 34px;
}

.student-batch-trainer-profile,
.student-batch-metric {
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 12px;
    background: var(--crm-ui-soft, #f8f9fb);
}

.student-batch-trainer-profile {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    padding: 14px 16px;
}

.student-batch-trainer-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    font-size: 20px;
    font-weight: 700;
}

.student-batch-metric {
    min-height: 92px;
    padding: 12px 14px;
}

.student-batch-metric span {
    margin-bottom: 16px !important;
}

.student-batch-metric .progress {
    height: 5px;
    border-radius: 999px;
    background: rgba(148, 163, 184, .16);
}

html[data-theme="dark"] .student-batch-live-panel,
html[data-theme="dark"] .student-batch-trainer-profile,
html[data-theme="dark"] .student-batch-metric,
body.layout-dark .student-batch-live-panel,
body.layout-dark .student-batch-trainer-profile,
body.layout-dark .student-batch-metric {
    border-color: var(--crm-border, #1f2937);
    background: rgba(15, 23, 42, .36);
}

html[data-theme="dark"] .student-batch-live-note,
body.layout-dark .student-batch-live-note {
    border-color: var(--crm-border, #1f2937);
    background: var(--crm-card-bg, #111827);
}

@media (max-width: 575.98px) {
    .student-batch-info-row {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 12px 0;
    }

    .student-batch-info-row strong {
        text-align: start;
    }

    .student-batch-trainer-profile {
        align-items: center;
        gap: 12px;
    }

    .student-batch-actions .btn {
        width: 100%;
        justify-content: center;
    }
}

.student-placement-kpi {
    color: inherit;
    min-height: 142px;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease;
}

.student-placement-kpi:hover {
    color: inherit;
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(17, 24, 39, .08);
}

.student-placement-score {
    display: flex;
    align-items: center;
    gap: 18px;
}

.student-placement-score__ring {
    width: 92px;
    height: 92px;
    min-width: 92px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
}

.student-placement-timeline {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
}

.student-placement-timeline__item {
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 10px;
    background: var(--crm-ui-soft, #f8f9fb);
    padding: 12px;
    min-height: 92px;
}

.student-placement-timeline__item span {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    background: var(--crm-ui-border, #e4e8f0);
    color: var(--crm-ui-muted, #6b7280);
}

.student-placement-timeline__item strong {
    display: block;
    color: var(--crm-ui-text, #111827);
    font-size: 13px;
    line-height: 1.35;
}

.student-placement-timeline__item.is-done {
    border-color: rgba(0, 185, 41, .2);
    background: rgba(0, 185, 41, .06);
}

.student-placement-timeline__item.is-done span {
    background: var(--crm-ui-success, #00b929);
    color: #fff;
}

.student-placement-actions {
    display: grid;
    gap: 10px;
}

.student-placement-actions .btn {
    justify-content: flex-start;
    min-height: 38px;
}

.student-placement-search {
    position: relative;
    width: min(360px, 100%);
}

.student-placement-search i {
    position: absolute;
    inset-inline-start: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--crm-ui-muted, #6b7280);
    z-index: 1;
}

.student-placement-search .form-control {
    padding-inline-start: 40px !important;
}

.student-placement-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.student-placement-filter-row .btn.active {
    color: #fff !important;
    background: var(--crm-ui-primary, #8231d3) !important;
    border-color: var(--crm-ui-primary, #8231d3) !important;
}

.student-placement-job-card {
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 10px;
    background: var(--crm-ui-surface, #fff);
    padding: 18px;
}

.student-placement-job-meta {
    display: grid;
    gap: 8px;
}

.student-placement-job-meta span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--crm-ui-muted, #6b7280);
    font-size: 13px;
}

.student-placement-job-description {
    border-top: 1px solid var(--crm-ui-border, #e4e8f0);
    padding-top: 14px;
}

.student-placement-stage-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.student-placement-stage-grid div,
.student-placement-wallet-card {
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 10px;
    background: var(--crm-ui-soft, #f8f9fb);
    padding: 12px;
}

.student-placement-stage-grid span,
.student-placement-wallet-card span,
.student-placement-document span,
.student-placement-company-row span {
    display: block;
    /* color: var(--crm-ui-muted, #6b7280); */
    font-size: 12px;
}

.student-placement-stage-grid strong,
.student-placement-wallet-card strong,
.student-placement-document strong,
.student-placement-company-row strong {
    display: block;
    color: var(--crm-ui-text, #111827);
    font-size: 14px;
}

.student-placement-interview-row,
.student-placement-company-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 13px 0;
    border-bottom: 1px solid var(--crm-ui-border, #e4e8f0);
}

.student-placement-interview-row:last-child,
.student-placement-company-row:last-child {
    border-bottom: 0;
}

.student-placement-document,
.student-placement-wallet-card {
    display: flex;
    align-items: center;
    gap: 12px;
}

.student-placement-document i {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(130, 49, 211, .1);
    color: var(--crm-ui-primary, #8231d3);
    font-size: 20px;
}

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

    .student-placement-stage-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .student-placement-score {
        align-items: flex-start;
        flex-direction: column;
    }

    .student-placement-timeline,
    .student-placement-stage-grid {
        grid-template-columns: 1fr;
    }

    .student-placement-search {
        width: 100%;
    }

    .student-placement-job-card .button-group,
    .student-placement-job-card .button-group .btn,
    .student-placement-job-card form,
    .student-placement-job-card form .btn {
        width: 100%;
    }
}

.crm-admission-card {
    overflow: hidden;
}

.crm-admission-details,
.crm-admission-status {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.crm-admission-details > div,
.crm-admission-status > div {
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 8px;
    background: var(--crm-ui-soft, #f8f9fb);
    padding: 12px;
    min-height: 70px;
}

.crm-admission-details span,
.crm-admission-status span {
    display: block;
    color: var(--crm-ui-muted, #6b7280);
    font-size: 12px;
    margin-bottom: 6px;
}

.crm-admission-details strong,
.crm-admission-status strong {
    display: block;
    color: var(--crm-ui-text, #111827);
    font-size: 13px;
    line-height: 1.35;
    word-break: break-word;
}

.crm-admission-content {
    min-height: 260px;
    line-height: 1.55;
}

.crm-admission-form .trumbowyg-box,
.crm-admission-form .trumbowyg-editor {
    border-color: var(--crm-ui-border, #e4e8f0);
    border-radius: 10px;
    background: var(--crm-ui-surface, #fff);
}

.crm-admission-form .trumbowyg-box {
    margin: 0;
    min-height: 300px;
}

.crm-admission-form .trumbowyg-button-pane {
    border-bottom-color: var(--crm-ui-border, #e4e8f0);
    background: var(--crm-ui-surface, #fff);
    border-radius: 10px 10px 0 0;
}

.crm-admission-form .trumbowyg-editor {
    min-height: 235px;
    padding: 16px;
    line-height: 1.65;
    color: var(--crm-ui-text, #111827);
}

.crm-admission-quill {
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    background: var(--crm-ui-surface, #fff);
    overflow: hidden;
}

.crm-admission-quill__toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid var(--crm-ui-border, #e4e8f0);
    background: transparent;
}

.crm-admission-quill .ql-formats {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0;
}

.crm-admission-quill .ql-header {
    min-width: 124px;
    height: 38px;
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 6px;
    padding: 0 34px 0 14px;
    background: var(--crm-ui-surface, #fff);
    color: var(--crm-ui-text, #111827);
    font-size: 13px;
    outline: none;
}

.crm-admission-quill .ql-toolbar button {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--crm-ui-text, #111827);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1;
    transition: color .2s ease, background .2s ease;
}

.crm-admission-quill .ql-toolbar button:hover,
.crm-admission-quill .ql-toolbar button:focus {
    background: rgba(130, 49, 211, .1);
    color: var(--crm-ui-primary, #8231d3);
}

.crm-admission-quill .ql-container {
    border: 0;
    min-height: 280px;
    background: var(--crm-ui-surface, #fff);
}

.crm-admission-quill .ql-editor {
    min-height: 280px;
    max-height: 560px;
    overflow: auto;
    padding: 18px 20px;
    color: var(--crm-ui-text, #111827);
    line-height: 1.65;
    outline: none;
}

.crm-admission-quill .ql-editor:empty::before {
    content: attr(data-placeholder);
    color: var(--crm-ui-muted, #9299b8);
    pointer-events: none;
}

.crm-admission-quill .ql-editor:focus {
    box-shadow: inset 0 0 0 1px var(--crm-ui-primary, #8231d3);
}

.crm-admission-quill .ql-editor p,
.crm-admission-quill .ql-editor h3,
.crm-admission-quill .ql-editor h4,
.crm-admission-quill .ql-editor ul,
.crm-admission-quill .ql-editor ol {
    margin-bottom: 12px;
}

.crm-admission-quill .ql-editor ul,
.crm-admission-quill .ql-editor ol {
    padding-left: 24px;
}

.crm-admission-fallback-editor {
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 10px;
    background: var(--crm-ui-surface, #fff);
    overflow: hidden;
}

.crm-admission-fallback-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px;
    border-bottom: 1px solid var(--crm-ui-border, #e4e8f0);
    background: var(--crm-ui-surface, #fff);
}

.crm-admission-fallback-toolbar select {
    width: 124px;
    height: 38px;
    font-size: 13px;
}

.crm-admission-fallback-toolbar button {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--crm-ui-text, #111827);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .2s ease, color .2s ease;
}

.crm-admission-fallback-toolbar button:hover,
.crm-admission-fallback-toolbar button:focus {
    background: rgba(130, 49, 211, .1);
    color: var(--crm-ui-primary, #8231d3);
}

.crm-admission-fallback-body {
    min-height: 250px;
    max-height: 520px;
    overflow: auto;
    padding: 16px;
    line-height: 1.65;
    outline: none;
    color: var(--crm-ui-text, #111827);
    background: var(--crm-ui-surface, #fff);
}

.crm-admission-fallback-body:focus {
    box-shadow: inset 0 0 0 1px var(--crm-ui-primary, #8231d3);
}

.crm-admission-letter {
    margin-top: 20px;
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 10px;
    background: var(--crm-ui-soft, #f8f9fb);
    padding: 20px;
    color: var(--crm-ui-text, #111827);
    line-height: 1.7;
}

.crm-admission-letter h3 {
    margin: 0 0 14px;
    color: var(--crm-ui-text, #111827);
    font-size: 18px;
    font-weight: 600;
}

.crm-admission-checklist {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.crm-admission-checklist label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 8px;
    background: var(--crm-ui-soft, #f8f9fb);
    color: var(--crm-ui-text, #111827);
}

.crm-admission-checklist input {
    margin-top: 4px;
}

.crm-admission-public-card {
    max-width: 820px;
}

.crm-admission-public-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.crm-admission-public-shell .crm-input {
    width: 100%;
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    border-radius: 8px;
    background: var(--crm-ui-surface, #fff);
    color: var(--crm-ui-text, #111827);
    padding: 12px 14px;
    outline: none;
}

@media (max-width: 1199.98px) {
    .crm-admission-details,
    .crm-admission-status {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .crm-admission-details,
    .crm-admission-status,
    .crm-admission-public-grid {
        grid-template-columns: 1fr;
    }

    .crm-admission-content {
        min-height: 220px;
    }
}

.crm-lead-pipeline-board {
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
}

.crm-pipeline-column {
    scroll-snap-align: start;
}

.crm-pipeline-column .crm-kanban-column__inner {
    transition: box-shadow .2s ease, transform .2s ease;
}

.crm-kanban-column__header {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--crm-ui-surface, #fff);
}

.crm-pipeline-dropzone {
    min-height: 230px;
    border-radius: 10px;
    transition: background .2s ease, box-shadow .2s ease, outline-color .2s ease;
}

.crm-pipeline-dropzone.is-over {
    background: rgba(130, 49, 211, .06);
    outline: 1px dashed var(--crm-ui-primary, #8231d3);
    outline-offset: -6px;
    box-shadow: inset 0 0 0 999px rgba(130, 49, 211, .025);
}

.crm-pipeline-card {
    cursor: pointer;
    position: relative;
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease, border-color .18s ease;
    touch-action: pan-x pan-y;
}

.crm-pipeline-card__select {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, .9);
    border: 1px solid var(--crm-ui-border, #e4e8f0);
    z-index: 2;
    opacity: 0;
    transition: opacity .18s ease, border-color .18s ease;
}

.crm-pipeline-card:hover .crm-pipeline-card__select,
.crm-pipeline-card:focus .crm-pipeline-card__select,
.crm-pipeline-card__select:has(input:checked) {
    opacity: 1;
}

.crm-pipeline-card__select input {
    width: 15px;
    height: 15px;
    accent-color: var(--crm-ui-primary, #8231d3);
}

.crm-pipeline-card[draggable="true"] .crm-pipeline-card__drag {
    cursor: grab;
}

.crm-pipeline-card:hover,
.crm-pipeline-card:focus {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(15, 23, 42, .08);
    border-color: rgba(130, 49, 211, .25) !important;
}

.crm-pipeline-card.is-dragging {
    opacity: .58;
    transform: scale(.98);
    box-shadow: 0 16px 36px rgba(15, 23, 42, .14);
}

.crm-pipeline-card.is-saving::after {
    content: "Saving...";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: inherit;
    background: rgba(255, 255, 255, .76);
    color: var(--crm-ui-primary, #8231d3);
    font-weight: 600;
    font-size: 13px;
}

.crm-pipeline-card__meta {
    display: grid;
    gap: 7px;
    color: var(--crm-ui-muted, #747b8f);
    font-size: 12px;
}

.crm-pipeline-card__meta span {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.crm-pipeline-card__meta i {
    color: var(--crm-ui-primary, #8231d3);
    font-size: 14px;
}

.crm-followup-danger {
    border-left: 3px solid #ff4d4f !important;
}

.crm-followup-warning {
    border-left: 3px solid #fa8b0c !important;
}

.crm-followup-success {
    border-left: 3px solid #00b929 !important;
}

.crm-followup-primary {
    border-left: 3px solid var(--crm-ui-primary, #8231d3) !important;
}

.crm-pipeline-empty {
    border: 1px dashed var(--crm-ui-border, #e4e8f0);
    border-radius: 10px;
    background: var(--crm-ui-soft, #f8f9fb);
}

.crm-pipeline-empty__icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(0, 185, 146, .12);
    color: #00b992;
    font-size: 24px;
}

.crm-pipeline-toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;
    min-width: 240px;
    max-width: min(360px, calc(100vw - 32px));
    padding: 12px 16px;
    border-radius: 8px;
    background: var(--crm-ui-primary, #8231d3);
    color: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .18);
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .2s ease, transform .2s ease;
}

.crm-pipeline-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.crm-pipeline-toast--danger {
    background: #ff4d4f;
}

body.layout-dark .crm-kanban-column__header,
body.layout-dark .crm-pipeline-card.is-saving::after {
    background: var(--crm-ui-surface, #1b1d2a);
}

body.layout-dark .crm-pipeline-card__select {
    background: rgba(27, 29, 42, .92);
    border-color: rgba(255, 255, 255, .1);
}

body.layout-dark .crm-pipeline-empty {
    background: rgba(255, 255, 255, .03);
    border-color: rgba(255, 255, 255, .08);
}

@media (max-width: 767.98px) {
    .crm-pipeline-toolbar {
        padding: 15px !important;
    }

    .crm-pipeline-column {
        min-width: calc(100vw - 44px) !important;
    }

    .crm-pipeline-card {
        padding: 14px !important;
    }

    .crm-pipeline-card__select {
        opacity: 1;
    }

    .crm-pipeline-toast {
        left: 16px;
        right: 16px;
        bottom: 18px;
    }
}

html[data-theme="dark"],
body.layout-dark {
    --crm-ui-bg: var(--crm-bg, #0f172a);
    --crm-ui-surface: var(--crm-card-bg, #111827);
    --crm-ui-soft: #0b1220;
    --crm-ui-border: var(--crm-border, #1f2937);
    --crm-ui-text: var(--crm-text, #f8fafc);
    --crm-ui-muted: var(--crm-text-muted, #94a3b8);
    --crm-ui-input: #0f172a;
}

html[data-theme="dark"] body,
body.layout-dark {
    background: var(--crm-ui-bg, #0f172a) !important;
    color: var(--crm-ui-text, #f8fafc);
}

html[data-theme="dark"] body::after,
body.layout-dark::after,
html[data-theme="dark"] #overlayer,
body.layout-dark #overlayer {
    background: var(--crm-ui-bg, #0f172a) !important;
}

html[data-theme="dark"] :where(.contents, .main-content, .crm-app, .crm-shell, .crm-main, .crm-content, .mobile-search),
body.layout-dark :where(.contents, .main-content, .crm-app, .crm-shell, .crm-main, .crm-content, .mobile-search) {
    background: var(--crm-ui-bg, #0f172a) !important;
    color: var(--crm-ui-text, #f8fafc);
}

html[data-theme="dark"] :where(.header-top, .sidebar-wrapper, .sidebar, .sidebar-collapse, .crm-sidebar, .crm-navbar, .footer-wrapper, .customizer-wrapper),
body.layout-dark :where(.header-top, .sidebar-wrapper, .sidebar, .sidebar-collapse, .crm-sidebar, .crm-navbar, .footer-wrapper, .customizer-wrapper) {
    background: var(--crm-ui-surface, #111827) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-text, #f8fafc);
}

html[data-theme="dark"] :where(.card, .card-default, .bg-white, .white-bg, .modal-content, .dropdown-menu, .dropdown-wrapper, .crm-dropdown, .crm-header-live__dropdown, .crm-notification-panel, .account-center-dropdown, .drawer-basic-wrap, .drawer-multiLevel, .popup-content, .crm-action-modal .modal-content),
body.layout-dark :where(.card, .card-default, .bg-white, .white-bg, .modal-content, .dropdown-menu, .dropdown-wrapper, .crm-dropdown, .crm-header-live__dropdown, .crm-notification-panel, .account-center-dropdown, .drawer-basic-wrap, .drawer-multiLevel, .popup-content, .crm-action-modal .modal-content) {
    background: var(--crm-ui-surface, #111827) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .28);
}

html[data-theme="dark"] :where(.card-header, .card-footer, .modal-header, .modal-footer, .dropdown-header, .crm-section-header),
body.layout-dark :where(.card-header, .card-footer, .modal-header, .modal-footer, .dropdown-header, .crm-section-header) {
    background: transparent !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] :where(.card, .modal-content, .dropdown-menu, .table, .form-control, .form-select, .select2-container, .trumbowyg-box, .ql-container) :where(h1, h2, h3, h4, h5, h6, p, label, span, strong, small, td, th),
body.layout-dark :where(.card, .modal-content, .dropdown-menu, .table, .form-control, .form-select, .select2-container, .trumbowyg-box, .ql-container) :where(h1, h2, h3, h4, h5, h6, p, label, span, strong, small, td, th) {
    color: inherit;
}

html[data-theme="dark"] :where(.text-dark, .color-dark, .text-gray, .text-muted, .subtitle, .breadcrumb-item, .breadcrumb-item a),
body.layout-dark :where(.text-dark, .color-dark, .text-gray, .text-muted, .subtitle, .breadcrumb-item, .breadcrumb-item a) {
    color: var(--crm-ui-muted, #94a3b8) !important;
}

html[data-theme="dark"] :where(input, textarea, select, .form-control, .form-select, .form-control-lg, .search-form input, .input-group-text),
body.layout-dark :where(input, textarea, select, .form-control, .form-select, .form-control-lg, .search-form input, .input-group-text) {
    background-color: var(--crm-ui-input, #0f172a) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] :where(input, textarea, .form-control)::placeholder,
body.layout-dark :where(input, textarea, .form-control)::placeholder {
    color: #64748b !important;
}

html[data-theme="dark"] :where(input:focus, textarea:focus, select:focus, .form-control:focus, .form-select:focus),
body.layout-dark :where(input:focus, textarea:focus, select:focus, .form-control:focus, .form-select:focus) {
    background-color: #101827 !important;
    border-color: rgba(130, 49, 211, .65) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
    box-shadow: 0 0 0 .2rem rgba(130, 49, 211, .18) !important;
}

html[data-theme="dark"] :where(.table, table),
body.layout-dark :where(.table, table) {
    --bs-table-bg: transparent;
    --bs-table-color: var(--crm-ui-text, #f8fafc);
    --bs-table-border-color: var(--crm-ui-border, #1f2937);
    color: var(--crm-ui-text, #f8fafc) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
}

html[data-theme="dark"] :where(.table thead th, table thead th, .table tbody td, table tbody td),
body.layout-dark :where(.table thead th, table thead th, .table tbody td, table tbody td) {
    background-color: transparent !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: inherit !important;
}

html[data-theme="dark"] :where(.table-striped > tbody > tr:nth-of-type(odd) > *, tbody tr:nth-child(odd)),
body.layout-dark :where(.table-striped > tbody > tr:nth-of-type(odd) > *, tbody tr:nth-child(odd)) {
    background-color: rgba(255, 255, 255, .025) !important;
}

html[data-theme="dark"] :where(.table-hover tbody tr:hover, .dataTable tbody tr:hover),
body.layout-dark :where(.table-hover tbody tr:hover, .dataTable tbody tr:hover) {
    background-color: rgba(130, 49, 211, .12) !important;
}

html[data-theme="dark"] :where(.page-link, .pagination .page-item .page-link),
body.layout-dark :where(.page-link, .pagination .page-item .page-link) {
    background: var(--crm-ui-surface, #111827) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] :where(.select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple, .select2-dropdown, .select2-results__option),
body.layout-dark :where(.select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple, .select2-dropdown, .select2-results__option) {
    background: var(--crm-ui-input, #0f172a) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] :where(.select2-container--default .select2-selection--single .select2-selection__rendered, .select2-container--default .select2-selection--multiple .select2-selection__choice, .select2-search__field),
body.layout-dark :where(.select2-container--default .select2-selection--single .select2-selection__rendered, .select2-container--default .select2-selection--multiple .select2-selection__choice, .select2-search__field) {
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] :where(.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--selected),
body.layout-dark :where(.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--selected) {
    background: rgba(130, 49, 211, .24) !important;
}

html[data-theme="dark"] :where(.dataTables_wrapper, .dataTables_length select, .dataTables_filter input, .dataTables_info),
body.layout-dark :where(.dataTables_wrapper, .dataTables_length select, .dataTables_filter input, .dataTables_info) {
    color: var(--crm-ui-muted, #94a3b8) !important;
}

html[data-theme="dark"] :where(.ui-datepicker, .daterangepicker, .calendar-table, .wickedpicker, .wickedpicker__controls),
body.layout-dark :where(.ui-datepicker, .daterangepicker, .calendar-table, .wickedpicker, .wickedpicker__controls) {
    background: var(--crm-ui-surface, #111827) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] :where(.trumbowyg-box, .trumbowyg-editor, .trumbowyg-button-pane, .trumbowyg-dropdown, .ql-toolbar, .ql-container, .ql-editor, .tox .tox-toolbar, .tox .tox-edit-area__iframe),
body.layout-dark :where(.trumbowyg-box, .trumbowyg-editor, .trumbowyg-button-pane, .trumbowyg-dropdown, .ql-toolbar, .ql-container, .ql-editor, .tox .tox-toolbar, .tox .tox-edit-area__iframe) {
    background: var(--crm-ui-surface, #111827) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] :where(.crm-chat-shell, .crm-chat-panel, .crm-chat-sidebar, .crm-chat-thread, .crm-chat-composer, .crm-notification-tab, .crm-notification-item, .crm-header-empty, .crm-live-counter-card),
body.layout-dark :where(.crm-chat-shell, .crm-chat-panel, .crm-chat-sidebar, .crm-chat-thread, .crm-chat-composer, .crm-notification-tab, .crm-notification-item, .crm-header-empty, .crm-live-counter-card) {
    background: var(--crm-ui-surface, #111827) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] :where(.crm-empty-state, .empty-state, .no-data, .no-records, .crm-pipeline-empty, .crm-dashboard-widget, .crm-student-card, .student-batch-card, .crm-batch-card, .crm-kpi-card, .crm-info-card, .crm-lead-card, .crm-combo-item),
body.layout-dark :where(.crm-empty-state, .empty-state, .no-data, .no-records, .crm-pipeline-empty, .crm-dashboard-widget, .crm-student-card, .student-batch-card, .crm-batch-card, .crm-kpi-card, .crm-info-card, .crm-lead-card, .crm-combo-item) {
    background: var(--crm-ui-surface, #111827) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] :where(.alert, .badge-light, .badge-white),
body.layout-dark :where(.alert, .badge-light, .badge-white) {
    background: rgba(255, 255, 255, .08) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] :where(.customizer-overlay, .modal-backdrop, .overlay-dark, .overlay-dark-l2, .overlay-dark-sidebar, .popup-overlay, .drawer-overlay),
body.layout-dark :where(.customizer-overlay, .modal-backdrop, .overlay-dark, .overlay-dark-l2, .overlay-dark-sidebar, .popup-overlay, .drawer-overlay) {
    background-color: rgba(2, 6, 23, .72) !important;
}

html[data-theme="dark"] :where(.payment-invoice, .quotation-print, .proposal-print, .certificate-print, .print-area, [data-print-surface]),
body.layout-dark :where(.payment-invoice, .quotation-print, .proposal-print, .certificate-print, .print-area, [data-print-surface]) {
    background: #ffffff !important;
    color: #111827 !important;
}

@media print {
    html[data-theme="dark"] body,
    body.layout-dark {
        background: #ffffff !important;
        color: #111827 !important;
    }

    html[data-theme="dark"] :where(.payment-invoice, .quotation-print, .proposal-print, .certificate-print, .print-area, [data-print-surface], table, .table, .card),
    body.layout-dark :where(.payment-invoice, .quotation-print, .proposal-print, .certificate-print, .print-area, [data-print-surface], table, .table, .card) {
        background: #ffffff !important;
        border-color: #d1d5db !important;
        color: #111827 !important;
        box-shadow: none !important;
    }
}

/* Premium CRM design-system pass: compact, consistent, enterprise surfaces. */
:root {
    --crm-space-1: 4px;
    --crm-space-2: 8px;
    --crm-space-3: 12px;
    --crm-space-4: 16px;
    --crm-space-5: 24px;
    --crm-space-6: 32px;
    --crm-card-radius: 8px;
    --crm-control-radius: 6px;
    --crm-control-height: 36px;
    --crm-card-shadow: 0 10px 28px rgba(15, 23, 42, .08);
    --crm-card-shadow-hover: 0 16px 38px rgba(15, 23, 42, .12);
}

.contents,
.modal,
.crm-action-modal {
    font-size: 14px;
    line-height: 1.5;
}

.contents :where(h1, h2, h3, h4, h5, h6),
.modal :where(h1, h2, h3, h4, h5, h6),
.crm-action-modal :where(h1, h2, h3, h4, h5, h6) {
    letter-spacing: 0;
    line-height: 1.25;
}

.contents :where(.card, .user-group.media-ui, .crm-card, .student-tab-panel, .student-batch-card, .trainer-batch-card, .admin-command-card),
.modal :where(.card, .crm-card),
.crm-action-modal__body :where(.card, .crm-card) {
    border-radius: var(--crm-card-radius) !important;
    border-color: var(--crm-ui-border, #e3e6ef) !important;
    box-shadow: var(--crm-card-shadow) !important;
}

.contents :where(.card, .user-group.media-ui, .crm-card, .student-tab-panel, .student-batch-card, .trainer-batch-card, .admin-command-card):hover {
    box-shadow: var(--crm-card-shadow-hover) !important;
}

.contents :where(.card .card-header, .user-group.media-ui > .border-bottom),
.modal :where(.card .card-header, .modal-header),
.crm-action-modal__header {
    padding: var(--crm-space-4) var(--crm-space-5) !important;
}

.contents :where(.card .card-body, .user-group.media-ui > .px-25, .admin-mini-grid, .admin-quick-actions),
.modal :where(.card .card-body, .modal-body),
.crm-action-modal__body {
    padding: var(--crm-space-5) !important;
}

.contents .btn,
.modal .btn,
.crm-action-modal .btn {
    min-height: var(--crm-control-height);
    padding: 0 var(--crm-space-4);
    border-radius: var(--crm-control-radius) !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
}

.contents .btn:hover,
.modal .btn:hover,
.crm-action-modal .btn:hover {
    transform: translateY(-1px);
}

.contents :where(.btn-xs, .btn.btn-xs),
.modal :where(.btn-xs, .btn.btn-xs),
.crm-action-modal :where(.btn-xs, .btn.btn-xs) {
    min-height: 32px;
    padding: 0 var(--crm-space-3);
    font-size: 12px;
}

.contents :where(.btn-sm, .btn.btn-sm),
.modal :where(.btn-sm, .btn.btn-sm),
.crm-action-modal :where(.btn-sm, .btn.btn-sm) {
    min-height: 36px;
    padding: 0 var(--crm-space-4);
    font-size: 13px;
}

.contents .media-badge,
.modal .media-badge {
    min-height: 24px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .01em;
}

.contents :where(.form-control:not([type="file"]), .form-select, select.form-control),
.modal :where(.form-control:not([type="file"]), .form-select, select.form-control),
.crm-action-modal__body :where(.form-control:not([type="file"]), .form-select, select.form-control) {
    min-height: 40px;
    border-radius: var(--crm-control-radius);
    font-size: 13px;
    line-height: 1.4;
}

.contents :where(.table thead th, .userDatatable thead th, .orderDatatable thead th),
.modal :where(.table thead th) {
    height: 44px;
    padding: var(--crm-space-3) var(--crm-space-4) !important;
}

.contents :where(.table tbody td, .userDatatable tbody td, .orderDatatable tbody td),
.modal :where(.table tbody td) {
    min-height: 48px;
    padding: var(--crm-space-3) var(--crm-space-4) !important;
}

.student-tab-stack {
    gap: var(--crm-space-4) !important;
}

.student-tab-panel {
    padding: var(--crm-space-4) !important;
}

.student-tab-panel__title {
    margin-bottom: var(--crm-space-4) !important;
    padding-bottom: var(--crm-space-3);
    border-bottom: 1px solid var(--crm-ui-border, #e3e6ef);
}

.student-batches-ui .row {
    row-gap: 0;
}

.student-batch-card {
    gap: var(--crm-space-3) !important;
    min-height: 0 !important;
    padding: var(--crm-space-4) !important;
    border-radius: var(--crm-card-radius) !important;
    overflow: hidden;
}

.student-batch-card__header {
    align-items: flex-start !important;
    min-height: 0;
    padding-bottom: var(--crm-space-3);
    border-bottom: 1px solid var(--crm-ui-border, #e3e6ef);
}

.student-batch-card__header h5,
.student-batch-card__header h6 {
    font-size: 16px;
    font-weight: 800;
}

.student-batch-card__header .media-badge {
    flex: 0 0 auto;
    text-transform: uppercase;
}

.student-batch-trainer,
.student-batch-live,
.student-batch-next {
    min-height: 54px;
    padding: var(--crm-space-3) !important;
    border-radius: var(--crm-card-radius) !important;
}

.student-batch-trainer .wh-38,
.student-batch-trainer .avatar,
.student-batch-trainer img {
    width: 32px !important;
    height: 32px !important;
}

.student-batch-schedule,
.student-batch-widgets,
.student-batch-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--crm-space-2) !important;
}

.student-batch-schedule > div,
.student-batch-widgets > div,
.student-batch-mini-grid > span,
.student-progress-pair > span,
.student-batch-card__meta > span {
    min-height: 48px;
    padding: var(--crm-space-3) !important;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: var(--crm-card-radius) !important;
    background: var(--crm-ui-soft, #f8f9fb);
}

.student-batch-mini-grid small,
.student-batch-schedule span,
.student-batch-widgets span,
.student-progress-pair span,
.student-batch-card__meta span {
    color: var(--crm-ui-muted, #64748b);
    font-size: 11px;
    line-height: 1.3;
}

.student-batch-mini-grid strong,
.student-batch-schedule strong,
.student-batch-widgets strong {
    display: block;
    margin-top: var(--crm-space-1);
    color: var(--crm-ui-text, #0f172a);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.student-batch-progress {
    padding: 0;
}

.student-batch-progress .progress-wrap,
.student-batch-progress .progress {
    height: 6px !important;
}

.student-batch-actions {
    margin-top: auto;
    padding-top: var(--crm-space-3);
    border-top: 1px solid var(--crm-ui-border, #e3e6ef);
}

.student-batch-actions .btn {
    flex: 0 0 auto;
}

.student-batch-actions--dashboard .btn:first-child,
.student-batch-actions--desktop .btn:first-child,
.student-batch-actions--mobile .btn:first-child {
    background: var(--color-primary, #8231d3);
    border-color: var(--color-primary, #8231d3);
    color: #fff;
}

.trainer-batch-card--premium {
    display: flex;
    flex-direction: column;
    gap: var(--crm-space-3) !important;
    min-height: 0 !important;
    padding: var(--crm-space-4) !important;
    border-radius: var(--crm-card-radius) !important;
    overflow: hidden;
}

.trainer-batch-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--crm-space-3);
    padding-bottom: var(--crm-space-3);
    border-bottom: 1px solid var(--crm-ui-border, #e3e6ef);
}

.trainer-batch-card__header h6 {
    font-size: 16px;
    font-weight: 800;
}

.trainer-batch-card__header .media-badge {
    flex: 0 0 auto;
    text-transform: uppercase;
}

.trainer-batch-card__summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--crm-space-2);
}

.trainer-batch-card__summary > span,
.trainer-batch-card__metrics > span {
    min-width: 0;
    min-height: 48px;
    padding: var(--crm-space-3);
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: var(--crm-card-radius);
    background: var(--crm-ui-soft, #f8f9fb);
}

.trainer-batch-card__summary small {
    display: block;
    color: var(--crm-ui-muted, #64748b);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
}

.trainer-batch-card__summary strong {
    display: block;
    margin-top: var(--crm-space-1);
    color: var(--crm-ui-text, #0f172a);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.trainer-batch-card__progress .progress-wrap,
.trainer-batch-card__progress .progress {
    height: 6px;
    border-radius: 999px;
    background: var(--crm-ui-border, #e3e6ef);
    overflow: hidden;
}

.trainer-batch-card__progress .progress-bar {
    height: 100%;
    border-radius: inherit;
}

.trainer-batch-card__metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--crm-space-2);
    margin-top: var(--crm-space-2);
}

.trainer-batch-card__metrics > span {
    min-height: 40px;
    color: var(--crm-ui-muted, #64748b);
    font-size: 12px;
    font-weight: 700;
}

.trainer-batch-card__metrics strong {
    color: var(--crm-ui-text, #0f172a);
}

.trainer-batch-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--crm-space-2);
    margin-top: auto;
    padding-top: var(--crm-space-3);
    border-top: 1px solid var(--crm-ui-border, #e3e6ef);
}

.trainer-batch-card__actions .btn:nth-child(n+5) {
    display: none;
}

.crm-live-class-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    height: 100%;
    min-height: 0;
    padding: 16px;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: var(--crm-card-radius);
    background: var(--crm-ui-surface, #ffffff);
    box-shadow: var(--crm-card-shadow);
    transition: box-shadow .16s ease, transform .16s ease, border-color .16s ease;
}

.crm-live-class-card:hover {
    border-color: rgba(var(--color-primary-rgba, 130, 49, 211), .28);
    box-shadow: var(--crm-card-shadow-hover);
    transform: translateY(-1px);
}

.crm-live-class-card__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--crm-ui-border, #e3e6ef);
}

.crm-live-class-card__header strong {
    font-size: 16px;
    font-weight: 800;
    line-height: 1.25;
}

.crm-live-class-card__header .media-badge {
    flex: 0 0 auto;
    text-transform: uppercase;
}

.crm-live-class-card__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.crm-live-class-card__grid > span {
    min-width: 0;
    min-height: 58px;
    padding: 10px 12px;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: var(--crm-card-radius);
    background: var(--crm-ui-soft, #f8f9fb);
}

.crm-live-class-card__grid small {
    display: block;
    color: var(--crm-ui-muted, #64748b);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
}

.crm-live-class-card__grid strong {
    display: block;
    margin-top: var(--crm-space-1);
    color: var(--crm-ui-text, #0f172a);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.crm-live-class-card__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, max-content));
    justify-content: start;
    gap: 8px;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--crm-ui-border, #e3e6ef);
}

.crm-live-class-card__actions .btn {
    min-width: 0;
    justify-content: center;
    white-space: nowrap;
}

html[data-theme="dark"] .trainer-batch-card__summary > span,
html[data-theme="dark"] .trainer-batch-card__metrics > span,
html[data-theme="dark"] .crm-live-class-card,
html[data-theme="dark"] .crm-live-class-card__grid > span,
body.layout-dark .trainer-batch-card__summary > span,
body.layout-dark .trainer-batch-card__metrics > span,
body.layout-dark .crm-live-class-card,
body.layout-dark .crm-live-class-card__grid > span {
    background: rgba(255, 255, 255, .035) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
}

html[data-theme="dark"] .student-batch-schedule > div,
html[data-theme="dark"] .student-batch-widgets > div,
html[data-theme="dark"] .student-batch-mini-grid > span,
html[data-theme="dark"] .student-progress-pair > span,
html[data-theme="dark"] .student-batch-card__meta > span,
body.layout-dark .student-batch-schedule > div,
body.layout-dark .student-batch-widgets > div,
body.layout-dark .student-batch-mini-grid > span,
body.layout-dark .student-progress-pair > span,
body.layout-dark .student-batch-card__meta > span {
    background: rgba(255, 255, 255, .035) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
}

@media (min-width: 1200px) {
    .student-batch-card {
        padding: var(--crm-space-4) !important;
    }
}

@media (max-width: 767.98px) {
    .contents :where(.card .card-body, .user-group.media-ui > .px-25, .admin-mini-grid, .admin-quick-actions),
    .modal :where(.card .card-body, .modal-body),
    .crm-action-modal__body {
        padding: var(--crm-space-4) !important;
    }

    .student-batch-schedule,
    .student-batch-widgets,
    .student-batch-mini-grid {
        grid-template-columns: 1fr;
    }

    .student-batch-actions {
        display: flex;
        gap: var(--crm-space-2);
    }

    .student-batch-actions--desktop {
        display: none !important;
    }

    .student-batch-actions--mobile,
    .student-batch-actions--dashboard {
        display: flex !important;
    }

    .student-batch-actions .btn {
        min-width: 0;
    }

    .crm-live-class-card {
        padding: 14px;
    }

    .crm-live-class-card__header,
    .crm-live-class-card__grid,
    .crm-live-class-card__actions {
        grid-template-columns: 1fr;
    }

    .crm-live-class-card__actions .btn {
        width: 100%;
    }
}

/* Global CRM button system. Loaded last so every CRM button follows one design. */
:root {
    --crm-btn-height: 36px;
    --crm-btn-height-xs: 32px;
    --crm-btn-height-sm: 36px;
    --crm-btn-height-lg: 44px;
    --crm-btn-radius: 6px;
    --crm-btn-padding: 16px;
    --crm-btn-gap: 8px;
    --crm-btn-shadow: 0 8px 18px rgba(15, 23, 42, .08);
    --crm-btn-shadow-hover: 0 12px 24px rgba(15, 23, 42, .12);
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn, .crm-button),
:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(button.btn, a.btn, label.btn) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--crm-btn-gap) !important;
    min-height: var(--crm-btn-height) !important;
    padding: 0 var(--crm-btn-padding) !important;
    border-radius: var(--crm-btn-radius) !important;
    border-width: 1px !important;
    border-style: solid !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    vertical-align: middle !important;
    box-shadow: none;
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn i, .crm-button i, .btn svg, .crm-button svg) {
    flex: 0 0 auto;
    margin: 0 !important;
    font-size: 15px;
    line-height: 1;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn:hover, .crm-button:hover) {
    transform: translateY(-1px);
    box-shadow: var(--crm-btn-shadow-hover);
    text-decoration: none !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn:focus-visible, .crm-button:focus-visible) {
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgba, 130, 49, 211), .20) !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn:disabled, .btn.disabled, .crm-button:disabled, .crm-button.is-disabled) {
    pointer-events: none;
    opacity: .58;
    transform: none !important;
    box-shadow: none !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-xs, .btn.btn-xs) {
    min-height: var(--crm-btn-height-xs) !important;
    padding: 0 12px !important;
    font-size: 12px !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-sm, .btn.btn-sm) {
    min-height: var(--crm-btn-height-sm) !important;
    padding: 0 14px !important;
    font-size: 13px !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-lg, .btn.btn-lg) {
    min-height: var(--crm-btn-height-lg) !important;
    padding: 0 20px !important;
    font-size: 14px !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-primary, .crm-button--primary) {
    background: var(--color-primary, #8231d3) !important;
    border-color: var(--color-primary, #8231d3) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-primary:hover, .crm-button--primary:hover) {
    background: var(--bg-primary-hover, #6726a8) !important;
    border-color: var(--bg-primary-hover, #6726a8) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-success) {
    background: var(--color-success, #01b81a) !important;
    border-color: var(--color-success, #01b81a) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-success:hover) {
    background: var(--bg-success-hover, #0d811d) !important;
    border-color: var(--bg-success-hover, #0d811d) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-danger) {
    background: var(--color-danger, #ff0f0f) !important;
    border-color: var(--color-danger, #ff0f0f) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-danger:hover) {
    background: var(--bg-danger-hover, #cb0000) !important;
    border-color: var(--bg-danger-hover, #cb0000) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-warning) {
    background: var(--color-warning, #fa8b0c) !important;
    border-color: var(--color-warning, #fa8b0c) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-warning:hover) {
    background: var(--bg-warning-hover, #d9790a) !important;
    border-color: var(--bg-warning-hover, #d9790a) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-info) {
    background: var(--color-info, #00aaff) !important;
    border-color: var(--color-info, #00aaff) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-info:hover) {
    background: var(--bg-info-hover, #0787c7) !important;
    border-color: var(--bg-info-hover, #0787c7) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-secondary, .btn-white, .btn-light, .crm-button--light) {
    background: var(--crm-ui-surface, #ffffff) !important;
    border-color: var(--crm-ui-border, #e3e6ef) !important;
    color: var(--crm-ui-text, #0f172a) !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-secondary:hover, .btn-white:hover, .btn-light:hover, .crm-button--light:hover) {
    background: var(--crm-ui-soft, #f8f9fb) !important;
    border-color: rgba(var(--color-primary-rgba, 130, 49, 211), .35) !important;
    color: var(--color-primary, #8231d3) !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-outline-primary) {
    background: transparent !important;
    border-color: var(--color-primary, #8231d3) !important;
    color: var(--color-primary, #8231d3) !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-outline-primary:hover) {
    background: var(--color-primary, #8231d3) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.button-group, .action-btn, .crm-form-actions, .crm-filter-actions, .crm-mini-actions, .crm-stat-card__actions, .student-batch-actions, .trainer-batch-card__actions, .crm-live-class-card__actions) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px !important;
}

html[data-theme="dark"] :where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-secondary, .btn-white, .btn-light, .crm-button--light),
body.layout-dark :where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-secondary, .btn-white, .btn-light, .crm-button--light) {
    background: rgba(255, 255, 255, .055) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] :where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-secondary:hover, .btn-white:hover, .btn-light:hover, .crm-button--light:hover),
body.layout-dark :where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn-secondary:hover, .btn-white:hover, .btn-light:hover, .crm-button--light:hover) {
    background: rgba(130, 49, 211, .16) !important;
    border-color: rgba(130, 49, 211, .45) !important;
    color: #ffffff !important;
}

@media (max-width: 767.98px) {
    :where(.contents, .modal, .crm-action-modal, .header-top, .customizer-wrapper, .mobile-author-actions, .crm-app, .crm-shell) :where(.btn, .crm-button) {
        min-height: 40px !important;
        padding: 0 14px !important;
    }

    :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.button-group, .action-btn, .crm-form-actions, .crm-filter-actions, .crm-mini-actions) {
        width: 100%;
    }

    :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.button-group .btn, .crm-form-actions .btn, .crm-filter-actions .btn) {
        flex: 1 1 auto;
        min-width: max-content;
    }
}

/* Global CRM table and badge system. Keep this after dark-mode text rules so status pills stay readable. */
:root {
    --crm-table-bg: #ffffff;
    --crm-table-head-bg: #f8fafc;
    --crm-table-row-bg: #ffffff;
    --crm-table-row-alt-bg: #fbfcff;
    --crm-table-row-hover-bg: #f5f7fb;
    --crm-table-border: var(--crm-ui-border, #e3e6ef);
    --crm-table-text: var(--crm-ui-text, #0f172a);
    --crm-table-muted: var(--crm-ui-muted, #64748b);
    --crm-badge-height: 28px;
    --crm-badge-radius: 999px;
    --crm-badge-padding-x: 12px;
    --crm-badge-font-size: 11px;
}

html[data-theme="dark"],
body.layout-dark {
    --crm-table-bg: #111827;
    --crm-table-head-bg: #0b1220;
    --crm-table-row-bg: #111827;
    --crm-table-row-alt-bg: #172033;
    --crm-table-row-hover-bg: #1f2937;
    --crm-table-border: #263247;
    --crm-table-text: #f8fafc;
    --crm-table-muted: #cbd5e1;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.table-responsive, .dataTables_wrapper, .userDatatable, .orderDatatable) {
    border: 1px solid var(--crm-table-border) !important;
    border-radius: var(--crm-card-radius, 8px) !important;
    background: var(--crm-table-bg) !important;
    overflow-x: auto;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.table, table.dataTable, .userDatatable table, .orderDatatable table) {
    width: 100%;
    margin-bottom: 0 !important;
    color: var(--crm-table-text) !important;
    background: var(--crm-table-bg) !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    --bs-table-bg: var(--crm-table-bg);
    --bs-table-striped-bg: var(--crm-table-row-alt-bg);
    --bs-table-hover-bg: var(--crm-table-row-hover-bg);
    --bs-table-color: var(--crm-table-text);
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.table thead th, table.dataTable thead th, .userDatatable thead th, .orderDatatable thead th, tr.userDatatable-header th) {
    height: 46px !important;
    padding: 12px 16px !important;
    background: var(--crm-table-head-bg) !important;
    border-color: var(--crm-table-border) !important;
    color: var(--crm-table-text) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase;
    white-space: nowrap;
    vertical-align: middle !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.table tbody tr, table.dataTable tbody tr, .userDatatable tbody tr, .orderDatatable tbody tr) {
    background: var(--crm-table-row-bg) !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.table tbody tr:nth-child(odd), table.dataTable tbody tr:nth-child(odd), .userDatatable tbody tr:nth-child(odd), .orderDatatable tbody tr:nth-child(odd)) > * {
    background: var(--crm-table-row-bg) !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.table tbody tr:nth-child(even), table.dataTable tbody tr:nth-child(even), .userDatatable tbody tr:nth-child(even), .orderDatatable tbody tr:nth-child(even)) > * {
    background: var(--crm-table-row-alt-bg) !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.table tbody tr:hover, table.dataTable tbody tr:hover, .userDatatable tbody tr:hover, .orderDatatable tbody tr:hover) > * {
    background: var(--crm-table-row-hover-bg) !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.table tbody td, table.dataTable tbody td, .userDatatable tbody td, .orderDatatable tbody td) {
    min-height: 54px !important;
    padding: 14px 16px !important;
    border-color: var(--crm-table-border) !important;
    color: var(--crm-table-text) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    vertical-align: middle !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.table tbody td strong, .table tbody td .color-dark, table.dataTable tbody td strong, table.dataTable tbody td .color-dark) {
    color: var(--crm-table-text) !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.table tbody td .color-light, .table tbody td .text-muted, .table tbody td small, table.dataTable tbody td .color-light, table.dataTable tbody td .text-muted, table.dataTable tbody td small) {
    color: var(--crm-table-muted) !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge, .badge, .badge-round, .status-badge, .crm-status-badge, .crm-score-badge) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: var(--crm-badge-height) !important;
    max-width: 180px;
    padding: 5px var(--crm-badge-padding-x) !important;
    border: 1px solid transparent !important;
    border-radius: var(--crm-badge-radius) !important;
    font-size: var(--crm-badge-font-size) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge i, .badge i, .badge-round i, .status-badge i) {
    flex: 0 0 auto;
    margin: 0 !important;
    color: currentColor !important;
    line-height: 1;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.color-white, .badge.color-white, .badge-round.color-white) {
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-primary, .badge.bg-primary, .badge-primary) {
    background: var(--color-primary, #8231d3) !important;
    border-color: var(--color-primary, #8231d3) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-success, .badge.bg-success, .badge-success) {
    background: var(--color-success, #01b81a) !important;
    border-color: var(--color-success, #01b81a) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-warning, .badge.bg-warning, .badge-warning) {
    background: var(--color-warning, #fa8b0c) !important;
    border-color: var(--color-warning, #fa8b0c) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-danger, .badge.bg-danger, .badge-danger) {
    background: var(--color-danger, #ff0f0f) !important;
    border-color: var(--color-danger, #ff0f0f) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-info, .badge.bg-info, .badge-info) {
    background: var(--color-info, #00aaff) !important;
    border-color: var(--color-info, #00aaff) !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-secondary, .media-badge.bg-light, .media-badge.bg-dark, .badge.bg-secondary, .badge.bg-light, .badge.bg-dark, .badge-secondary, .badge-light, .badge-dark) {
    background: #64748b !important;
    border-color: #64748b !important;
    color: #ffffff !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-primary, .badge.bg-opacity-10.color-primary, .media-badge.color-primary:not([class*="bg-"]), .badge.color-primary:not([class*="bg-"])) {
    background: rgba(var(--color-primary-rgba, 130, 49, 211), .14) !important;
    border-color: rgba(var(--color-primary-rgba, 130, 49, 211), .26) !important;
    color: var(--color-primary, #8231d3) !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-success, .badge.bg-opacity-10.color-success, .media-badge.color-success:not([class*="bg-"]), .badge.color-success:not([class*="bg-"])) {
    background: rgba(1, 184, 26, .14) !important;
    border-color: rgba(1, 184, 26, .26) !important;
    color: #0f8f22 !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-warning, .badge.bg-opacity-10.color-warning, .media-badge.color-warning:not([class*="bg-"]), .badge.color-warning:not([class*="bg-"])) {
    background: rgba(250, 139, 12, .16) !important;
    border-color: rgba(250, 139, 12, .30) !important;
    color: #b86204 !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-danger, .badge.bg-opacity-10.color-danger, .media-badge.color-danger:not([class*="bg-"]), .badge.color-danger:not([class*="bg-"])) {
    background: rgba(255, 15, 15, .14) !important;
    border-color: rgba(255, 15, 15, .28) !important;
    color: #cc1010 !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-info, .badge.bg-opacity-10.color-info, .media-badge.color-info:not([class*="bg-"]), .badge.color-info:not([class*="bg-"])) {
    background: rgba(0, 170, 255, .14) !important;
    border-color: rgba(0, 170, 255, .30) !important;
    color: #087eb8 !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-light, .badge.bg-opacity-10.color-light, .media-badge.color-light:not([class*="bg-"]), .badge.color-light:not([class*="bg-"]), .media-badge.color-gray, .badge.color-gray) {
    background: rgba(100, 116, 139, .14) !important;
    border-color: rgba(100, 116, 139, .26) !important;
    color: #475569 !important;
}

html[data-theme="dark"] :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-primary, .badge.bg-opacity-10.color-primary, .media-badge.color-primary:not([class*="bg-"]), .badge.color-primary:not([class*="bg-"])),
body.layout-dark :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-primary, .badge.bg-opacity-10.color-primary, .media-badge.color-primary:not([class*="bg-"]), .badge.color-primary:not([class*="bg-"])) {
    background: rgba(168, 85, 247, .18) !important;
    border-color: rgba(168, 85, 247, .32) !important;
    color: #d8b4fe !important;
}

html[data-theme="dark"] :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-success, .badge.bg-opacity-10.color-success, .media-badge.color-success:not([class*="bg-"]), .badge.color-success:not([class*="bg-"])),
body.layout-dark :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-success, .badge.bg-opacity-10.color-success, .media-badge.color-success:not([class*="bg-"]), .badge.color-success:not([class*="bg-"])) {
    background: rgba(34, 197, 94, .18) !important;
    border-color: rgba(34, 197, 94, .34) !important;
    color: #86efac !important;
}

html[data-theme="dark"] :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-warning, .badge.bg-opacity-10.color-warning, .media-badge.color-warning:not([class*="bg-"]), .badge.color-warning:not([class*="bg-"])),
body.layout-dark :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-warning, .badge.bg-opacity-10.color-warning, .media-badge.color-warning:not([class*="bg-"]), .badge.color-warning:not([class*="bg-"])) {
    background: rgba(251, 146, 60, .20) !important;
    border-color: rgba(251, 146, 60, .38) !important;
    color: #fdba74 !important;
}

html[data-theme="dark"] :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-danger, .badge.bg-opacity-10.color-danger, .media-badge.color-danger:not([class*="bg-"]), .badge.color-danger:not([class*="bg-"])),
body.layout-dark :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-danger, .badge.bg-opacity-10.color-danger, .media-badge.color-danger:not([class*="bg-"]), .badge.color-danger:not([class*="bg-"])) {
    background: rgba(248, 113, 113, .18) !important;
    border-color: rgba(248, 113, 113, .34) !important;
    color: #fca5a5 !important;
}

html[data-theme="dark"] :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-info, .badge.bg-opacity-10.color-info, .media-badge.color-info:not([class*="bg-"]), .badge.color-info:not([class*="bg-"])),
body.layout-dark :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-info, .badge.bg-opacity-10.color-info, .media-badge.color-info:not([class*="bg-"]), .badge.color-info:not([class*="bg-"])) {
    background: rgba(56, 189, 248, .18) !important;
    border-color: rgba(56, 189, 248, .34) !important;
    color: #7dd3fc !important;
}

html[data-theme="dark"] :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-light, .badge.bg-opacity-10.color-light, .media-badge.color-light:not([class*="bg-"]), .badge.color-light:not([class*="bg-"]), .media-badge.color-gray, .badge.color-gray),
body.layout-dark :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge.bg-opacity-10.color-light, .badge.bg-opacity-10.color-light, .media-badge.color-light:not([class*="bg-"]), .badge.color-light:not([class*="bg-"]), .media-badge.color-gray, .badge.color-gray) {
    background: rgba(148, 163, 184, .18) !important;
    border-color: rgba(148, 163, 184, .32) !important;
    color: #e2e8f0 !important;
}

@media (max-width: 767.98px) {
    :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.table thead th, table.dataTable thead th, .userDatatable thead th, .orderDatatable thead th) {
        padding: 11px 12px !important;
        font-size: 10px !important;
    }

    :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.table tbody td, table.dataTable tbody td, .userDatatable tbody td, .orderDatatable tbody td) {
        padding: 12px !important;
        font-size: 12px !important;
    }

    :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) :where(.media-badge, .badge, .badge-round, .status-badge, .crm-status-badge, .crm-score-badge) {
        min-height: 26px !important;
        padding-inline: 10px !important;
        font-size: 10px !important;
        max-width: 150px;
    }
}

/* Card visible action footer standard. */
:where(.contents, .modal, .crm-app, .crm-shell) .crm-action-card {
    display: flex !important;
    flex-direction: column !important;
}

:where(.contents, .modal, .crm-app, .crm-shell) .crm-card-action-footer {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: auto !important;
    padding-top: 14px !important;
    border-top: 1px solid var(--crm-ui-border, #e3e6ef) !important;
}

:where(.contents, .modal, .crm-app, .crm-shell) .crm-card-action-footer form {
    display: inline-flex !important;
    margin: 0 !important;
}

:where(.contents, .modal, .crm-app, .crm-shell) .crm-card-action-footer .btn {
    min-height: 32px !important;
    min-width: 0 !important;
    justify-content: center !important;
    padding: 0 12px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

:where(.contents, .modal, .crm-app, .crm-shell) .crm-card-action-footer .btn i {
    flex: 0 0 auto;
    font-size: 14px;
}

html[data-theme="dark"] :where(.contents, .modal, .crm-app, .crm-shell) .crm-card-action-footer,
body.layout-dark :where(.contents, .modal, .crm-app, .crm-shell) .crm-card-action-footer {
    border-color: var(--crm-ui-border, #1f2937) !important;
}

@media (max-width: 575.98px) {
    :where(.contents, .modal, .crm-app, .crm-shell) .crm-card-action-footer {
        align-items: stretch !important;
    }

    :where(.contents, .modal, .crm-app, .crm-shell) .crm-card-action-footer .btn,
    :where(.contents, .modal, .crm-app, .crm-shell) .crm-card-action-footer form {
        width: 100% !important;
    }
}

/* Lead form compact WhatsApp row. */
:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-whatsapp-inline {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    min-height: 74px;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-whatsapp-inline__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 18px;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-whatsapp-inline__label {
    flex: 0 0 auto;
    margin: 0 !important;
    color: var(--crm-ui-text, #0f172a) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-whatsapp-inline .crm-whatsapp-toggle {
    width: auto !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    white-space: nowrap !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-block {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 24px !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-control {
    position: relative !important;
    flex: 0 0 auto;
    width: 18px !important;
    height: 18px !important;
    margin: 2px 6px 0 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 1px solid var(--crm-ui-border, #cbd5e1) !important;
    border-radius: 4px !important;
    background: transparent !important;
    outline: none !important;
    cursor: pointer;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-control::before {
    content: "" !important;
    position: absolute;
    pointer-events: none;
    width: 1px;
    height: 10px;
    border-radius: 999px;
    background: transparent;
    opacity: 0;
    transform: scale(0);
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-control::after {
    content: "" !important;
    position: absolute;
    top: 2px;
    left: 5px;
    display: none;
    width: 5px;
    height: 10px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    background: transparent;
    transform: rotate(45deg);
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-control:checked {
    border-color: var(--color-primary, #8231d3) !important;
    background: var(--color-primary, #8231d3) !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-control:checked::before {
    opacity: .16;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-control:checked::after {
    display: block;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-control:hover,
:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-label:hover {
    cursor: pointer;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-label {
    display: inline-block !important;
    margin: 0 !important;
    padding-left: 2px !important;
    color: var(--crm-ui-text, #0f172a) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

:where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-whatsapp-inline .crm-whatsapp-toggle .crm-checkbox-label {
    white-space: nowrap !important;
}

html[data-theme="dark"] :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-control,
body.layout-dark :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-control {
    border-color: rgba(255, 255, 255, .14) !important;
}

html[data-theme="dark"] :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-control:checked,
body.layout-dark :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-control:checked {
    border-color: var(--color-primary, #8231d3) !important;
    background: var(--color-primary, #8231d3) !important;
}

html[data-theme="dark"] :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-label,
body.layout-dark :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-checkbox-label {
    color: var(--crm-ui-text, #f8fafc) !important;
}

/* Batch Management page polish. */
.crm-batches-page {
    --crm-batches-gap: 16px;
}

.crm-batches-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
    padding: 18px 20px;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: var(--crm-card-radius, 8px);
    background: var(--crm-ui-surface, #ffffff);
    box-shadow: var(--crm-card-shadow, 0 10px 30px rgba(15, 23, 42, .04));
}

.crm-batches-header__kicker {
    display: block;
    margin-bottom: 8px;
    color: var(--color-primary, #8231d3);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.crm-batches-header .breadcrumb-title {
    color: var(--crm-ui-text, #0f172a) !important;
    font-size: 22px;
    line-height: 1.2;
}

.crm-batches-stats {
    margin-bottom: 2px;
}

.crm-batches-stat-card {
    position: relative;
    min-height: 112px;
    overflow: hidden;
}

.crm-batches-stat-card__progress {
    position: absolute;
    right: 20px;
    bottom: 16px;
    left: 20px;
    height: 5px;
    border-radius: 999px;
    background: var(--crm-ui-soft, #f5f7fb);
    overflow: hidden;
}

.crm-batches-stat-card__progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
}

.crm-batches-toolbar {
    display: grid;
    gap: 14px;
    margin-bottom: 24px;
    padding: 16px;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: var(--crm-card-radius, 8px);
    background: var(--crm-ui-surface, #ffffff);
    box-shadow: var(--crm-card-shadow, 0 10px 30px rgba(15, 23, 42, .04));
}

.crm-batches-toolbar__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
    gap: 14px;
    align-items: center;
}

.crm-batches-toolbar .project-tap {
    min-width: 0;
    margin: 0 !important;
    padding: 0;
    box-shadow: none !important;
    background: transparent;
}

.crm-batches-toolbar .project-tap .nav,
.crm-batches-toolbar .student-batches-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0 !important;
}

.crm-batches-toolbar .project-tap .nav-link,
.crm-batches-toolbar .student-batches-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    margin: 0;
    padding: 8px 13px;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: 999px;
    background: var(--crm-ui-soft, #f5f7fb);
    color: var(--crm-ui-muted, #64748b);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: capitalize;
}

.crm-batches-toolbar .project-tap .nav-link.active,
.crm-batches-toolbar .project-tap .nav-link:hover,
.crm-batches-toolbar .student-batches-tabs a.active,
.crm-batches-toolbar .student-batches-tabs a:hover {
    border-color: var(--color-primary, #8231d3);
    background: var(--color-primary, #8231d3);
    color: #ffffff;
}

.crm-batches-toolbar .student-batches-tabs a span {
    background: rgba(100, 116, 139, .14);
}

.crm-batches-toolbar .student-batches-tabs a.active span,
.crm-batches-toolbar .student-batches-tabs a:hover span {
    background: rgba(255, 255, 255, .20);
    color: #ffffff;
}

.crm-batches-toolbar .project-search {
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: var(--crm-control-radius, 6px);
    background: var(--crm-ui-soft, #f5f7fb);
    box-shadow: none !important;
}

.crm-batches-toolbar .project-search .user-member__form {
    min-height: 40px;
}

.crm-batches-toolbar .project-search .form-control {
    min-height: 38px !important;
    color: var(--crm-ui-text, #0f172a);
    background: transparent !important;
}

.crm-batches-filter-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(132px, 1fr)) minmax(105px, auto);
    gap: 10px;
    align-items: center;
}

.crm-batches-filter-grid--admin {
    grid-template-columns: minmax(180px, 260px) minmax(105px, auto);
    justify-content: end;
}

.crm-batches-filter-grid .form-control {
    min-height: 40px;
    margin: 0 !important;
    border-color: var(--crm-ui-border, #e3e6ef);
    border-radius: var(--crm-control-radius, 6px);
    font-size: 13px;
}

.crm-batches-filter-grid .btn {
    min-height: 40px !important;
    margin: 0 !important;
}

.crm-batch-card {
    border-color: var(--crm-ui-border, #e3e6ef) !important;
    box-shadow: var(--crm-card-shadow, 0 10px 30px rgba(15, 23, 42, .04));
}

.crm-batch-card:hover {
    box-shadow: var(--crm-card-shadow-hover, 0 18px 42px rgba(15, 23, 42, .08));
}

.crm-batches-table-card {
    padding: 0 !important;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    overflow: hidden;
    box-shadow: var(--crm-card-shadow, 0 10px 30px rgba(15, 23, 42, .04));
}

.crm-batches-table-card > .border-bottom {
    margin-bottom: 0 !important;
    padding: 18px 20px !important;
    border-color: var(--crm-ui-border, #e3e6ef) !important;
}

.crm-batches-table-card .table-responsive {
    border-right: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
}

.crm-batches-table-card .px-25.pt-20 {
    padding: 16px 20px !important;
}

html[data-theme="dark"] .crm-batches-header,
html[data-theme="dark"] .crm-batches-toolbar,
html[data-theme="dark"] .crm-batches-table-card,
body.layout-dark .crm-batches-header,
body.layout-dark .crm-batches-toolbar,
body.layout-dark .crm-batches-table-card {
    background: var(--crm-ui-surface, #111827) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
}

html[data-theme="dark"] .crm-batches-toolbar .project-search,
body.layout-dark .crm-batches-toolbar .project-search {
    background: rgba(255, 255, 255, .035) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
}

.crm-batch-card-column {
    display: flex;
}

.crm-batch-card--sales {
    width: 100%;
    gap: 12px !important;
    padding: 16px !important;
    background: var(--crm-ui-surface, #ffffff) !important;
}

.crm-batch-card--sales .student-batch-card__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start !important;
    padding-bottom: 12px;
}

.crm-batch-card--sales .student-batch-card__header h5 {
    max-width: 100%;
    margin-top: 2px;
    font-size: 17px;
    line-height: 1.2;
}

.crm-batch-card--sales .student-batch-trainer,
.crm-batch-card--sales .student-batch-next,
.crm-batch-card--sales .student-batch-live {
    min-height: 58px;
    padding: 11px 12px !important;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    background: var(--crm-ui-soft, #f8f9fb);
}

.crm-batch-card--sales .student-batch-trainer {
    gap: 10px;
}

.crm-batch-card--sales .student-batch-trainer strong,
.crm-batch-card--sales .student-batch-next strong,
.crm-batch-card--sales .student-batch-live strong {
    font-size: 14px;
    line-height: 1.25;
}

.crm-batch-card--sales .student-batch-schedule,
.crm-batch-card--sales .student-batch-widgets {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.crm-batch-card--sales .student-batch-schedule > div,
.crm-batch-card--sales .student-batch-widgets > div {
    min-height: 56px;
    padding: 9px 10px !important;
}

.crm-batch-card--sales .student-batch-progress {
    padding: 2px 0;
}

.crm-batch-card--sales .student-batch-progress .progress,
.crm-batch-card--sales .student-batch-progress .progress-wrap {
    height: 5px;
}

.crm-batch-sales-insights {
    margin-top: 2px;
    border-color: var(--crm-ui-border, #e3e6ef) !important;
}

.crm-batch-card--sales .crm-batch-card__actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px !important;
    margin-top: auto;
    padding-top: 12px;
}

.crm-batch-card--sales .crm-batch-card__actions .btn {
    width: 100%;
    min-width: 0;
    justify-content: center;
    padding-inline: 10px !important;
    white-space: nowrap;
}

.crm-batch-card--sales .crm-batch-card__actions .btn i {
    flex: 0 0 auto;
}

html[data-theme="dark"] .crm-batch-card--sales,
body.layout-dark .crm-batch-card--sales {
    background: var(--crm-ui-surface, #111827) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
}

html[data-theme="dark"] .crm-batch-card--sales .student-batch-trainer,
html[data-theme="dark"] .crm-batch-card--sales .student-batch-next,
html[data-theme="dark"] .crm-batch-card--sales .student-batch-live,
body.layout-dark .crm-batch-card--sales .student-batch-trainer,
body.layout-dark .crm-batch-card--sales .student-batch-next,
body.layout-dark .crm-batch-card--sales .student-batch-live {
    background: rgba(255, 255, 255, .035) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
}

@media (max-width: 1199.98px) {
    .crm-batches-toolbar__top {
        grid-template-columns: 1fr;
    }

    .crm-batches-filter-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .crm-batch-card--sales .student-batch-schedule,
    .crm-batch-card--sales .student-batch-widgets {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .crm-batches-header {
        flex-direction: column;
        padding: 16px;
    }

    .crm-batches-header .action-btn,
    .crm-batches-header .action-btn .btn {
        width: 100%;
    }

    .crm-batches-toolbar {
        padding: 12px;
    }

    .crm-batches-filter-grid,
    .crm-batches-filter-grid--admin {
        grid-template-columns: 1fr;
    }

    .crm-batches-toolbar .project-tap .nav,
    .crm-batches-toolbar .student-batches-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px !important;
    }

    .crm-batches-toolbar .project-tap .nav-link,
    .crm-batches-toolbar .student-batches-tabs a {
        flex: 0 0 auto;
    }

    .crm-batch-card--sales {
        padding: 14px !important;
    }

    .crm-batch-card--sales .student-batch-card__header,
    .crm-batch-card--sales .student-batch-schedule,
    .crm-batch-card--sales .student-batch-widgets {
        grid-template-columns: 1fr;
    }

    .crm-batch-card--sales .student-batch-actions--desktop {
        display: none !important;
    }

    .crm-batch-card--sales .student-batch-actions--mobile.crm-batch-card__actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-batch-card--sales .crm-batch-card__actions .btn {
        min-height: 34px !important;
        font-size: 11px !important;
    }
}

html[data-theme="dark"] :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-whatsapp-inline__label,
body.layout-dark :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-whatsapp-inline__label {
    color: var(--crm-ui-text, #f8fafc) !important;
}

@media (max-width: 575.98px) {
    :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-whatsapp-inline {
        gap: 8px !important;
    }

    :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-whatsapp-inline__header {
        align-items: flex-start !important;
        flex-direction: column;
    }

    :where(.contents, .modal, .crm-action-modal, .crm-app, .crm-shell) .crm-whatsapp-inline .crm-whatsapp-toggle {
        width: 100% !important;
        justify-content: flex-start !important;
    }
}

/* Admission form layout. */
.crm-admission-page .project-progree-breadcrumb {
    margin-bottom: 18px;
}

.crm-admission-page .project-progree-breadcrumb .breadcrumb-main {
    align-items: center !important;
    gap: 12px;
    min-height: auto !important;
    padding: 14px 16px !important;
    border: 1px solid var(--crm-ui-border, #e3e6ef) !important;
    border-radius: var(--crm-card-radius, 8px) !important;
    background: var(--crm-ui-surface, #ffffff) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.crm-admission-page .breadcrumb-main__wrapper,
.crm-admission-page .user-member__title {
    justify-content: flex-start !important;
}

.crm-admission-page .breadcrumb-title {
    margin: 0 !important;
    color: var(--crm-ui-text, #0f172a) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

.crm-admission-page .sub-title {
    color: var(--crm-ui-muted, #64748b) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.crm-admission-page .action-btn .btn {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    min-height: 34px !important;
    padding: 0 12px !important;
    border: 1px solid var(--crm-ui-border, #e3e6ef) !important;
    border-radius: var(--crm-control-radius, 6px) !important;
    background: var(--crm-ui-soft, #f8fafc) !important;
    color: var(--crm-ui-text, #0f172a) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.crm-admission-form .crm-student-form-card {
    border: 1px solid var(--crm-ui-border, #e3e6ef) !important;
    border-radius: var(--crm-card-radius, 8px) !important;
    background: var(--crm-ui-surface, #ffffff) !important;
    box-shadow: var(--crm-card-shadow, 0 10px 30px rgba(15, 23, 42, .04));
}

.crm-admission-form .crm-form-section__header {
    padding: 18px 22px !important;
    border-color: var(--crm-ui-border, #e3e6ef) !important;
}

.crm-admission-form .crm-form-section__header h6 {
    font-size: 15px;
    line-height: 1.25;
}

.crm-admission-form .crm-form-section__body {
    padding: 18px 22px 22px !important;
}

.crm-admission-form-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px !important;
    margin: 0 !important;
}

.crm-admission-form-grid > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.crm-admission-form-grid > .col-12 {
    grid-column: 1 / -1;
}

.crm-admission-form-grid > .crm-admission-section-title {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 4px !important;
    padding-top: 4px !important;
}

.crm-admission-form-grid > .crm-admission-section-title::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--crm-ui-border, #e3e6ef);
}

.crm-admission-section-title span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 10px;
    border: 1px solid rgba(130, 49, 211, .18);
    border-radius: 999px;
    background: rgba(130, 49, 211, .08);
    color: var(--color-primary, #8231d3);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.crm-admission-form-grid > .crm-admission-field--wide {
    grid-column: span 2;
}

.crm-admission-form-grid > .col-12.crm-admission-field--half {
    grid-column: span 2;
}

.crm-admission-form .form-group {
    min-width: 0;
    margin: 0 !important;
}

.crm-admission-form .form-group label {
    display: flex !important;
    align-items: center;
    min-height: 18px;
    margin: 0 0 7px !important;
    color: var(--crm-ui-text, #0f172a) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2;
}

.crm-admission-form .form-control:not([type="file"]),
.crm-admission-form select.form-control {
    width: 100% !important;
    min-height: 42px !important;
    border-color: var(--crm-ui-border, #e3e6ef) !important;
    border-radius: var(--crm-control-radius, 6px) !important;
    background: var(--crm-ui-soft, #f8fafc) !important;
    color: var(--crm-ui-text, #0f172a) !important;
    font-size: 13px !important;
    font-weight: 600;
    line-height: 1.35 !important;
}

.crm-admission-form select.form-control {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.crm-admission-form textarea.form-control {
    min-height: 96px !important;
    padding-top: 12px !important;
}

.crm-admission-form .fs-12.color-light,
.crm-admission-form small.color-light {
    display: block;
    margin-top: 7px;
    color: var(--crm-ui-muted, #64748b) !important;
    font-size: 11px !important;
    line-height: 1.45;
}

.crm-admission-form .text-danger {
    display: block;
    margin-top: 6px;
    color: var(--color-danger, #ff0f0f) !important;
    font-size: 11px !important;
    line-height: 1.35;
}

.crm-admission-form .crm-student-upload-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px !important;
    margin: 0 !important;
}

.crm-admission-form .crm-student-upload-item {
    min-height: 76px;
    padding: 14px !important;
    border: 1px solid var(--crm-ui-border, #e3e6ef) !important;
    border-radius: var(--crm-card-radius, 8px) !important;
    background: var(--crm-ui-soft, #f8fafc) !important;
}

.crm-admission-form .crm-student-upload-item .wh-64 {
    width: 42px !important;
    height: 42px !important;
}

.crm-admission-form .crm-student-upload-item__body label {
    margin-bottom: 6px !important;
}

.crm-admission-form input[type="file"].form-control {
    min-height: 34px !important;
    padding: 5px 10px !important;
    border-color: var(--crm-ui-border, #e3e6ef) !important;
    border-radius: var(--crm-control-radius, 6px) !important;
    background: var(--crm-ui-surface, #ffffff) !important;
    color: var(--crm-ui-text, #0f172a) !important;
    font-size: 12px !important;
}

.crm-admission-form .bg-normal.border {
    min-height: 42px;
    padding: 10px 12px !important;
    border-color: var(--crm-ui-border, #e3e6ef) !important;
    border-radius: var(--crm-control-radius, 6px) !important;
    background: var(--crm-ui-soft, #f8fafc) !important;
}

.crm-admission-form .crm-form-actions {
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin-top: 2px;
    padding: 14px 0 24px;
}

.crm-admission-form .crm-form-actions .btn {
    min-height: 38px !important;
    padding: 0 16px !important;
}

html[data-theme="dark"] .crm-admission-form .crm-student-form-card,
html[data-theme="dark"] .crm-admission-page .project-progree-breadcrumb .breadcrumb-main,
body.layout-dark .crm-admission-form .crm-student-form-card {
    background: var(--crm-ui-surface, #111827) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
}

body.layout-dark .crm-admission-page .project-progree-breadcrumb .breadcrumb-main {
    background: var(--crm-ui-surface, #111827) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .18);
}

html[data-theme="dark"] .crm-admission-page .action-btn .btn,
body.layout-dark .crm-admission-page .action-btn .btn {
    background: rgba(15, 23, 42, .74) !important;
    border-color: rgba(148, 163, 184, .22) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] .crm-admission-form .crm-form-section__header,
body.layout-dark .crm-admission-form .crm-form-section__header {
    border-color: rgba(255, 255, 255, .16) !important;
}

html[data-theme="dark"] .crm-admission-form-grid > .crm-admission-section-title::after,
body.layout-dark .crm-admission-form-grid > .crm-admission-section-title::after {
    background: rgba(148, 163, 184, .22);
}

html[data-theme="dark"] .crm-admission-section-title span,
body.layout-dark .crm-admission-section-title span {
    border-color: rgba(130, 49, 211, .38);
    background: rgba(130, 49, 211, .18);
}

html[data-theme="dark"] .crm-admission-form .crm-student-upload-item,
html[data-theme="dark"] .crm-admission-form .form-control:not([type="file"]),
html[data-theme="dark"] .crm-admission-form select.form-control,
html[data-theme="dark"] .crm-admission-form .bg-normal.border,
body.layout-dark .crm-admission-form .crm-student-upload-item,
body.layout-dark .crm-admission-form .form-control:not([type="file"]),
body.layout-dark .crm-admission-form select.form-control,
body.layout-dark .crm-admission-form .bg-normal.border {
    background: rgba(15, 23, 42, .74) !important;
    border-color: rgba(148, 163, 184, .22) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] .crm-admission-form input[type="file"].form-control,
body.layout-dark .crm-admission-form input[type="file"].form-control {
    background: rgba(2, 6, 23, .58) !important;
    border-color: rgba(148, 163, 184, .22) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] .crm-admission-form input[type="file"].form-control::file-selector-button,
body.layout-dark .crm-admission-form input[type="file"].form-control::file-selector-button {
    background: rgba(148, 163, 184, .20) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] .crm-admission-form .form-control::placeholder,
body.layout-dark .crm-admission-form .form-control::placeholder {
    color: var(--crm-ui-muted, #94a3b8) !important;
}

@media (max-width: 1199.98px) {
    .crm-admission-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .crm-admission-form .crm-form-section__header,
    .crm-admission-form .crm-form-section__body {
        padding: 16px !important;
    }

    .crm-admission-form-grid,
    .crm-admission-form .crm-student-upload-row {
        grid-template-columns: 1fr;
    }

    .crm-admission-form-grid > .crm-admission-field--wide {
        grid-column: 1 / -1;
    }

    .crm-admission-form-grid > .col-12.crm-admission-field--half {
        grid-column: 1 / -1;
    }

    .crm-admission-form .crm-student-upload-item {
        align-items: flex-start;
    }

    .crm-admission-form .crm-form-actions {
        align-items: stretch !important;
        flex-direction: column-reverse;
    }

    .crm-admission-form .crm-form-actions .btn {
        width: 100%;
    }
}

/* Admission create/edit hard layout guard. Keeps the fixed form at 4 fields per row on desktop. */
.crm-admission-page .crm-admission-form-grid.row {
    display: grid !important;
    grid-auto-flow: row !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 14px 16px !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.crm-admission-page .crm-admission-form-grid.row > [class*="col-"] {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.crm-admission-page .crm-admission-form-grid.row > .col-12,
.crm-admission-page .crm-admission-form-grid.row > .crm-admission-section-title {
    grid-column: 1 / -1 !important;
}

.crm-admission-page .crm-admission-form-grid.row > .crm-admission-field--wide,
.crm-admission-page .crm-admission-form-grid.row > .col-12.crm-admission-field--half {
    grid-column: span 2 !important;
}

.crm-admission-page .crm-admission-form-grid.row .form-control {
    width: 100% !important;
}

@media (max-width: 1199.98px) {
    .crm-admission-page .crm-admission-form-grid.row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    .crm-admission-page .crm-admission-form-grid.row {
        grid-template-columns: 1fr !important;
    }

    .crm-admission-page .crm-admission-form-grid.row > [class*="col-"],
    .crm-admission-page .crm-admission-form-grid.row > .crm-admission-field--wide,
    .crm-admission-page .crm-admission-form-grid.row > .col-12.crm-admission-field--half {
        grid-column: 1 / -1 !important;
    }
}

/* Global password visibility toggle. */
.crm-password-field {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
}

.crm-password-field input {
    width: 100% !important;
    padding-right: 46px !important;
}

.crm-password-field [data-password-toggle],
.crm-password-field [data-crm-login-password-toggle] {
    position: absolute;
    top: 50%;
    right: 8px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--crm-ui-muted, #64748b);
    line-height: 1;
    cursor: pointer;
}

.crm-password-field [data-password-toggle]:hover,
.crm-password-field [data-password-toggle]:focus,
.crm-password-field [data-crm-login-password-toggle]:hover,
.crm-password-field [data-crm-login-password-toggle]:focus {
    background: rgba(130, 49, 211, .10);
    color: var(--color-primary, #8231d3);
    outline: 0;
}

.crm-password-field [data-password-toggle] i,
.crm-password-field [data-crm-login-password-toggle] i {
    font-size: 18px;
    line-height: 1;
}

html[data-theme="dark"] .crm-password-field [data-password-toggle],
html[data-theme="dark"] .crm-password-field [data-crm-login-password-toggle],
body.layout-dark .crm-password-field [data-password-toggle],
body.layout-dark .crm-password-field [data-crm-login-password-toggle],
.layout-dark .crm-password-field [data-password-toggle],
.layout-dark .crm-password-field [data-crm-login-password-toggle] {
    color: var(--crm-ui-muted, #94a3b8);
}

html[data-theme="dark"] .crm-password-field [data-password-toggle]:hover,
html[data-theme="dark"] .crm-password-field [data-password-toggle]:focus,
html[data-theme="dark"] .crm-password-field [data-crm-login-password-toggle]:hover,
html[data-theme="dark"] .crm-password-field [data-crm-login-password-toggle]:focus,
body.layout-dark .crm-password-field [data-password-toggle]:hover,
body.layout-dark .crm-password-field [data-password-toggle]:focus,
body.layout-dark .crm-password-field [data-crm-login-password-toggle]:hover,
body.layout-dark .crm-password-field [data-crm-login-password-toggle]:focus,
.layout-dark .crm-password-field [data-password-toggle]:hover,
.layout-dark .crm-password-field [data-password-toggle]:focus,
.layout-dark .crm-password-field [data-crm-login-password-toggle]:hover,
.layout-dark .crm-password-field [data-crm-login-password-toggle]:focus {
    background: rgba(148, 163, 184, .14);
    color: var(--crm-ui-text, #f8fafc);
}

/* Student/customer list filter bar. */
.crm-student-filterbar {
    display: grid !important;
    grid-template-columns: max-content minmax(760px, 1fr);
    align-items: center;
    gap: 12px;
    padding: 12px 14px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
}

.crm-student-filterbar__tabs,
.crm-student-filterbar__filters {
    min-width: 0;
}

.crm-student-filterbar__tabs .project-tap {
    width: max-content;
    max-width: none;
    overflow-x: auto;
    overflow-y: hidden;
    box-shadow: none !important;
}

.crm-student-filterbar__tabs .project-tap .nav {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    margin: 0;
    padding: 0 !important;
}

.crm-student-filterbar__tabs .project-tap .nav-item {
    margin: 0 !important;
}

.crm-student-filterbar__tabs .project-tap .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px !important;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: 6px;
    white-space: nowrap;
    color: var(--crm-ui-muted, #64748b);
    background: var(--crm-ui-surface, #ffffff);
}

.crm-student-filterbar__tabs .project-tap .nav-link.active,
.crm-student-filterbar__tabs .project-tap .nav-link:hover {
    border-color: var(--color-primary, #8231d3);
    background: var(--color-primary, #8231d3);
    color: #ffffff !important;
}

.crm-student-filterbar__filters {
    display: grid;
    grid-template-columns: minmax(210px, 1fr) 122px 170px 170px 112px auto auto;
    align-items: center;
    gap: 10px;
    min-width: 760px;
}

.crm-student-filterbar__filters .project-search,
.crm-student-filterbar__filters .project-category {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
}

.crm-student-filterbar__filters .project-search {
    height: 42px;
    border: 1px solid var(--crm-ui-border, #e3e6ef);
    border-radius: 8px;
    background: var(--crm-ui-surface, #ffffff);
    box-shadow: none !important;
}

.crm-student-filterbar__control {
    width: 100%;
    height: 100%;
    gap: 8px;
    padding: 0 12px;
}

.crm-student-filterbar__control > img,
.crm-student-filterbar__control > i {
    flex: 0 0 auto;
    width: 18px;
    margin: 0 !important;
    color: var(--crm-ui-muted, #64748b) !important;
}

.crm-student-filterbar__control .form-control {
    min-width: 0;
    width: 100%;
    height: 40px;
    padding: 0 !important;
    background: transparent !important;
}

.crm-student-filterbar__select select,
.crm-student-filterbar__rows select {
    width: 100%;
    height: 42px !important;
    border: 1px solid var(--crm-ui-border, #e3e6ef) !important;
    border-radius: 8px !important;
    background-color: var(--crm-ui-surface, #ffffff) !important;
    color: var(--crm-ui-text, #0f172a) !important;
}

.crm-student-filterbar__rows {
    position: relative;
}

.crm-student-filterbar__label {
    position: absolute;
    left: 12px;
    top: -7px;
    z-index: 1;
    padding: 0 5px;
    margin: 0;
    font-size: 11px;
    line-height: 1;
    color: var(--crm-ui-muted, #64748b);
    background: var(--crm-ui-bg, #f4f5f7);
}

.crm-student-filterbar__apply,
.crm-student-filterbar__reset {
    height: 42px;
    margin: 0 !important;
    white-space: nowrap;
}

html[data-theme="dark"] .crm-student-filterbar__tabs .project-tap .nav-link,
html[data-theme="dark"] .crm-student-filterbar__filters .project-search,
html[data-theme="dark"] .crm-student-filterbar__select select,
html[data-theme="dark"] .crm-student-filterbar__rows select,
body.layout-dark .crm-student-filterbar__tabs .project-tap .nav-link,
body.layout-dark .crm-student-filterbar__filters .project-search,
body.layout-dark .crm-student-filterbar__select select,
body.layout-dark .crm-student-filterbar__rows select,
.layout-dark .crm-student-filterbar__tabs .project-tap .nav-link,
.layout-dark .crm-student-filterbar__filters .project-search,
.layout-dark .crm-student-filterbar__select select,
.layout-dark .crm-student-filterbar__rows select {
    background: rgba(15, 23, 42, .78) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

html[data-theme="dark"] .crm-student-filterbar__label,
body.layout-dark .crm-student-filterbar__label,
.layout-dark .crm-student-filterbar__label {
    background: var(--crm-ui-bg, #0f172a);
    color: var(--crm-ui-muted, #94a3b8);
}

/* Offline test and exam marks module. */
.academic-exam-filters,
.academic-exam-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}

.academic-exam-filters {
    grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.2fr) minmax(160px, .8fr) 150px 150px 120px auto auto;
}

.academic-exam-field-wide {
    grid-column: 1 / -1;
}

.academic-exam-table table {
    min-width: 900px;
}

.academic-exam-table--sticky thead th {
    position: sticky;
    top: 0;
    z-index: 2;
}

.academic-marks-input {
    max-width: 120px;
}

.academic-exam-shell .crm-detail-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid var(--crm-ui-border, #e3e6ef);
}

.academic-exam-shell .crm-detail-row:last-child {
    border-bottom: 0;
}

.academic-exam-shell .crm-detail-row span {
    color: var(--crm-ui-muted, #64748b);
}

.academic-exam-shell .crm-detail-row strong {
    color: var(--crm-ui-text, #0f172a);
    text-align: right;
}

html[data-theme="dark"] .academic-exam-shell .form-control,
body.layout-dark .academic-exam-shell .form-control,
.layout-dark .academic-exam-shell .form-control {
    background: rgba(15, 23, 42, .78) !important;
    border-color: var(--crm-ui-border, #1f2937) !important;
    color: var(--crm-ui-text, #f8fafc) !important;
}

@media (max-width: 1199.98px) {
    .academic-exam-filters,
    .academic-exam-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .academic-exam-filters,
    .academic-exam-form-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1399.98px) {
    .crm-student-filterbar {
        grid-template-columns: max-content minmax(760px, 1fr);
    }

    .crm-student-filterbar__tabs .project-tap {
        width: max-content;
    }
}

@media (max-width: 1199.98px) {
    .crm-student-filterbar__filters {
        grid-template-columns: minmax(210px, 1fr) 122px 170px 170px 112px auto auto;
    }

    .crm-student-filterbar__search {
        grid-column: auto;
    }
}

@media (max-width: 575.98px) {
    .crm-student-filterbar {
        padding: 10px !important;
    }

    .crm-student-filterbar__filters {
        grid-template-columns: minmax(210px, 1fr) 122px 170px 170px 112px auto auto;
    }

    .crm-student-filterbar__tabs .project-tap .nav-link,
    .crm-student-filterbar__apply,
    .crm-student-filterbar__reset {
        width: auto;
    }
}

/* Placement Learning Hub */
.placement-learning-page .project-top-right .form-control {
    min-width: 180px;
    min-height: 42px;
}

.placement-resource-stat {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px;
}

.placement-resource-stat strong {
    display: block;
    font-size: 22px;
    line-height: 1.1;
}

.placement-resource-card,
.student-placement-resource-card {
    display: flex;
    flex-direction: column;
    padding: 20px;
    border: 1px solid var(--crm-border, rgba(148, 163, 184, .22));
    border-radius: 10px;
    background: var(--crm-card-bg, #fff);
}

.placement-resource-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.placement-resource-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 28px;
    padding: 4px 9px;
    border-radius: 999px;
    background: var(--crm-bg, #f4f5f7);
    color: var(--crm-text-muted, #64748b);
    font-size: 12px;
    font-weight: 600;
}

.placement-resource-card .crm-card-action-footer,
.student-placement-resource-card .crm-card-action-footer {
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 14px;
}

.student-placement-resource-category {
    width: 100%;
    min-height: 92px;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    text-align: left;
    border: 1px solid var(--crm-border, #e3e6ef);
    background: var(--crm-card-bg, #fff);
    color: var(--crm-text, #0f172a);
    border-radius: 10px;
    padding: 14px;
}

.student-placement-resource-category strong,
.student-placement-resource-category small {
    grid-column: 2;
    min-width: 0;
}

.student-placement-resource-category small {
    color: var(--crm-text-muted, #64748b);
    font-size: 12px;
}

.student-placement-resource-category:hover,
.student-placement-resource-category.active {
    border-color: var(--primary, #8231d3);
    box-shadow: 0 0 0 3px rgba(130, 49, 211, .12);
}

html[data-theme="dark"] .placement-resource-card,
html[data-theme="dark"] .student-placement-resource-card,
html[data-theme="dark"] .student-placement-resource-category {
    background: var(--crm-card-bg, #111827);
    border-color: var(--crm-border, #1f2937);
}

@media (max-width: 767.98px) {
    .placement-learning-page .project-top-right,
    .placement-learning-page .project-top-right .form-control,
    .placement-learning-page .project-top-right .btn {
        width: 100%;
    }
}

/* Shared search field alignment: keeps search icons from overlapping typed text/placeholders. */
.course-catalog-search,
.contents .project-search,
.modal .project-search,
.crm-action-modal__body .project-search,
.crm-filter-field .project-search,
.crm-search-control,
.crm-student-picker-search {
    position: relative;
}

.course-catalog-search > i,
.course-catalog-search > .svg,
.course-catalog-search > img,
.contents .project-search > i,
.contents .project-search > .svg,
.contents .project-search > img,
.contents .project-search .user-member__form > i,
.contents .project-search .user-member__form > .svg,
.contents .project-search .user-member__form > img,
.modal .project-search > i,
.modal .project-search > .svg,
.modal .project-search > img,
.modal .project-search .user-member__form > i,
.modal .project-search .user-member__form > .svg,
.modal .project-search .user-member__form > img,
.crm-action-modal__body .project-search > i,
.crm-action-modal__body .project-search > .svg,
.crm-action-modal__body .project-search > img,
.crm-action-modal__body .project-search .user-member__form > i,
.crm-action-modal__body .project-search .user-member__form > .svg,
.crm-action-modal__body .project-search .user-member__form > img {
    position: absolute !important;
    top: 50% !important;
    left: 16px !important;
    z-index: 2;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    color: var(--color-primary, #8231d3) !important;
    opacity: .9;
    transform: translateY(-50%) !important;
    pointer-events: none;
}

.course-catalog-search .form-control,
.contents .project-search .form-control,
.modal .project-search .form-control,
.crm-action-modal__body .project-search .form-control {
    padding-left: 44px !important;
}

.contents .project-search .user-member__form,
.modal .project-search .user-member__form,
.crm-action-modal__body .project-search .user-member__form {
    position: relative;
    width: 100%;
}

.contents .project-search .form-control::placeholder,
.modal .project-search .form-control::placeholder,
.crm-action-modal__body .project-search .form-control::placeholder,
.course-catalog-search .form-control::placeholder {
    color: var(--crm-text-muted, var(--crm-ui-muted, #64748b));
}
