/* Visual state is independent of academic status, permissions and message text. */
.cox-ui :where(.cox-status-chip, .cox-teacher-status, .cox-student-module-status,
    .cox-teacher-admin-head em, .cox-entity-head em, .cox-program-admin-head em) {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    width: fit-content;
    max-width: 100%;
    border: 1px solid var(--cox-brand-border);
    border-radius: var(--cox-radius-control);
    background: var(--cox-surface-field);
    color: var(--cox-brand-white);
    font: normal 800 11px/1.3 var(--cox-brand-body);
    padding: 6px 10px;
    overflow-wrap: anywhere;
    white-space: nowrap;
}
.cox-ui :is(.cox-status-chip, .cox-teacher-status, .cox-student-module-status,
    .cox-teacher-admin-head em, .cox-entity-head em, .cox-program-admin-head em):is(.is-approved, .is-active, .is-complete) {
    border-color: var(--cox-feedback-success-border);
    background: var(--cox-feedback-success-bg);
    color: var(--cox-feedback-success-text);
}
.cox-ui :is(.cox-status-chip, .cox-teacher-status, .cox-student-module-status,
    .cox-teacher-admin-head em, .cox-entity-head em, .cox-program-admin-head em):is(.is-warning, .is-inactive),
.cox-ui .cox-student-module-status:not(.is-complete, .is-alert) {
    border-color: var(--cox-feedback-warning-border);
    background: var(--cox-feedback-warning-bg);
    color: var(--cox-feedback-warning-text);
}
.cox-ui :is(.cox-status-chip, .cox-teacher-status, .cox-student-module-status):is(.is-rejected, .is-alert) {
    border-color: var(--cox-feedback-error-border);
    background: var(--cox-feedback-error-bg);
    color: var(--cox-feedback-error-text);
}
.cox-ui :is(.cox-status-chip, .cox-teacher-status).is-pending {
    border-color: var(--cox-feedback-info-border);
    background: var(--cox-feedback-info-bg);
    color: var(--cox-feedback-info-text);
}

.cox-ui :where(.cox-dashboard-notice, .cox-bulk-actions small,
    .cox-student-proof-form p, .cox-student-photo-form p,
    .cox-teacher-attendance-form p, .cox-teacher-modal-actions + small,
    .cox-login-alert, .cox-student-login-alert, .cox-teacher-alert) {
    --cox-feedback-bg: var(--cox-feedback-success-bg);
    --cox-feedback-border: var(--cox-feedback-success-border);
    --cox-feedback-text: var(--cox-feedback-success-text);
    margin: 0;
    min-width: 0;
    border: 1px solid var(--cox-feedback-border);
    border-radius: var(--cox-radius-control);
    background: var(--cox-feedback-bg);
    color: var(--cox-feedback-text);
    font: 700 13px/1.45 var(--cox-brand-body);
    letter-spacing: 0;
    text-transform: none;
    padding: 10px 12px;
    overflow-wrap: anywhere;
}

.cox-ui [data-type="error"],
.cox-ui :where(.cox-login-alert, .cox-student-login-alert, .cox-teacher-alert):not([data-type="success"]) {
    --cox-feedback-bg: var(--cox-feedback-error-bg);
    --cox-feedback-border: var(--cox-feedback-error-border);
    --cox-feedback-text: var(--cox-feedback-error-text);
}
.cox-ui [data-type="loading"], .cox-ui [data-type="warning"] {
    --cox-feedback-bg: var(--cox-feedback-warning-bg);
    --cox-feedback-border: var(--cox-feedback-warning-border);
    --cox-feedback-text: var(--cox-feedback-warning-text);
}
.cox-ui [data-type="info"] {
    --cox-feedback-bg: var(--cox-feedback-info-bg);
    --cox-feedback-border: var(--cox-feedback-info-border);
    --cox-feedback-text: var(--cox-feedback-info-text);
}
.cox-ui :is(.cox-login-alert, .cox-student-login-alert, .cox-teacher-alert) {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-block: 16px;
}
.cox-ui :is(.cox-login-alert, .cox-student-login-alert, .cox-teacher-alert) .dashicons {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    font-size: 18px;
    line-height: 1;
}
.cox-dashboard-notice { margin-bottom: 16px; }
.cox-teacher-attendance-form p, .cox-teacher-modal-actions + small { grid-column: 1 / -1; }

:is(.cox-student-empty, .cox-teacher-empty) {
    display: grid;
    justify-items: center;
    gap: 10px;
    min-width: 0;
    border: 1px dashed var(--cox-brand-border);
    border-radius: var(--cox-radius-control);
    padding: 24px;
    text-align: center;
}
:is(.cox-student-empty, .cox-teacher-empty) > .dashicons {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: var(--cox-brand-red);
    font-size: 28px;
    line-height: 1;
}
:is(.cox-student-empty, .cox-teacher-empty) strong { color: var(--cox-brand-white); font: 700 24px/1.1 var(--cox-brand-heading); }
:is(.cox-student-empty, .cox-teacher-empty) p { max-width: 520px; margin: 0; color: var(--cox-brand-muted); line-height: 1.55; }

.cox-dashboard-table tr[data-status="Aprobada / Estudiante activo"] .cox-status-chip,
.cox-student-admin-card[data-status="Aprobada / Estudiante activo"] .cox-status-chip,
.cox-recent-list article[data-status="Aprobada / Estudiante activo"] .cox-status-chip {
    border-color: rgba(70, 220, 150, .36);
    background: rgba(70, 220, 150, .12);
    color: #b7f7d6;
}

.cox-dashboard-table tr[data-status="En revisión"] .cox-status-chip,
.cox-student-admin-card[data-status="En revisión"] .cox-status-chip,
.cox-recent-list article[data-status="En revisión"] .cox-status-chip {
    border-color: rgba(159, 192, 255, .36);
    background: rgba(159, 192, 255, .12);
    color: #c8d8ff;
}

.cox-dashboard-table tr[data-status="Rechazada"] .cox-status-chip,
.cox-dashboard-table tr[data-status="Duplicada"] .cox-status-chip,
.cox-student-admin-card[data-status="Rechazada"] .cox-status-chip,
.cox-student-admin-card[data-status="Duplicada"] .cox-status-chip,
.cox-recent-list article[data-status="Rechazada"] .cox-status-chip,
.cox-recent-list article[data-status="Duplicada"] .cox-status-chip {
    border-color: rgba(255, 193, 7, .42);
    background: rgba(255, 193, 7, .14);
    color: #ffe6a1;
}
