:root[data-theme='dark'],
:root.cc--darkmode {
  --hc-bg: rgba(68, 68, 68, 1);
  --hc-surface: rgba(37, 37, 37, 1);
  --hc-border: rgba(0, 0, 0, 0.1);
  --hc-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  --hc-header-shadow: 3px 0px 4px 0px rgba(0, 0, 0, 0.25);
  --hc-text: rgba(255, 255, 255, 1);
  --hc-btn: rgba(255, 255, 255, 1);
  --hc-btn-border: rgba(255, 255, 255, 1);
  --hc-table-border: rgba(135, 135, 135, 1);
  --hc-table-row-dark: rgba(68, 68, 68, 1);
  --hc-table-row-light: rgba(90, 90, 90, 1);
  --hc-modal-accent: rgba(255, 234, 3, 1);
}

:root[data-theme='dark'] body,
:root.cc--darkmode body {
  background: var(--hc-bg);
  color: var(--hc-text);
}

:root[data-theme='dark'] .main-header,
:root[data-theme='dark'] .main-footer,
:root.cc--darkmode .main-header,
:root.cc--darkmode .main-footer {
  background: var(--hc-surface);
  border: 1px solid var(--hc-border);
  box-shadow: var(--hc-header-shadow);
}

:root[data-theme='dark'] .content-area,
:root.cc--darkmode .content-area {
  background: var(--hc-bg);
  border: none;
  box-shadow: none;
  color: var(--hc-text);
}

:root[data-theme='dark'] .main-container,
:root.cc--darkmode .main-container {
  background: var(--hc-bg);
}

:root[data-theme='dark'] .page-header-row,
:root[data-theme='dark'] .card,
:root[data-theme='dark'] .box,
:root[data-theme='dark'] .form-card,
:root[data-theme='dark'] .modal-content,
:root.cc--darkmode .page-header-row,
:root.cc--darkmode .card,
:root.cc--darkmode .box,
:root.cc--darkmode .form-card,
:root.cc--darkmode .modal-content {
  background: var(--hc-surface);
  border: 1px solid var(--hc-border);
  box-shadow: var(--hc-shadow);
  color: var(--hc-text);
}

:root[data-theme='dark'] .table-responsive,
:root.cc--darkmode .table-responsive {
  background: transparent;
  border: none;
  box-shadow: none;
}

:root[data-theme='dark'] .breadcrumb,
:root.cc--darkmode .breadcrumb {
  color: var(--hc-text);
}

:root[data-theme='dark'] .page-title-main,
:root.cc--darkmode .page-title-main {
  color: var(--hc-text);
}

:root[data-theme='dark'] .page-header,
:root.cc--darkmode .page-header {
  background: var(--hc-bg);
  border: none;
  box-shadow: none;
}

:root[data-theme='dark'] .page-header-row,
:root[data-theme='dark'] .page-header-content,
:root.cc--darkmode .page-header-row,
:root.cc--darkmode .page-header-content {
  background: var(--hc-bg) !important;
  border: none !important;
  box-shadow: none !important;
}

:root[data-theme='dark'] .search-bar,
:root.cc--darkmode .search-bar {
  background: var(--hc-bg) !important;
  border: none !important;
  box-shadow: none !important;
}

:root[data-theme='dark'] .search-bar input,
:root.cc--darkmode .search-bar input {
  background: var(--hc-surface);
  color: var(--hc-text);
  border: 1px solid var(--hc-table-border);
}

:root[data-theme='dark'] .search-bar i,
:root.cc--darkmode .search-bar i {
  color: var(--hc-text);
}

:root[data-theme='dark'] .turno-tabs .nav-link,
:root.cc--darkmode .turno-tabs .nav-link {
  background: var(--hc-surface);
  color: var(--hc-text);
  border: 1px solid var(--hc-border);
}

:root[data-theme='dark'] .turno-tabs .nav-link.active,
:root.cc--darkmode .turno-tabs .nav-link.active {
  background: var(--hc-btn);
  color: #000;
  border: 1px solid var(--hc-btn-border);
}

:root[data-theme='dark'] .turmas-wrapper,
:root.cc--darkmode .turmas-wrapper {
  background: var(--hc-surface) !important;
  border: 1px solid var(--hc-border) !important;
  box-shadow: var(--hc-shadow) !important;
  color: var(--hc-text);
}

:root[data-theme='dark'] .turma-details-panel,
:root.cc--darkmode .turma-details-panel {
  background: var(--hc-bg) !important;
  border: 1px solid var(--hc-border) !important;
  box-shadow: none !important;
  color: var(--hc-text);
}

:root[data-theme='dark'] .turno-tabs,
:root.cc--darkmode .turno-tabs {
  background: var(--hc-bg) !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--hc-text);
}

:root[data-theme='dark'] .turma-card,
:root.cc--darkmode .turma-card {
  background: var(--hc-bg) !important;
  border: 1px solid var(--hc-border) !important;
  box-shadow: var(--hc-shadow) !important;
  color: var(--hc-text);
}

:root[data-theme='dark'] .detail-section,
:root.cc--darkmode .detail-section {
  background: var(--hc-surface) !important;
  border: 1px solid var(--hc-border) !important;
  box-shadow: var(--hc-shadow) !important;
  color: var(--hc-text);
}

:root[data-theme='dark'] .turma-header,
:root.cc--darkmode .turma-header {
  border-bottom: 2px solid var(--hc-table-border);
}

:root[data-theme='dark'] .turma-titulo,
:root[data-theme='dark'] .turma-subinfo,
:root[data-theme='dark'] .turma-horario,
:root[data-theme='dark'] .turma-professor,
:root.cc--darkmode .turma-titulo,
:root.cc--darkmode .turma-subinfo,
:root.cc--darkmode .turma-horario,
:root.cc--darkmode .turma-professor {
  color: var(--hc-text);
}

:root[data-theme='dark'] .turma-professor i,
:root.cc--darkmode .turma-professor i {
  color: var(--hc-text);
}

