/* PORTAL CNI v2.6.6 — Área Administrativa */
.cni-administrative-area .cni-administrative-hero {
    background: linear-gradient(135deg, #18324D 0%, #2A4A6A 68%, #40698E 100%);
}

.cni-administrative-support-note {
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 10px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    max-width: 360px;
    padding: 9px 11px;
}

.cni-administrative-notice { margin: 0 0 12px; }
.cni-administrative-notice.is-success { background: var(--cni-success-light); border-color: #b8ddc3; color: var(--cni-success); }
.cni-administrative-notice.is-error { background: var(--cni-red-light); border-color: #efb2b2; color: var(--cni-red-dark); }
.cni-administrative-notice.is-warning { background: var(--cni-warning-light); border-color: #ecd28d; color: var(--cni-warning); }

.cni-administrative-home-grid { align-items: start; }
.cni-administrative-area .cni-student-notice-list a { color: var(--cni-blue-dark); text-decoration: none; }
.cni-administrative-area .cni-student-notice-list strong { color: var(--cni-red-dark); }

.cni-professor-compact-agenda { display: grid; gap: 7px; }
.cni-professor-compact-agenda article {
    align-items: center;
    border-bottom: 1px solid var(--cni-border);
    display: grid;
    gap: 10px;
    grid-template-columns: 105px minmax(0, 1fr) auto;
    padding: 8px 0;
}
.cni-professor-compact-agenda article:last-child { border-bottom: 0; }
.cni-professor-compact-agenda time { color: var(--cni-red-dark); font-size: 12px; font-weight: 800; }
.cni-professor-compact-agenda strong,
.cni-professor-compact-agenda span { display: block; }
.cni-professor-compact-agenda article > div > strong { color: var(--cni-blue-dark); }
.cni-professor-compact-agenda article > div > span { color: var(--cni-gray); font-size: 11px; margin-top: 2px; }

.cni-professor-status {
    background: var(--cni-blue-light);
    border-radius: 999px;
    color: var(--cni-blue-dark);
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    padding: 5px 9px;
    white-space: nowrap;
}
.cni-professor-status.is-ativo,
.cni-professor-status.is-configurado,
.cni-professor-status.is-confirmado,
.cni-professor-status.is-aprovada,
.cni-professor-status.is-resolvido { background: var(--cni-success-light); color: var(--cni-success); }
.cni-professor-status.is-pendente,
.cni-professor-status.is-ajustes_solicitados,
.cni-professor-status.is-troca_pendente,
.cni-professor-status.is-aguardando_envio,
.cni-professor-status.is-em_andamento,
.cni-professor-status.is-alta { background: var(--cni-warning-light); color: var(--cni-warning); }
.cni-professor-status.is-bloqueado,
.cni-professor-status.is-rejeitada,
.cni-professor-status.is-cancelado,
.cni-professor-status.is-urgente,
.cni-professor-status.is-falha_envio { background: var(--cni-red-light); color: var(--cni-red-dark); }
.cni-professor-status.is-inativo,
.cni-professor-status.is-baixa { background: #eceff2; color: var(--cni-gray); }

.cni-professor-mini-summary,
.cni-administrative-mini-summary {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 15px;
}
.cni-professor-mini-summary > div,
.cni-administrative-mini-summary > div {
    background: var(--cni-white);
    border: 1px solid var(--cni-border);
    border-radius: 11px;
    box-shadow: 0 6px 16px rgba(24,50,77,.07);
    padding: 12px;
}
.cni-professor-mini-summary strong,
.cni-professor-mini-summary span,
.cni-administrative-mini-summary strong,
.cni-administrative-mini-summary span { display: block; }
.cni-professor-mini-summary strong,
.cni-administrative-mini-summary strong { color: var(--cni-blue-dark); font-size: 23px; }
.cni-professor-mini-summary span,
.cni-administrative-mini-summary span { color: var(--cni-gray); font-size: 11px; margin-top: 3px; }

.cni-administrative-filter-form { grid-template-columns: minmax(240px,2fr) minmax(160px,1fr) auto; }
.cni-administrative-agenda-filter { grid-template-columns: repeat(4,minmax(145px,1fr)); }
.cni-administrative-access-filter { grid-template-columns: minmax(260px,2fr) repeat(2,minmax(145px,1fr)) auto; }
.cni-administrative-area .cni-student-quick-filters a.is-active { background: var(--cni-blue-dark); color: #fff; }

.cni-administrative-event-card .cni-professor-event-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 11px;
}

.cni-administrative-report-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2,minmax(0,1fr));
}
.cni-administrative-report-grid article {
    border: 1px solid var(--cni-border);
    border-top: 4px solid var(--cni-blue);
    border-radius: 12px;
    padding: 14px;
}
.cni-administrative-report-grid h3 { color: var(--cni-blue-dark); margin: 0 0 10px; }
.cni-administrative-report-grid article > div { display: grid; gap: 7px; }
.cni-administrative-report-grid a {
    align-items: center;
    background: var(--cni-bg);
    border: 1px solid var(--cni-border);
    border-radius: 9px;
    color: var(--cni-blue-dark);
    display: flex;
    font-size: 12px;
    font-weight: 750;
    gap: 8px;
    justify-content: space-between;
    padding: 9px 10px;
    text-decoration: none;
}
.cni-administrative-report-grid a span {
    background: var(--cni-blue-light);
    border-radius: 999px;
    font-size: 9px;
    padding: 4px 7px;
}

.cni-administrative-access-list { display: grid; gap: 13px; }
.cni-administrative-access-card {
    border: 1px solid var(--cni-border);
    border-left: 5px solid var(--cni-blue);
    border-radius: 13px;
    padding: 15px;
}
.cni-administrative-access-card > header {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}
.cni-administrative-access-card header > div > span {
    color: var(--cni-gray);
    display: block;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}
.cni-administrative-access-card h3 { color: var(--cni-blue-dark); margin: 3px 0; }
.cni-administrative-access-card p { color: var(--cni-gray); margin: 0; }
.cni-administrative-access-data {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4,minmax(0,1fr));
    margin: 12px 0;
}
.cni-administrative-access-data > div { background: var(--cni-bg); border-radius: 9px; padding: 9px; }
.cni-administrative-access-data span,
.cni-administrative-access-data strong { display: block; }
.cni-administrative-access-data span { color: var(--cni-gray); font-size: 10px; text-transform: uppercase; }
.cni-administrative-access-data strong { color: var(--cni-blue-dark); font-size: 12px; margin-top: 3px; overflow-wrap: anywhere; }
.cni-administrative-access-actions { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 8px; }
.cni-administrative-access-action-form { margin: 0; }
.cni-administrative-access-actions .cni-student-details { background: var(--cni-bg); border-radius: 9px; margin: 0; padding: 9px; }
.cni-administrative-access-confirm { color: var(--cni-red-dark); display: block; font-size: 11px; font-weight: 700; margin-bottom: 7px; }
.cni-administrative-history-list { list-style: none; margin: 9px 0 0; padding: 0; }
.cni-administrative-history-list li { border-bottom: 1px solid var(--cni-border); padding: 8px 0; }
.cni-administrative-history-list li:last-child { border-bottom: 0; }
.cni-administrative-history-list strong,
.cni-administrative-history-list span,
.cni-administrative-history-list small { display: block; }
.cni-administrative-history-list strong { color: var(--cni-blue-dark); }
.cni-administrative-history-list span,
.cni-administrative-history-list small { color: var(--cni-gray); font-size: 11px; margin-top: 2px; }

.cni-administrative-maintenance-list { display: grid; gap: 11px; }
.cni-administrative-maintenance-list article { border: 1px solid var(--cni-border); border-radius: 12px; padding: 13px; }
.cni-administrative-maintenance-list article > header { align-items: flex-start; display: flex; gap: 10px; justify-content: space-between; }
.cni-administrative-maintenance-list header div:first-child > span { color: var(--cni-gray); display: block; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.cni-administrative-maintenance-list h3 { color: var(--cni-blue-dark); margin: 3px 0; }
.cni-administrative-maintenance-list p,
.cni-administrative-maintenance-list small { color: var(--cni-gray); }
.cni-administrative-maintenance-list article > div:last-child { margin-top: 9px; }
.cni-administrative-temporary-warning { margin-bottom: 12px; }

.cni-professor-temporary-list { display: grid; gap: 8px; }
.cni-professor-temporary-list article { background: var(--cni-bg); border-left: 4px solid var(--cni-warning); border-radius: 8px; padding: 10px; }
.cni-professor-temporary-list strong,
.cni-professor-temporary-list span,
.cni-professor-temporary-list small { display: block; }
.cni-professor-temporary-list strong { color: var(--cni-blue-dark); }
.cni-professor-temporary-list span { color: var(--cni-gray); font-size: 12px; margin-top: 2px; }
.cni-professor-temporary-list small { color: var(--cni-warning); font-size: 10px; font-weight: 700; margin-top: 5px; }

.cni-administrative-permission-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.cni-administrative-permission-tags span { background: var(--cni-blue-light); border-radius: 999px; color: var(--cni-blue-dark); font-size: 11px; font-weight: 800; padding: 6px 9px; }

.cni-administrative-pagination { display: flex; flex-wrap: wrap; gap: 5px; justify-content: center; margin-top: 14px; }
.cni-administrative-pagination a { background: var(--cni-blue-light); border-radius: 7px; color: var(--cni-blue-dark); font-weight: 800; padding: 6px 10px; text-decoration: none; }
.cni-administrative-pagination a.is-active { background: var(--cni-blue-dark); color: #fff; }

@media (max-width: 1060px) {
    .cni-administrative-agenda-filter { grid-template-columns: repeat(3,minmax(145px,1fr)); }
    .cni-administrative-access-data { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cni-administrative-access-filter { grid-template-columns: repeat(2,minmax(160px,1fr)); }
    .cni-administrative-access-filter .is-wide { grid-column: span 2; }
}

@media (max-width: 760px) {
    .cni-professor-mini-summary,
    .cni-administrative-mini-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cni-administrative-filter-form,
    .cni-administrative-agenda-filter,
    .cni-administrative-access-filter { grid-template-columns: 1fr; }
    .cni-administrative-access-filter .is-wide { grid-column: span 1; }
    .cni-administrative-report-grid { grid-template-columns: 1fr; }
    .cni-administrative-access-card > header,
    .cni-administrative-maintenance-list article > header { display: block; }
    .cni-administrative-access-card > header > .cni-professor-status { margin-top: 7px; }
    .cni-professor-compact-agenda article { grid-template-columns: 82px minmax(0,1fr); }
    .cni-professor-compact-agenda article > .cni-professor-status { grid-column: 2; justify-self: start; }
}

@media (max-width: 480px) {
    .cni-professor-mini-summary,
    .cni-administrative-mini-summary,
    .cni-administrative-access-data { grid-template-columns: 1fr; }
    .cni-administrative-access-actions > *,
    .cni-administrative-access-action-form,
    .cni-administrative-access-action-form .cni-student-button { width: 100%; }
}

.cni-administrative-destination {
    color: var(--cni-gray);
    display: block;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 7px;
}
.cni-administrative-destination select {
    background: #fff;
    border: 1px solid var(--cni-border);
    border-radius: 8px;
    color: var(--cni-blue-dark);
    display: block;
    margin-top: 4px;
    max-width: 360px;
    min-height: 38px;
    padding: 6px 8px;
    width: 100%;
}

/* v2.6.6 — complementos da central administrativa */
.cni-administrative-temporary-actions {
    align-items: center;
    background: var(--cni-warning-light);
    border: 1px solid rgba(166,103,0,.22);
    border-radius: 11px;
    padding: 10px;
}
.cni-administrative-temporary-actions > span {
    color: var(--cni-warning);
    font-size: 11px;
    font-weight: 800;
    margin-right: 4px;
    text-transform: uppercase;
}
.cni-administrative-agenda-notice,
.cni-administrative-identity-notice { margin-bottom: 13px; }
.cni-administrative-materials-grid { align-items: start; }
.cni-administrative-material-report-actions { margin-top: 14px; }
.cni-administrative-download-list { display: grid; gap: 8px; }
.cni-administrative-download-list article {
    align-items: center;
    background: var(--cni-bg);
    border: 1px solid var(--cni-border);
    border-radius: 9px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 10px;
}
.cni-administrative-download-list strong,
.cni-administrative-download-list span { display: block; }
.cni-administrative-download-list strong { color: var(--cni-blue-dark); font-size: 12px; }
.cni-administrative-download-list span,
.cni-administrative-download-list time { color: var(--cni-gray); font-size: 10px; }
.cni-administrative-download-list time { flex: 0 0 auto; white-space: nowrap; }

@media (max-width: 760px) {
    .cni-administrative-temporary-actions { align-items: stretch; }
    .cni-administrative-temporary-actions > span { width: 100%; }
    .cni-administrative-download-list article { align-items: flex-start; display: block; }
    .cni-administrative-download-list time { display: block; margin-top: 5px; }
}
.cni-administrative-email-check { margin: 0 0 12px; }
.cni-administrative-email-check ul { list-style: none; margin: 9px 0 0; padding: 0; }
.cni-administrative-email-check li { border-bottom: 1px solid var(--cni-border); padding: 7px 0; }
.cni-administrative-email-check li:last-child { border-bottom: 0; }
.cni-administrative-email-check strong,
.cni-administrative-email-check span { display: block; overflow-wrap: anywhere; }
.cni-administrative-email-check strong { color: var(--cni-blue-dark); font-size: 11px; }
.cni-administrative-email-check span { color: var(--cni-gray); font-size: 11px; margin-top: 2px; }

/* v2.6.16.1 — filtros operacionais com turma assíncrona */
.cni-administrative-agenda-filter {
    align-items: start;
}

.cni-administrative-agenda-filter > *,
.cni-administrative-agenda-filter label,
.cni-administrative-agenda-filter .cni-async-select-control {
    min-width: 0;
    max-width: 100%;
}
