/* PORTAL CNI v2.6.4 — Área do Responsável */
.cni-responsible-area {
    max-width: 1240px;
    margin: 0 auto;
    padding: 22px;
    background: var(--cni-bg);
    border-radius: 22px;
}

.cni-responsible-hero {
    align-items: stretch;
}

.cni-responsible-contexts {
    display: grid;
    gap: 10px;
    min-width: min(430px, 100%);
}

.cni-responsible-contexts .cni-student-course-selector {
    margin: 0;
}

.cni-responsible-contexts .cni-student-account-actions {
    justify-content: flex-end;
}

.cni-responsible-student-list {
    display: grid;
    gap: 13px;
}

.cni-responsible-student-card {
    background: #fff;
    border: 1px solid var(--cni-border);
    border-left: 5px solid var(--cni-blue);
    border-radius: 14px;
    padding: 16px;
}

.cni-responsible-student-card.is-selected {
    border-left-color: var(--cni-red);
    box-shadow: 0 8px 22px rgba(24, 50, 77, .11);
}

.cni-responsible-student-card > header {
    align-items: flex-start;
    display: flex;
    gap: 15px;
    justify-content: space-between;
}

.cni-responsible-student-card header span,
.cni-responsible-student-card header small,
.cni-responsible-student-card header strong {
    display: block;
}

.cni-responsible-student-card header > div > span {
    color: var(--cni-red-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.cni-responsible-student-card h3 {
    color: var(--cni-blue-dark);
    margin: 3px 0;
}

.cni-responsible-student-card small {
    color: var(--cni-gray);
}

.cni-responsible-mini-grid,
.cni-responsible-course-list {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 14px;
}

.cni-responsible-mini-grid p,
.cni-responsible-course-list > div {
    background: var(--cni-bg);
    border: 1px solid var(--cni-border);
    border-radius: 10px;
    margin: 0;
    padding: 11px;
}

.cni-responsible-mini-grid strong,
.cni-responsible-mini-grid span,
.cni-responsible-course-list strong,
.cni-responsible-course-list span {
    display: block;
}

.cni-responsible-mini-grid strong,
.cni-responsible-course-list strong {
    color: var(--cni-blue-dark);
}

.cni-responsible-mini-grid span,
.cni-responsible-course-list span {
    color: var(--cni-gray);
    font-size: 12px;
    margin-top: 3px;
}

.cni-responsible-course-list {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.cni-responsible-event-group {
    display: grid;
    gap: 7px;
}

.cni-responsible-event-students,
.cni-responsible-material-students,
.cni-responsible-selected-heading {
    background: var(--cni-blue-light);
    border: 1px solid #bfd0e0;
    border-radius: 9px;
    color: var(--cni-blue-dark);
    font-size: 13px;
    padding: 8px 10px;
}

.cni-responsible-attendance-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.cni-responsible-attendance-list span {
    background: #fff;
    border: 1px solid var(--cni-border);
    border-radius: 999px;
    color: var(--cni-blue-dark);
    font-size: 12px;
    padding: 6px 9px;
}

.cni-responsible-material-students {
    margin: 10px 0;
}

.cni-responsible-bulletin-students {
    display: grid;
    gap: 10px;
}

.cni-responsible-bulletin-students article {
    align-items: center;
    background: var(--cni-bg);
    border: 1px solid var(--cni-border);
    border-radius: 11px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 12px;
}

.cni-responsible-bulletin-students strong,
.cni-responsible-bulletin-students span {
    display: block;
}

.cni-responsible-bulletin-students strong {
    color: var(--cni-blue-dark);
}

.cni-responsible-bulletin-students span {
    color: var(--cni-gray);
    font-size: 12px;
}

.cni-responsible-selected-heading {
    margin-bottom: 12px;
}

@media (max-width: 820px) {
    .cni-responsible-area {
        border-radius: 0;
        padding: 12px;
    }

    .cni-responsible-hero {
        display: block;
    }

    .cni-responsible-contexts {
        margin-top: 16px;
        min-width: 0;
    }

    .cni-responsible-contexts .cni-student-account-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 620px) {
    .cni-responsible-mini-grid,
    .cni-responsible-course-list {
        grid-template-columns: 1fr;
    }

    .cni-responsible-student-card > header,
    .cni-responsible-bulletin-students article {
        align-items: stretch;
        flex-direction: column;
    }

    .cni-responsible-student-card .cni-student-button,
    .cni-responsible-bulletin-students .cni-student-button {
        width: 100%;
    }
}

/* v2.6.13 — Atividades acompanhadas pelo responsável */
.cni-responsible-area .cni-student-activity-grid {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cni-responsible-area .cni-student-activity-card {
    background: #fff;
    border: 1px solid var(--cni-border);
    border-left: 5px solid var(--cni-blue);
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    gap: 11px;
    padding: 17px;
}
.cni-responsible-area .cni-student-activity-card.is-warning { border-left-color: #d97706; }
.cni-responsible-area .cni-student-activity-card.is-closed { border-left-color: var(--cni-gray); }
.cni-responsible-area .cni-student-activity-card.is-corrected { border-left-color: var(--cni-success); }
.cni-responsible-area .cni-student-activity-card h3 { color: var(--cni-blue-dark); margin: 0; }
.cni-responsible-area .cni-student-activity-meta { display: grid; gap: 7px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cni-responsible-area .cni-student-activity-meta span { background: var(--cni-bg); border-radius: 8px; font-size: 12px; padding: 8px; }
.cni-responsible-area .cni-student-activity-instructions { background: var(--cni-blue-light); border-radius: 9px; padding: 12px; }
.cni-responsible-area .cni-student-activity-instructions p { margin: 5px 0 0; }
.cni-responsible-area .cni-student-activity-grade { background: var(--cni-success-light); border-radius: 9px; display: grid; gap: 4px; padding: 12px; }
.cni-responsible-area .cni-student-activity-grade strong { color: var(--cni-success); font-size: 16px; }
.cni-responsible-area .cni-student-results-heading { align-items: center; display: flex; justify-content: space-between; margin: 14px 0; }
@media (max-width: 820px) {
    .cni-responsible-area .cni-student-activity-grid { grid-template-columns: 1fr; }
}