:root[data-theme='dark'] .dia-tag,
:root.cc--darkmode .dia-tag {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border: 1px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .accordion-item,
:root.cc--darkmode .accordion-item {
  background: transparent;
  border: none;
}

:root[data-theme='dark'] .accordion-button,
:root.cc--darkmode .accordion-button {
  background: var(--hc-bg) !important;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .accordion-button i,
:root.cc--darkmode .accordion-button i {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .accordion-button .bi,
:root[data-theme='dark'] .accordion-button:not(.collapsed) .bi,
:root.cc--darkmode .accordion-button .bi,
:root.cc--darkmode .accordion-button:not(.collapsed) .bi {
  color: #fff !important;
}

:root[data-theme='dark'] .accordion-button i.bi,
:root[data-theme='dark'] .accordion-button:not(.collapsed) i.bi,
:root.cc--darkmode .accordion-button i.bi,
:root.cc--darkmode .accordion-button:not(.collapsed) i.bi {
  color: #fff !important;
}

:root[data-theme='dark'] .accordion-button::after,
:root.cc--darkmode .accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}

:root[data-theme='dark'] .turma-collapse-toggle::after,
:root.cc--darkmode .turma-collapse-toggle::after {
  color: #fff !important;
}

:root[data-theme='dark'] .accordion-button:not(.collapsed),
:root.cc--darkmode .accordion-button:not(.collapsed) {
  background: var(--hc-surface) !important;
  color: var(--hc-text) !important;
  border-color: var(--hc-table-border) !important;
}

:root[data-theme='dark'] .accordion-body,
:root.cc--darkmode .accordion-body {
  background: var(--hc-bg) !important;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .action-link,
:root.cc--darkmode .action-link {
  background: var(--hc-bg) !important;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .action-link:hover,
:root.cc--darkmode .action-link:hover {
  background: var(--hc-btn) !important;
  color: #000 !important;
}

:root[data-theme='dark'] .btn-abrir-turma,
:root.cc--darkmode .btn-abrir-turma {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border: 1px solid var(--hc-btn-border) !important;
  box-shadow: var(--hc-shadow) !important;
}

:root[data-theme='dark'] .btn-abrir-turma:hover,
:root.cc--darkmode .btn-abrir-turma:hover {
  background: var(--hc-btn) !important;
  color: #000 !important;
  transform: translateY(-2px);
}

:root[data-theme='dark'] .details-btn,
:root.cc--darkmode .details-btn {
  background: transparent;
  color: var(--hc-text);
  border: 1px solid var(--hc-btn-border);
}

:root[data-theme='dark'] .details-btn:hover,
:root.cc--darkmode .details-btn:hover {
  background: var(--hc-btn) !important;
  color: #000 !important;
}

:root[data-theme='dark'] .details-btn.primary,
:root.cc--darkmode .details-btn.primary {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border: 1px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .detail-label,
:root[data-theme='dark'] .detail-value,
:root.cc--darkmode .detail-label,
:root.cc--darkmode .detail-value {
  color: var(--hc-text);
}

:root[data-theme='dark'] .detail-row,
:root.cc--darkmode .detail-row {
  border-bottom: 1px solid var(--hc-table-border);
}

:root[data-theme='dark'] .details-title h3,
:root[data-theme='dark'] .detail-section-title,
:root.cc--darkmode .details-title h3,
:root.cc--darkmode .detail-section-title {
  color: var(--hc-text);
}

:root[data-theme='dark'] .details-title i,
:root[data-theme='dark'] .detail-section-title i,
:root.cc--darkmode .details-title i,
:root.cc--darkmode .detail-section-title i {
  color: var(--hc-text);
}

:root[data-theme='dark'] .details-header,
:root.cc--darkmode .details-header {
  border-bottom: 2px solid var(--hc-table-border);
}

:root[data-theme='dark'] .close-details,
:root.cc--darkmode .close-details {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .close-details:hover,
:root.cc--darkmode .close-details:hover {
  color: var(--hc-btn) !important;
}

:root[data-theme='dark'] .details-grid,
:root[data-theme='dark'] .details-actions,
:root.cc--darkmode .details-grid,
:root.cc--darkmode .details-actions {
  background: var(--hc-bg);
}

:root[data-theme='dark'] a,
:root.cc--darkmode a {
  color: var(--hc-text);
}

:root[data-theme='dark'] .btn-primary,
:root[data-theme='dark'] .btn.btn-primary,
:root[data-theme='dark'] .btn-voltar,
:root.cc--darkmode .btn-primary,
:root.cc--darkmode .btn.btn-primary,
:root.cc--darkmode .btn-voltar {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border: 1px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .btn,
:root[data-theme='dark'] .btn-outline,
:root[data-theme='dark'] .btn-action,
:root[data-theme='dark'] .btn-link,
:root.cc--darkmode .btn,
:root.cc--darkmode .btn-outline,
:root.cc--darkmode .btn-action,
:root.cc--darkmode .btn-link {
  border: 1px solid var(--hc-btn-border);
  color: var(--hc-surface);
  background: var(--hc-modal-accent) !important;
}

/* Exceção: remover fundo amarelo do botão dropdown de perfil */
:root[data-theme='dark'] .navbar-text ~ button,
:root[data-theme='dark'] button[data-bs-toggle="dropdown"],
:root.cc--darkmode .navbar-text ~ button,
:root.cc--darkmode button[data-bs-toggle="dropdown"] {
  background: transparent !important;
  border: none !important;
}

:root[data-theme='dark'] table,
:root[data-theme='dark'] .table,
:root.cc--darkmode table,
:root.cc--darkmode .table {
  color: var(--hc-text);
  border: 1px solid var(--hc-table-border);
}

:root[data-theme='dark'] .table tbody tr:nth-child(odd),
:root.cc--darkmode .table tbody tr:nth-child(odd) {
  background: var(--hc-table-row-dark);
}

:root[data-theme='dark'] .table tbody tr:nth-child(even),
:root.cc--darkmode .table tbody tr:nth-child(even) {
  background: var(--hc-table-row-light);
}

:root[data-theme='dark'] .table th,
:root[data-theme='dark'] .table td,
:root.cc--darkmode .table th,
:root.cc--darkmode .table td {
  border-color: var(--hc-table-border);
}

:root[data-theme='dark'] .modal-content input[type='checkbox'],
:root.cc--darkmode .modal-content input[type='checkbox'] {
  accent-color: var(--hc-modal-accent);
}

:root[data-theme='dark'] .form-check-input:checked,
:root.cc--darkmode .form-check-input:checked {
  background-color: var(--hc-modal-accent) !important;
  border-color: var(--hc-modal-accent) !important;
  background-image: radial-gradient(circle, #000 45%, transparent 46%) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 100% 100% !important;
}

:root[data-theme='dark'] .form-check-input[type="radio"]:checked,
:root.cc--darkmode .form-check-input[type="radio"]:checked {
  background-image: none !important;
}

:root[data-theme='dark'] .modal-content .btn,
:root.cc--darkmode .modal-content .btn {
  background: var(--hc-modal-accent) !important;
  color: #000 !important;
  border: 1px solid var(--hc-modal-accent) !important;
}

:root[data-theme='dark'] .modal-content .btn.btn-secondary,
:root[data-theme='dark'] .modal-content .btn.btn-outline-secondary,
:root.cc--darkmode .modal-content .btn.btn-secondary,
:root.cc--darkmode .modal-content .btn.btn-outline-secondary {
  background: transparent !important;
  color: var(--hc-modal-accent) !important;
  border: 1px solid var(--hc-modal-accent) !important;
}

:root[data-theme='dark'] .modal-body,
:root[data-theme='dark'] #conteudoModalExibir,
:root.cc--darkmode .modal-body,
:root.cc--darkmode #conteudoModalExibir {
  color: var(--hc-text) !important;
  background: var(--hc-surface) !important;
}

:root[data-theme='dark'] .modal-body p,
:root[data-theme='dark'] .modal-body .registro-aula-title,
:root.cc--darkmode .modal-body p,
:root.cc--darkmode .modal-body .registro-aula-title {
  color: var(--hc-text) !important;
}

/* Warning box inside modal - ensure readable contrast */
:root[data-theme='dark'] .modal-body div[style*="background: #fef3c7"],
:root.cc--darkmode .modal-body div[style*="background: #fef3c7"] {
  background: var(--hc-surface) !important;
  border-left-color: var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .modal-body div[style*="background: #fef3c7"] p,
:root[data-theme='dark'] .modal-body div[style*="background: #fef3c7"] strong,
:root.cc--darkmode .modal-body div[style*="background: #fef3c7"] p,
:root.cc--darkmode .modal-body div[style*="background: #fef3c7"] strong {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .registro-aula-title,
:root.cc--darkmode .registro-aula-title {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .print-monthly-btn,
:root.cc--darkmode .print-monthly-btn {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border-color: var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .print-monthly-btn:hover,
:root.cc--darkmode .print-monthly-btn:hover {
  background: var(--hc-btn) !important;
  color: #000 !important;
}

:root[data-theme='dark'] .modal-header,
:root[data-theme='dark'] .modal-footer,
:root.cc--darkmode .modal-header,
:root.cc--darkmode .modal-footer {
  background: var(--hc-surface) !important;
  color: var(--hc-text) !important;
  border-color: var(--hc-border) !important;
}

:root[data-theme='dark'] .modal .btn-close,
:root.cc--darkmode .modal .btn-close {
  filter: invert(1);
}

:root[data-theme='dark'] .modal-content .form-check-input:checked,
:root.cc--darkmode .modal-content .form-check-input:checked {
  background-color: var(--hc-modal-accent) !important;
  border-color: var(--hc-modal-accent) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3 6-6'/%3E%3C/svg%3E") !important;
}

:root[data-theme='dark'] .turma-card .accordion-button,
:root.cc--darkmode .turma-card .accordion-button {
  color: #fff !important;
}

:root[data-theme='dark'] .turma-card .accordion-button i,
:root[data-theme='dark'] .turma-card .accordion-button .bi,
:root[data-theme='dark'] .turma-card .accordion-button:not(.collapsed) i,
:root[data-theme='dark'] .turma-card .accordion-button:not(.collapsed) .bi,
:root.cc--darkmode .turma-card .accordion-button i,
:root.cc--darkmode .turma-card .accordion-button .bi,
:root.cc--darkmode .turma-card .accordion-button:not(.collapsed) i,
:root.cc--darkmode .turma-card .accordion-button:not(.collapsed) .bi {
  color: #fff !important;
}

:root[data-theme='dark'] .dropdown-menu,
:root.cc--darkmode .dropdown-menu {
  background: var(--hc-surface) !important;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .profile-dropdown-menu,
:root.cc--darkmode .profile-dropdown-menu {
  background: var(--hc-surface) !important;
  border: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .profile-dropdown-header,
:root.cc--darkmode .profile-dropdown-header {
  background: var(--hc-bg) !important;
  color: var(--hc-text) !important;
  border-bottom: 1px solid var(--hc-border);
}

:root[data-theme='dark'] .profile-dropdown-header .text-white-50,
:root.cc--darkmode .profile-dropdown-header .text-white-50 {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .profile-dropdown-menu .dropdown-item,
:root.cc--darkmode .profile-dropdown-menu .dropdown-item {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .profile-dropdown-menu .dropdown-item-card .dropdown-item-title,
:root.cc--darkmode .profile-dropdown-menu .dropdown-item-card .dropdown-item-title {
  color: #ffffff !important;
}

:root[data-theme='dark'] .profile-dropdown-menu .dropdown-item-card .dropdown-item-subtitle,
:root.cc--darkmode .profile-dropdown-menu .dropdown-item-card .dropdown-item-subtitle {
  color: #e2e8f0 !important;
}

:root[data-theme='dark'] .profile-dropdown-menu .dropdown-item-card .dropdown-item-icon,
:root.cc--darkmode .profile-dropdown-menu .dropdown-item-card .dropdown-item-icon {
  background: #444444 !important;
  color: #ffffff !important;
}

:root[data-theme='dark'] .dropdown-item.text-danger:hover i,
:root.cc--darkmode .dropdown-item.text-danger:hover i {
  border-left-color: var(--hc-btn) !important;
  color: #ffffff !important;
}

:root[data-theme='dark'] .dropdown-item:hover,
:root.cc--darkmode .dropdown-item:hover {
  border-left-color: var(--hc-btn) !important;
} 

:root[data-theme='dark'] .profile-dropdown-menu .dropdown-item-card .dropdown-item-icon--danger,
:root.cc--darkmode .profile-dropdown-menu .dropdown-item-card .dropdown-item-icon--danger {
  background: #7f1d1d !important;
  color: #ffffff !important;
}

:root[data-theme='dark'] .dropdown-item,
:root.cc--darkmode .dropdown-item {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .dropdown-item:hover,
:root.cc--darkmode .dropdown-item:hover {
  background: var(--hc-bg) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .mobile-menu-panel,
:root.cc--darkmode .mobile-menu-panel {
  background: var(--hc-surface) !important;
  border: 1px solid var(--hc-border) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .mobile-menu-title,
:root.cc--darkmode .mobile-menu-title {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .mobile-menu-link,
:root.cc--darkmode .mobile-menu-link,
:root[data-theme='dark'] .mobile-menu-panel .accessibility-btn,
:root.cc--darkmode .mobile-menu-panel .accessibility-btn {
  background: var(--hc-bg) !important;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-border) !important;
}

/* Registrar Frequência */
:root[data-theme='dark'] .registrar-title,
:root[data-theme='dark'] .registrar-subtitle,
:root.cc--darkmode .registrar-title,
:root.cc--darkmode .registrar-subtitle{
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .registrar-container,
:root.cc--darkmode .registrar-container {
  background: var(--hc-bg);
}

:root[data-theme='dark'] .cards-footer-block,
:root.cc--darkmode .cards-footer-block {
  background: var(--hc-surface);
  border: 1px solid var(--hc-border);
  box-shadow: var(--hc-shadow);
  color: var(--hc-text);
}

:root[data-theme='dark'] .frequencia-table-wrapper,
:root.cc--darkmode .frequencia-table-wrapper {
  background: var(--hc-bg);
  box-shadow: none;
}

:root[data-theme='dark'] .frequencia-table-wrapper thead th,
:root.cc--darkmode .frequencia-table-wrapper thead th {
  background: var(--hc-surface);
  color: var(--hc-text);
  border: 1px solid var(--hc-border);
}

:root[data-theme='dark'] .frequencia-table-wrapper tbody tr,
:root.cc--darkmode .frequencia-table-wrapper tbody tr {
  border-bottom: 1px solid var(--hc-table-border);
}

:root[data-theme='dark'] .frequencia-table-wrapper tbody tr:hover,
:root.cc--darkmode .frequencia-table-wrapper tbody tr:hover {
  background-color: var(--hc-surface);
  box-shadow: inset 0 0 0 1px var(--hc-table-border);
}

:root[data-theme='dark'] .frequencia-table-wrapper td,
:root.cc--darkmode .frequencia-table-wrapper td {
  color: var(--hc-text);
}

:root[data-theme='dark'] .form-check-input,
:root.cc--darkmode .form-check-input {
  border: 2px solid var(--hc-table-border);
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--hc-bg);
}

:root[data-theme='dark'] #btnSalvar,
:root.cc--darkmode #btnSalvar {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border: 1px solid var(--hc-btn-border) !important;
  box-shadow: var(--hc-shadow) !important;
}

:root[data-theme='dark'] #btnSalvar:hover,
:root.cc--darkmode #btnSalvar:hover {
  background: var(--hc-btn) !important;
  color: #000 !important;
}

:root[data-theme='dark'] .frequencia-card,
:root.cc--darkmode .frequencia-card {
  background: var(--hc-bg);
  border: 1px solid var(--hc-border);
  color: var(--hc-text);
}

:root[data-theme='dark'] .frequencia-card .aluno,
:root.cc--darkmode .frequencia-card .aluno {
  color: var(--hc-text);
}

:root[data-theme='dark'] .button-status,
:root.cc--darkmode .button-status {
  background: var(--hc-btn);
  color: #000;
  border: 1px solid var(--hc-btn-border);
}

/* Visualizar Frequência (listar frequência) */
:root[data-theme='dark'] .visualizar-title,
:root[data-theme='dark'] .visualizar-subtitle,
:root.cc--darkmode .visualizar-title,
:root.cc--darkmode .visualizar-subtitle {
  color: var(--hc-text);
}

:root[data-theme='dark'] .view-tabs,
:root.cc--darkmode .view-tabs {
  background: var(--hc-bg);
}

:root[data-theme='dark'] .view-tabs::after,
:root.cc--darkmode .view-tabs::after {
  background-color: var(--hc-table-border);
}

:root[data-theme='dark'] .view-tab,
:root.cc--darkmode .view-tab {
  color: var(--hc-text);
}

:root[data-theme='dark'] .view-tab.active,
:root.cc--darkmode .view-tab.active {
  background: var(--hc-surface);
  color: var(--hc-text);
  border: 1px solid var(--hc-border);
  border-radius: 8px;
}

:root[data-theme='dark'] .view-tab.active::after,
:root.cc--darkmode .view-tab.active::after {
  background: var(--hc-table-border);
}

:root[data-theme='dark'] .calendar-panel,
:root.cc--darkmode .calendar-panel,
:root[data-theme='dark'] .frequencia-panel,
:root.cc--darkmode .frequencia-panel,
:root[data-theme='dark'] .monthly-view,
:root.cc--darkmode .monthly-view {
  background: var(--hc-surface);
  border: 1px solid var(--hc-border);
  box-shadow: var(--hc-shadow);
  color: var(--hc-text);
}

:root[data-theme='dark'] .calendar-navigation,
:root.cc--darkmode .calendar-navigation,
:root[data-theme='dark'] .frequencia-header,
:root.cc--darkmode .frequencia-header,
:root[data-theme='dark'] .monthly-header,
:root.cc--darkmode .monthly-header {
  border-bottom: 2px solid var(--hc-table-border);
}

:root[data-theme='dark'] .nav-display,
:root.cc--darkmode .nav-display,
:root[data-theme='dark'] .frequencia-date-value,
:root.cc--darkmode .frequencia-date-value,
:root[data-theme='dark'] .monthly-header h3,
:root.cc--darkmode .monthly-header h3 {
  color: var(--hc-text);
}

:root[data-theme='dark'] .frequency-table-wrapper,
:root.cc--darkmode .frequency-table-wrapper {
  background: var(--hc-bg) !important;
  border: 1px solid var(--hc-border) !important;
  box-shadow: none !important;
}

:root[data-theme='dark'] .monthly-legend-item,
:root.cc--darkmode .monthly-legend-item {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .monthly-legend .status-badge,
:root.cc--darkmode .monthly-legend .status-badge {
  border: 1px solid var(--hc-btn-border) !important;
  border-bottom: 1px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .monthly-legend .status-present,
:root.cc--darkmode .monthly-legend .status-present {
  background: var(--hc-btn) !important;
  color: #000 !important;
}

:root[data-theme='dark'] .monthly-legend .status-absent,
:root.cc--darkmode .monthly-legend .status-absent {
  background: var(--hc-bg) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .monthly-legend .status-justified,
:root.cc--darkmode .monthly-legend .status-justified {
  background: var(--hc-table-border) !important;
  color: #000 !important;
}

:root[data-theme='dark'] .frequency-table thead,
:root.cc--darkmode .frequency-table thead {
  background: var(--hc-surface) !important;
}

:root[data-theme='dark'] .frequency-table th,
:root.cc--darkmode .frequency-table th {
  color: var(--hc-text) !important;
  border-right: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .frequency-table tbody tr,
:root.cc--darkmode .frequency-table tbody tr {
  background: var(--hc-bg) !important;
  border-bottom: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .frequency-table tbody tr:hover,
:root.cc--darkmode .frequency-table tbody tr:hover {
  background: var(--hc-surface) !important;
}

:root[data-theme='dark'] .frequency-table td,
:root[data-theme='dark'] .frequency-table td.col-aluno,
:root[data-theme='dark'] .table-aluno-name,
:root.cc--darkmode .frequency-table td,
:root.cc--darkmode .frequency-table td.col-aluno,
:root.cc--darkmode .table-aluno-name {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .table-aluno-avatar,
:root.cc--darkmode .table-aluno-avatar {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border: 1px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .frequency-table .status-badge,
:root.cc--darkmode .frequency-table .status-badge {
  border: 1px solid var(--hc-btn-border) !important;
  border-bottom: 1px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .frequency-table .status-present,
:root.cc--darkmode .frequency-table .status-present {
  background: var(--hc-btn) !important;
  color: #000 !important;
}

:root[data-theme='dark'] .frequency-table .status-absent,
:root.cc--darkmode .frequency-table .status-absent {
  background: var(--hc-bg) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .frequency-table .status-justified,
:root.cc--darkmode .frequency-table .status-justified {
  background: var(--hc-table-border) !important;
  color: #000 !important;
}

:root[data-theme='dark'] .frequency-table .status-pending,
:root.cc--darkmode .frequency-table .status-pending {
  background: var(--hc-surface) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .btn-three-dots,
:root.cc--darkmode .btn-three-dots {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .btn-three-dots:hover:not(.disabled),
:root.cc--darkmode .btn-three-dots:hover:not(.disabled) {
  background: var(--hc-surface) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .dropdown-menu,
:root.cc--darkmode .dropdown-menu {
  background: var(--hc-bg) !important;
  border: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .dropdown-item,
:root.cc--darkmode .dropdown-item {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .dropdown-item:hover,
:root.cc--darkmode .dropdown-item:hover {
  background: var(--hc-surface) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .nav-arrow,
:root.cc--darkmode .nav-arrow {
  background: var(--hc-bg);
  border: 1px solid var(--hc-border);
  color: var(--hc-text);
}

:root[data-theme='dark'] .nav-arrow:hover,
:root.cc--darkmode .nav-arrow:hover {
  background: var(--hc-surface);
  border-color: var(--hc-table-border);
  color: var(--hc-text);
}

:root[data-theme='dark'] .calendar-day-label,
:root.cc--darkmode .calendar-day-label {
  color: var(--hc-text);
}

:root[data-theme='dark'] .calendar-day,
:root.cc--darkmode .calendar-day {
  background: var(--hc-bg);
  border: 1px solid var(--hc-border);
  color: var(--hc-text);
}

:root[data-theme='dark'] .calendar-day.has-aula,
:root.cc--darkmode .calendar-day.has-aula {
  border-color: var(--hc-btn-border);
}

:root[data-theme='dark'] .calendar-day.selected,
:root.cc--darkmode .calendar-day.selected {
  background: var(--hc-btn);
  color: #000;
  border-color: var(--hc-btn-border);
}

:root[data-theme='dark'] .calendar-day:hover:not(.disabled):not(.empty),
:root.cc--darkmode .calendar-day:hover:not(.disabled):not(.empty) {
  background: var(--hc-surface) !important;
  color: var(--hc-text) !important;
  border-color: var(--hc-table-border) !important;
}

:root[data-theme='dark'] .calendar-day.selected:hover,
:root.cc--darkmode .calendar-day.selected:hover {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border-color: var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .calendar-day.disabled,
:root[data-theme='dark'] .calendar-day.empty,
:root.cc--darkmode .calendar-day.disabled,
:root.cc--darkmode .calendar-day.empty {
  background: var(--hc-surface);
  color: #9aa0a6;
  border-color: var(--hc-border);
}

:root[data-theme='dark'] .calendar-legend,
:root.cc--darkmode .calendar-legend {
  background: var(--hc-bg);
  color: var(--hc-text);
}

:root[data-theme='dark'] .legend-dot.com-aula,
:root.cc--darkmode .legend-dot.com-aula {
  background: var(--hc-btn);
}

:root[data-theme='dark'] .legend-dot.sem-aula,
:root.cc--darkmode .legend-dot.sem-aula {
  background: var(--hc-table-border);
}

:root[data-theme='dark'] .stat-badge,
:root.cc--darkmode .stat-badge {
  background: var(--hc-bg);
  color: var(--hc-text);
}

:root[data-theme='dark'] .stat-badge .value,
:root.cc--darkmode .stat-badge .value {
  color: var(--hc-text);
}

:root[data-theme='dark'] .frequencia-stats,
:root.cc--darkmode .frequencia-stats {
  background: var(--hc-surface);
}

:root[data-theme='dark'] .aluno-item,
:root.cc--darkmode .aluno-item {
  background: var(--hc-bg);
  border: 1px solid var(--hc-border);
  color: var(--hc-text);
}

:root[data-theme='dark'] .aluno-detail-item,
:root.cc--darkmode .aluno-detail-item {
  background: var(--hc-bg);
  border: 1px solid var(--hc-border);
  color: var(--hc-text);
}

:root[data-theme='dark'] .aluno-detail-header,
:root.cc--darkmode .aluno-detail-header {
  color: var(--hc-text);
}

:root[data-theme='dark'] .aluno-detail-header:hover,
:root.cc--darkmode .aluno-detail-header:hover {
  background: var(--hc-surface) !important;
}

:root[data-theme='dark'] .aluno-detail-header .btn,
:root[data-theme='dark'] .aluno-detail-header .btn i,
:root.cc--darkmode .aluno-detail-header .btn,
:root.cc--darkmode .aluno-detail-header .btn i {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .aluno-detail-header .btn,
:root.cc--darkmode .aluno-detail-header .btn {
  background: var(--hc-bg) !important;
  border: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .aluno-item,
:root.cc--darkmode .aluno-item {
  background: var(--hc-bg);
  border: 1px solid var(--hc-border);
  color: var(--hc-text);
}

:root[data-theme='dark'] .aluno-item:hover,
:root.cc--darkmode .aluno-item:hover {
  background: var(--hc-surface);
  border-color: var(--hc-table-border);
}

:root[data-theme='dark'] .aluno-avatar,
:root.cc--darkmode .aluno-avatar {
  background: var(--hc-btn);
  color: #000;
}

/* Área do Aluno */
:root[data-theme='dark'] .aluno-access-header,
:root.cc--darkmode .aluno-access-header {
  background: var(--hc-bg) !important;
  color: var(--hc-text) !important;
  border-bottom: 1px solid var(--hc-border);
}

:root[data-theme='dark'] .aluno-access-body label,
:root.cc--darkmode .aluno-access-body label {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .matriculas-title,
:root.cc--darkmode .matriculas-title {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .matriculas-subtitle,
:root.cc--darkmode .matriculas-subtitle {
  color: #ffffff !important;
}

:root[data-theme='dark'] .aluno-nome,
:root.cc--darkmode .aluno-nome {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .btn-sair-aluno,
:root.cc--darkmode .btn-sair-aluno {
  background: var(--hc-btn) !important;
  border: 2px solid var(--hc-btn-border) !important;
  color: #000 !important;
  box-shadow: var(--hc-shadow) !important;
}

:root[data-theme='dark'] .badge-titular,
:root.cc--darkmode .badge-titular {
  background: var(--hc-btn) !important;
  color: #000 !important;
}

:root[data-theme='dark'] .badge-dependente,
:root.cc--darkmode .badge-dependente {
  background: var(--hc-table-border) !important;
  color: #000 !important;
}

/* Cards de Matrícula */
:root[data-theme='dark'] .status-badge,
:root.cc--darkmode .status-badge {
  background: var(--hc-surface) !important;
  border-bottom: 2px solid var(--hc-table-border) !important;
}

:root[data-theme='dark'] .card-content,
:root.cc--darkmode .card-content {
  background-color: #686868 !important;
}

:root[data-theme='dark'] .badge.encerrado,
:root.cc--darkmode .badge.encerrado {
  background: var(--hc-bg) !important;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-border);
}

:root[data-theme='dark'] .badge.ativa,
:root.cc--darkmode .badge.ativa {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border: 1px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .periodo-label,
:root.cc--darkmode .periodo-label {
  color: #ffffff !important;
}

:root[data-theme='dark'] .periodo-value,
:root.cc--darkmode .periodo-value {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .modalidade-info,
:root.cc--darkmode .modalidade-info {
  background: var(--hc-bg) !important;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .payment-status-item,
:root.cc--darkmode .payment-status-item {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border: 1px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .payment-status-item.isento,
:root.cc--darkmode .payment-status-item.isento {
  background: var(--hc-bg) !important;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .card-actions,
:root.cc--darkmode .card-actions {
  background-color: #686868 !important;
  border-top: 2px solid var(--hc-table-border) !important;
}

:root[data-theme='dark'] .isento-badge,
:root.cc--darkmode .isento-badge {
  background: var(--hc-bg) !important;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-border) !important;
}

/* Toast de cancelamento de matrícula */
:root[data-theme='dark'] .toast-warning,
:root.cc--darkmode .toast-warning {
  background: var(--hc-surface) !important;
  border: 1px solid var(--hc-border) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .toast-warning .toast-body,
:root.cc--darkmode .toast-warning .toast-body,
:root[data-theme='dark'] .toast-warning .toast-message,
:root.cc--darkmode .toast-warning .toast-message,
:root[data-theme='dark'] .toast-warning .toast-list,
:root.cc--darkmode .toast-warning .toast-list {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .aluno-name,
:root.cc--darkmode .aluno-name,
:root[data-theme='dark'] .frequencia-date-meta,
:root.cc--darkmode .frequencia-date-meta {
  color: var(--hc-text);
}

:root[data-theme='dark'] .aluno-name,
:root.cc--darkmode .aluno-name {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .frequencia-badge,
:root.cc--darkmode .frequencia-badge,
:root[data-theme='dark'] .badge-present,
:root[data-theme='dark'] .badge-absent,
:root[data-theme='dark'] .badge-justified,
:root[data-theme='dark'] .badge-pending,
:root.cc--darkmode .badge-present,
:root.cc--darkmode .badge-absent,
:root.cc--darkmode .badge-justified,
:root.cc--darkmode .badge-pending {
  background: var(--hc-modal-accent) !important;
  color: #000 !important;
  border: 1px solid var(--hc-modal-accent) !important;
}

:root[data-theme='dark'] .aluno-detail-stats,
:root.cc--darkmode .aluno-detail-stats {
  background: transparent !important;
}

:root[data-theme='dark'] .aluno-detail-stats .frequencia-badge,
:root.cc--darkmode .aluno-detail-stats .frequencia-badge {
  background: var(--hc-modal-accent) !important;
  color: #000 !important;
  border: 1px solid var(--hc-modal-accent) !important;
}

:root[data-theme='dark'] .aluno-detail-header .btn,
:root.cc--darkmode .aluno-detail-header .btn {
  background: var(--hc-modal-accent) !important;
  border: 1px solid var(--hc-modal-accent) !important;
  color: #000 !important;
}

:root[data-theme='dark'] .aluno-detail-header .btn i,
:root.cc--darkmode .aluno-detail-header .btn i {
  color: #000 !important;
}

:root[data-theme='dark'] .stat-card-value,
:root.cc--darkmode .stat-card-value,
:root[data-theme='dark'] .stat-badge .value,
:root.cc--darkmode .stat-badge .value {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .month-selector,
:root.cc--darkmode .month-selector {
  background: var(--hc-bg);
  border: 1px solid var(--hc-border);
}

:root[data-theme='dark'] .month-selector select,
:root.cc--darkmode .month-selector select,
:root[data-theme='dark'] .month-selector label,
:root.cc--darkmode .month-selector label {
  color: var(--hc-text);
}

:root[data-theme='dark'] .monthly-stats,
:root.cc--darkmode .monthly-stats {
  background: var(--hc-surface);
}

:root[data-theme='dark'] .stat-indicator,
:root.cc--darkmode .stat-indicator {
  background: var(--hc-surface);
  border: 1.5px solid var(--hc-border);
  color: var(--hc-text);
}

:root[data-theme='dark'] .stat-value,
:root.cc--darkmode .stat-value {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .expand-btn,
:root.cc--darkmode .expand-btn {
  background: var(--hc-surface) !important;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .stat-card,
:root.cc--darkmode .stat-card {
  background: var(--hc-bg);
  border: 1px solid var(--hc-border);
  box-shadow: var(--hc-shadow);
  color: var(--hc-text);
}

:root[data-theme='dark'] .stat-card-label,
:root.cc--darkmode .stat-card-label,
:root[data-theme='dark'] .stat-card-value,
:root.cc--darkmode .stat-card-value {
  color: var(--hc-text);
}

/* Justificar Frequência */
:root[data-theme='dark'] .justificar-title,
:root[data-theme='dark'] .justificar-subtitle,
:root.cc--darkmode .justificar-title,
:root.cc--darkmode .justificar-subtitle{
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .faltas-table-wrapper thead th,
:root.cc--darkmode .faltas-table-wrapper thead th {
  background: var(--hc-surface) !important;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .faltas-table-wrapper tbody tr,
:root.cc--darkmode .faltas-table-wrapper tbody tr {
  border-bottom: 1px solid var(--hc-table-border) !important;
}

:root[data-theme='dark'] .faltas-table-wrapper td,
:root.cc--darkmode .faltas-table-wrapper td {
  background: var(--hc-bg) !important;
  border: 1px solid var(--hc-border) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .registros-title,
:root[data-theme='dark'] .registros-subtitle,
:root.cc--darkmode .registros-title,
:root.cc--darkmode .registros-subtitle {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .registros-table-wrapper,
:root[data-theme='dark'] .registro-header,
:root.cc--darkmode .registros-table-wrapper,
:root.cc--darkmode .registro-header {
  background: var(--hc-surface) !important;
  border: 1px solid var(--hc-border) !important;
  color: var(--hc-text) !important;
  border-bottom: 2px solid var(--hc-table-border) !important;
}

:root[data-theme='dark'] .registro-card:hover,
:root.cc--darkmode .registro-card:hover {
  border-color: var(--hc-border) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2) !important;
}

:root[data-theme='dark'] .action-btn:hover:not(.disabled),
:root.cc--darkmode .action-btn:hover:not(.disabled) {
  background: var(--hc-shadow) !important;
  color: #000 !important;
  border-color: var(--hc-surface) !important;
  transform: translateY(-1px);
}

/* Pagamentos (Aluno) */
:root[data-theme='dark'] .pagamentos-header,
:root.cc--darkmode .pagamentos-header {
  background: transparent;
}

:root[data-theme='dark'] .resumo-item::before,
:root.cc--darkmode .resumo-item::before {
  background: var(--hc-btn) !important;
}

:root[data-theme='dark'] .pagamentos-title,
:root[data-theme='dark'] .pagamentos-subtitle,
:root.cc--darkmode .pagamentos-title,
:root.cc--darkmode .pagamentos-subtitle {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .aluno-pagamentos-container,
:root.cc--darkmode .aluno-pagamentos-container {
  background: var(--hc-bg);
  color: var(--hc-text);
}

:root[data-theme='dark'] .pagamentos-resumo,
:root.cc--darkmode .pagamentos-resumo {
  background: var(--hc-bg);
}

:root[data-theme='dark'] .resumo-item,
:root.cc--darkmode .resumo-item {
  background: var(--hc-surface);
  border: 1px solid var(--hc-border);
  box-shadow: var(--hc-shadow);
  color: var(--hc-text);
}

:root[data-theme='dark'] .resumo-label,
:root[data-theme='dark'] .resumo-valor,
:root.cc--darkmode .resumo-label,
:root.cc--darkmode .resumo-valor {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .pagamento-card,
:root.cc--darkmode .pagamento-card {
  background: var(--hc-surface) !important;
  border: 1px solid var(--hc-border) !important;
  box-shadow: var(--hc-shadow) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .periodo-badge,
:root.cc--darkmode .periodo-badge {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border: 1px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .valor-label,
:root[data-theme='dark'] .valor-display,
:root.cc--darkmode .valor-label,
:root.cc--darkmode .valor-display {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .ribbon,
:root.cc--darkmode .ribbon {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border: 1px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .ribbon i,
:root.cc--darkmode .ribbon i {
  color: #000 !important;
}

:root[data-theme='dark'] .action-status,
:root.cc--darkmode .action-status {
  background: var(--hc-bg) !important;
  border: 1px solid var(--hc-border) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .action-status i,
:root.cc--darkmode .action-status i {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .btn-action,
:root.cc--darkmode .btn-action {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border: 1px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .btn-action i,
:root.cc--darkmode .btn-action i {
  color: #000 !important;
}

:root[data-theme='dark'] .empty-state,
:root.cc--darkmode .empty-state {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .action-btn:hover:not(.disabled),
:root.cc--darkmode .action-btn:hover:not(.disabled) {
  background: var(--hc-btn) !important;
  color: #000 !important;
}

@media (max-width: 768px) {
  :root[data-theme='dark'] .content-area,
  :root[data-theme='dark'] .card,
  :root[data-theme='dark'] .box,
  :root[data-theme='dark'] .table-responsive,
  :root.cc--darkmode .content-area,
  :root.cc--darkmode .card,
  :root.cc--darkmode .box,
  :root.cc--darkmode .table-responsive {
    background: var(--hc-bg);
    border: 1px solid var(--hc-border);
    box-shadow: var(--hc-shadow);
  }

:root[data-theme='dark'] .matricula-card[data-status="ativa"],
:root.cc--darkmode .matricula-card[data-status="ativa"] {
  border-color: var(--hc-border) !important;
  background: var(--hc-surface) !important;
}

:root[data-theme='dark'] .matricula-card[data-status="ativa"]:hover,
:root.cc--darkmode .matricula-card[data-status="ativa"]:hover {
  border-color: var(--hc-border) !important;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.2) !important;
}

:root[data-theme='dark'] .matricula-card[data-status="encerrado"],
:root.cc--darkmode .matricula-card[data-status="encerrado"] {
  border-color: var(--hc-border) !important;
  background: var(--hc-surface) !important;
}

:root[data-theme='dark'] .matricula-card[data-status="encerrado"]:hover,
:root.cc--darkmode .matricula-card[data-status="encerrado"]:hover {
  border-color: var(--hc-border) !important;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.2) !important;
}

/* Forçar remoção de cores verde e azul em alto contraste */
:root[data-theme='dark'] .matricula-card[data-status="ativa"]:hover,
:root.cc--darkmode .matricula-card[data-status="ativa"]:hover {
  border-color: var(--hc-border) !important;
}

:root[data-theme='dark'] .matricula-card[data-status="encerrado"]:hover,
:root.cc--darkmode .matricula-card[data-status="encerrado"]:hover {
  border-color: var(--hc-border) !important;
}

/* Remover sombra verde do botão DAR em dark mode */
:root[data-theme='dark'] .btn-action.dar,
:root.cc--darkmode .btn-action.dar {
  background: var(--hc-btn) !important;
  color: #000 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}

:root[data-theme='dark'] .btn-action.dar:hover,
:root.cc--darkmode .btn-action.dar:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2) !important;
}

  :root[data-theme='dark'] .btn,
  :root[data-theme='dark'] .btn-primary,
  :root[data-theme='dark'] .btn-action,
  :root.cc--darkmode .btn,
  :root.cc--darkmode .btn-primary,
  :root.cc--darkmode .btn-action {
    background: rgba(255, 234, 3, 1) !important;
    border: 1px solid rgba(0, 0, 0, 1) !important;
    color: #000 !important;
  }
}

/* ===== AVISO DE FALTAS - ALTO CONTRASTE ===== */
:root[data-theme='dark'] .aluno-aviso-faltas,
:root.cc--darkmode .aluno-aviso-faltas {
  background: var(--hc-surface) !important;
  border: 2px solid !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}

:root[data-theme='dark'] .aluno-aviso-faltas.aviso-error,
:root.cc--darkmode .aluno-aviso-faltas.aviso-error {
  border-color: rgba(255, 234, 3, 1) !important;
  border-left-width: 6px !important;
}

:root[data-theme='dark'] .aluno-aviso-faltas.aviso-warning,
:root.cc--darkmode .aluno-aviso-faltas.aviso-warning {
  border-color: rgba(255, 234, 3, 1) !important;
  border-left-width: 6px !important;
}

:root[data-theme='dark'] .aviso-icon,
:root.cc--darkmode .aviso-icon {
  background: rgba(255, 234, 3, 0.2) !important;
  color: rgba(255, 234, 3, 1) !important;
}

:root[data-theme='dark'] .aviso-title,
:root.cc--darkmode .aviso-title {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .aviso-message,
:root.cc--darkmode .aviso-message {
  color: var(--hc-text) !important;
}

/* ===== COMPENSAR PAGAMENTO - ALTO CONTRASTE ===== */
:root[data-theme='dark'] .compensar-page,
:root.cc--darkmode .compensar-page {
  background: var(--hc-bg) !important;
}

:root[data-theme='dark'] .compensar-container,
:root.cc--darkmode .compensar-container {
  background: transparent !important;
}

:root[data-theme='dark'] .compensar-header-section,
:root.cc--darkmode .compensar-header-section {
  background: transparent !important;
}

:root[data-theme='dark'] .form-title,
:root.cc--darkmode .form-title {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .form-subtitle,
:root.cc--darkmode .form-subtitle {
  color: var(--hc-text) !important;
  opacity: 0.8;
}

:root[data-theme='dark'] .duplicidade-card,
:root[data-theme='dark'] .select-section,
:root.cc--darkmode .duplicidade-card,
:root.cc--darkmode .select-section {
  background: var(--hc-surface) !important;
  border: 1px solid var(--hc-border) !important;
  box-shadow: var(--hc-shadow) !important;
}

:root[data-theme='dark'] .duplicidade-card .card-header,
:root.cc--darkmode .duplicidade-card .card-header {
  background: var(--hc-bg) !important;
  color: var(--hc-text) !important;
  border-bottom: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .card-badge,
:root.cc--darkmode .card-badge {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border: 1px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .info-item,
:root.cc--darkmode .info-item {
  background: var(--hc-surface) !important;
  border: 1px solid var(--hc-border) !important;
  border-radius: 10px;
  margin: 4px 0;
}

:root[data-theme='dark'] .info-item .label,
:root.cc--darkmode .info-item .label {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .info-item .value,
:root.cc--darkmode .info-item .value {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .info-item.highlight,
:root.cc--darkmode .info-item.highlight {
  background: var(--hc-surface) !important;
  border: 2px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .select-label,
:root.cc--darkmode .select-label {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .select-label i,
:root.cc--darkmode .select-label i {
  display: none !important;
}

:root[data-theme='dark'] .select-helper,
:root.cc--darkmode .select-helper {
  color: var(--hc-text) !important;
  opacity: 0.8;
}

:root[data-theme='dark'] .form-select-custom,
:root.cc--darkmode .form-select-custom {
  background-color: var(--hc-bg) !important;
  border: 1px solid var(--hc-border) !important;
  color: var(--hc-text) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23ffffff'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 20px !important;
}

:root[data-theme='dark'] .form-select-custom:hover,
:root.cc--darkmode .form-select-custom:hover {
  border-color: var(--hc-btn-border) !important;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.2) !important;
}

:root[data-theme='dark'] .form-select-custom:focus,
:root.cc--darkmode .form-select-custom:focus {
  border-color: var(--hc-btn-border) !important;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3) !important;
}

:root[data-theme='dark'] .error-message,
:root.cc--darkmode .error-message {
  background: rgba(255, 234, 3, 0.2) !important;
  border-left: 4px solid var(--hc-btn) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .modal-custom,
:root.cc--darkmode .modal-custom {
  background: var(--hc-surface) !important;
  border: 2px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .modal-header-custom,
:root.cc--darkmode .modal-header-custom {
  background: var(--hc-bg) !important;
  border-bottom: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .modal-title-content,
:root.cc--darkmode .modal-title-content {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .modal-body-custom,
:root.cc--darkmode .modal-body-custom {
  background: var(--hc-surface) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .warning-text,
:root.cc--darkmode .warning-text {
  background: rgba(255, 234, 3, 0.2) !important;
  border-left: 4px solid var(--hc-btn) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .warning-text i,
:root.cc--darkmode .warning-text i {
  color: var(--hc-btn) !important;
}

:root[data-theme='dark'] .confirmation-text,
:root.cc--darkmode .confirmation-text {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .modal-footer-custom,
:root.cc--darkmode .modal-footer-custom {
  background: var(--hc-bg) !important;
  border-top: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .btn-modal.primary,
:root.cc--darkmode .btn-modal.primary {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border: 1px solid #000 !important;
  box-shadow: none !important;
}

:root[data-theme='dark'] .btn-modal.secondary,
:root.cc--darkmode .btn-modal.secondary {
  background: var(--hc-surface) !important;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-border) !important;
}

/* ===== DAR PAGE - ALTO CONTRASTE ===== */
:root[data-theme='dark'] .dar-page,
:root.cc--darkmode .dar-page {
  background: var(--hc-bg) !important;
}

:root[data-theme='dark'] .dar-container,
:root.cc--darkmode .dar-container {
  background: transparent !important;
}

:root[data-theme='dark'] .dar-header-section,
:root.cc--darkmode .dar-header-section {
  background: transparent !important;
}

:root[data-theme='dark'] .form-title-secondary,
:root.cc--darkmode .form-title-secondary {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .subtitle,
:root.cc--darkmode .subtitle {
  color: var(--hc-text) !important;
  opacity: 0.8;
}

:root[data-theme='dark'] .error-state-container,
:root[data-theme='dark'] .form-state-container,
:root.cc--darkmode .error-state-container,
:root.cc--darkmode .form-state-container {
  background: transparent !important;
}

:root[data-theme='dark'] .error-card,
:root[data-theme='dark'] .form-card,
:root.cc--darkmode .error-card,
:root.cc--darkmode .form-card {
  background: var(--hc-surface) !important;
  border: 1px solid var(--hc-border) !important;
  box-shadow: var(--hc-shadow) !important;
}

:root[data-theme='dark'] .error-icon,
:root.cc--darkmode .error-icon {
  background: rgba(255, 234, 3, 0.2) !important;
  color: var(--hc-btn) !important;
}

:root[data-theme='dark'] .error-content h2,
:root.cc--darkmode .error-content h2 {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .error-description,
:root.cc--darkmode .error-description {
  color: var(--hc-text) !important;
  opacity: 0.8;
}

:root[data-theme='dark'] .error-info-box,
:root.cc--darkmode .error-info-box {
  background: rgba(255, 234, 3, 0.15) !important;
  border-left: 4px solid var(--hc-btn) !important;
}

:root[data-theme='dark'] .error-info-box i,
:root.cc--darkmode .error-info-box i {
  color: var(--hc-btn) !important;
}

:root[data-theme='dark'] .error-info-box span,
:root.cc--darkmode .error-info-box span {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .info-banner,
:root.cc--darkmode .info-banner {
  background: rgba(255, 234, 3, 0.15) !important;
  border-left: 5px solid var(--hc-btn) !important;
}

:root[data-theme='dark'] .info-banner i,
:root.cc--darkmode .info-banner i {
  color: var(--hc-btn) !important;
}

:root[data-theme='dark'] .info-banner strong,
:root[data-theme='dark'] .info-banner p,
:root.cc--darkmode .info-banner strong,
:root.cc--darkmode .info-banner p {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .form-header,
:root.cc--darkmode .form-header {
  background: var(--hc-bg) !important;
  border-bottom: 1px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .dar-form,
:root.cc--darkmode .dar-form {
  background: var(--hc-surface) !important;
}

:root[data-theme='dark'] .section-title,
:root.cc--darkmode .section-title {
  color: var(--hc-text) !important;
  border-bottom: 2px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .form-label,
:root.cc--darkmode .form-label {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .form-control,
:root.cc--darkmode .form-control {
  background: var(--hc-bg) !important;
  border: 1px solid var(--hc-border) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .form-control:focus,
:root.cc--darkmode .form-control:focus {
  border-color: var(--hc-btn-border) !important;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2) !important;
  background: var(--hc-bg) !important;
}

:root[data-theme='dark'] .form-control:disabled,
:root[data-theme='dark'] .form-control[readonly],
:root.cc--darkmode .form-control:disabled,
:root.cc--darkmode .form-control[readonly] {
  background: var(--hc-surface) !important;
  opacity: 0.7;
}

:root[data-theme='dark'] .form-text,
:root.cc--darkmode .form-text {
  color: var(--hc-text) !important;
  opacity: 0.8;
}

:root[data-theme='dark'] .confirmation-section,
:root.cc--darkmode .confirmation-section {
  background: rgba(255, 234, 3, 0.1) !important;
  border: 1px solid var(--hc-btn-border) !important;
}

:root[data-theme='dark'] .confirmation-message,
:root.cc--darkmode .confirmation-message {
  background: rgba(255, 234, 3, 0.15) !important;
  border-left: 4px solid var(--hc-btn) !important;
}

:root[data-theme='dark'] .confirmation-message i,
:root.cc--darkmode .confirmation-message i {
  color: var(--hc-btn) !important;
}

:root[data-theme='dark'] .confirmation-message strong,
:root[data-theme='dark'] .confirmation-message p,
:root.cc--darkmode .confirmation-message strong,
:root.cc--darkmode .confirmation-message p {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .form-check-label,
:root.cc--darkmode .form-check-label {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .form-check-input,
:root.cc--darkmode .form-check-input {
  background: var(--hc-bg) !important;
  border: 1.5px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .form-check-input:checked,
:root.cc--darkmode .form-check-input:checked {
  background: var(--hc-btn) !important;
  border-color: var(--hc-btn) !important;
}

:root[data-theme='dark'] .cancelar-title,
:root[data-theme='dark'] .cancelar-subtitle,
:root.cc--darkmode .cancelar-title,
:root.cc--darkmode .cancelar-subtitle {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .cancelar-content-block,
:root.cc--darkmode .cancelar-content-block {
  background: var(--hc-surface) !important;
  border: 1px solid var(--hc-border) !important;
  box-shadow: var(--hc-shadow) !important;
}

:root[data-theme='dark'] .pagamento-info,
:root.cc--darkmode .pagamento-info {
  background: var(--hc-bg) !important;
  border-left: 4px solid var(--hc-btn) !important;
  box-shadow: none !important;
}

:root[data-theme='dark'] .info-header,
:root.cc--darkmode .info-header {
  border-bottom: 2px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .info-header i,
:root.cc--darkmode .info-header i {
  color: var(--hc-btn) !important;
}

:root[data-theme='dark'] .info-header h3,
:root[data-theme='dark'] .info-label,
:root[data-theme='dark'] .info-value,
:root.cc--darkmode .info-header h3,
:root.cc--darkmode .info-label,
:root.cc--darkmode .info-value {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .alert-cancelamento,
:root.cc--darkmode .alert-cancelamento {
  background: var(--hc-bg) !important;
  border-left: 4px solid var(--hc-btn) !important;
  box-shadow: none !important;
}

:root[data-theme='dark'] .alert-icon,
:root.cc--darkmode .alert-icon {
  background: var(--hc-surface) !important;
  color: var(--hc-btn) !important;
  box-shadow: none !important;
}

:root[data-theme='dark'] .alert-text,
:root[data-theme='dark'] .alert-text strong,
:root.cc--darkmode .alert-text,
:root.cc--darkmode .alert-text strong {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .form-label,
:root.cc--darkmode .form-label {
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] #id_motivo,
:root.cc--darkmode #id_motivo {
  background: var(--hc-bg) !important;
  border: 1.5px solid var(--hc-border) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] #id_motivo:focus,
:root.cc--darkmode #id_motivo:focus {
  border-color: var(--hc-btn-border) !important;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2) !important;
  background: var(--hc-bg) !important;
}

:root[data-theme='dark'] .form-help,
:root.cc--darkmode .form-help {
  color: var(--hc-text) !important;
  opacity: 0.8;
}

:root[data-theme='dark'] .error-message,
:root.cc--darkmode .error-message {
  background: rgba(255, 234, 3, 0.15) !important;
  border: 1px solid var(--hc-btn-border) !important;
  color: var(--hc-text) !important;
}

:root[data-theme='dark'] .form-footer,
:root.cc--darkmode .form-footer {
  border-top: 2px solid var(--hc-border) !important;
}

:root[data-theme='dark'] .btn-cancelar,
:root.cc--darkmode .btn-cancelar {
  background: transparent !important;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-btn-border) !important;
  box-shadow: none !important;
}

:root[data-theme='dark'] .btn-confirmar,
:root.cc--darkmode .btn-confirmar {
  background: var(--hc-btn) !important;
  color: #000 !important;
  border: 1px solid var(--hc-btn-border) !important;
  box-shadow: none !important;
}