:root {
    /*  Padrão  */
    --template1: #5CD3B9;
    /* Painel lateral */
    --template2: #00c499;
    /* cor hover */
    --template3: #00bb92;
}
.field-icon {
  float: right;
  margin-left: -25px;
  margin-top: -25px;
  position: relative;
  z-index: 2;
  margin-right: 8px;
  cursor: pointer;
}
#mensagem-recuperar{
  color: var(--template1) !important;
  font-size: 13px;

}

.select2-selection__rendered {
    font-weight: 500;
    line-height: 36px !important;
    border-radius: 7px !important;
    border: 1px solid #c9c7c7;
}
.select2-container .select2-selection--single {
    height: 39px !important;
}
.select2-selection__arrow {
    height: 38px !important;
}


hr.separador {
  border: 1px dotted #666;
  border-radius: 5px;
}

.select2-selection__rendered {
    line-height: 35px !important;
}
.select2-container .select2-selection--single {
    height: 39px !important;
}
.select2-selection__arrow {
    height: 38px !important;
}
hr.separador {
  border: 1px dotted #666;
  border-radius: 5px;
}
.text-verde{
  color:#0e9e29;
}
.ocultar{
  display:none;
}
.textareag{
    width:1000px;
    height:550px;
}
.side-menu .slide .side-menu__item:hover {
    background-color: var(--template2);

}
.main-sidemenu {
    background-color: #2A2E3F;
}
.app-sidebar {
    background-color: #2A2E3F;
}

.slide-menu {
    border-left: 4px solid #de7b53;
    background-color: #2a2e3f !important;
    color: #ffffff;
}
.side-menu__item a{
    background-color: var(--template2);
    color: #ffffff;
}

.side-menu__item:hover .side-menu__icon,
.side-menu__item:hover .side-menu__label,
.side-menu__item:hover .angle {
    color: #ffffff !important;
    fill: #ffffff !important;

}
.slide-item.active,
.slide-item:hover,
.slide-item:focus {
    text-decoration: none;
    color: var(--template1) !important;

}
.app-sidebar .side-item.side-item-category {
    color: #7660a7;
}
.main-sidebar-header {
    background: #2A2E3F !important;
}
.main-header {
    background-color: #2A2E3F !important;
}
.slide-item .app-sidebar .slide-menu .slide-item:before:hover {
    color: var(--template1) !important;
}

/* O tema transparente remove o background-image do btn-close. Preserve o
   componente Bootstrap, mas garanta que seu affordance permaneça visível. */
.modal-header .btn-close {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    opacity: 1;
    background-image: none !important;
    color: #ffffff !important;
    font-size: 1.65rem;
    line-height: 1;
    text-shadow: none;
}
.modal-header .btn-close::before {
    content: "×";
    font-weight: 400;
    line-height: 1;
}
.modal-header .btn-close > span {
    display: none;
}
.modal-header:not(.bg-primary):not(.bg-dark):not(.bg-info) .btn-close {
    color: #212529 !important;
}
.modal-dialog-scrollable .modal-content {
    height: calc(100vh - 1rem);
    max-height: calc(100vh - 1rem) !important;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
}
.modal-dialog-scrollable .modal-body {
    flex: 0 1 auto !important;
    height: calc(100vh - 10rem) !important;
    max-height: calc(100vh - 10rem) !important;
    max-height: 100% !important;
    min-height: 0;
    overflow-y: auto !important;
}
#listar table tbody td,
#lista-alunos-escola table tbody td,
#tabela-pessoas-escola tbody td,
.sme-listagem tbody td {
    font-weight: 400;
}
#listar table thead th,
#lista-alunos-escola table thead th,
#tabela-pessoas-escola thead th,
.sme-listagem thead th {
    font-weight: 600;
}
.slide.is-expanded .slide-menu a:hover:before {
   color: var(--template1) !important;
}
.slide:hover .side-menu__label,
.slide:hover .angle {
    color: #fff !important;
    fill: #fff !important;
}
.header-icon-svgs {
    color: #ffffff;
    fill: #ffffff;
}
.font-size-11{
    font-size: 11px !important;
}

#calendar {
    max-width: 1320px;
    margin: 0 auto;
}
/* Hub Municipal: modal de conferência de Pessoa; escopo exclusivo do componente. */
.hub-pessoa-encontrada .modal-body { padding: 1.1rem 1.25rem; }
.hub-pessoa-encontrada .modal-footer { gap: .5rem; }
.hub-found-intro { display:flex; align-items:flex-start; gap:.55rem; color:#596573; margin:0 0 .9rem; font-size:.93rem; }
.hub-found-intro > i { color:var(--primary-bg-color); margin-top:.14rem; }
.hub-found-intro p { margin:0; }
.hub-result-card { border:1px solid #e3e8ed; border-radius:.65rem; padding:1rem; margin:0 0 .85rem; background:#fff; }
.hub-result-card h6 { color:#354052; font-size:.9rem; font-weight:700; margin:0 0 .85rem; }
.hub-result-card h6 i { color:var(--primary-bg-color); margin-right:.35rem; }
.hub-found-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem 1rem; }
.hub-found-field { display:flex; gap:.55rem; min-width:0; }
.hub-found-field > i { color:var(--primary-bg-color); width:1rem; margin-top:.15rem; text-align:center; opacity:.82; }
.hub-found-field div { min-width:0; }
.hub-found-field span { display:block; color:#778391; font-size:.73rem; line-height:1.15; }
.hub-found-field strong { display:block; color:#263340; font-size:.9rem; font-weight:600; overflow-wrap:anywhere; }
.hub-found-field[data-hub-found-field="nome"] { grid-column:span 2; }
.hub-conflicts-card { background:#fffdf7; border-color:#f1d79a; }
.hub-conflicts-card h6 i { color:#c58b17; }
.hub-conflicts-card > p { color:#786537; font-size:.84rem; margin:-.4rem 0 .8rem; }
.hub-conflict-group { border:0; margin:0 0 .8rem; padding:0; }
.hub-conflict-group:last-child { margin-bottom:0; }
.hub-conflict-group legend { color:#44515e; float:none; font-size:.84rem; font-weight:700; margin:0 0 .45rem; padding:0; width:auto; }
.hub-conflict-option { align-items:center; background:#fff; border:1px solid #e1e5e9; border-radius:.5rem; cursor:pointer; display:flex; gap:.6rem; margin:.4rem 0 0; min-height:2.55rem; padding:.55rem .7rem; transition:border-color .15s ease,box-shadow .15s ease,background .15s ease; }
.hub-conflict-option:hover { border-color:var(--primary-bg-color); background:#f8fbfd; }
.hub-conflict-option:focus-within { border-color:var(--primary-bg-color); box-shadow:0 0 0 .16rem rgba(32,125,184,.18); }
.hub-conflict-option input { flex:0 0 auto; margin:0; }
.hub-conflict-option input:checked + span { color:#263340; font-weight:600; }
.hub-conflict-option span { overflow-wrap:anywhere; }
@media (max-width:575.98px) { .hub-pessoa-encontrada .modal-body { padding:1rem; } .hub-found-grid { grid-template-columns:1fr; } .hub-found-field[data-hub-found-field="nome"] { grid-column:auto; } .hub-result-card { padding:.85rem; } }

/* Formulário central de Pessoa: agrupamento visual sem afetar outros CRUDs. */
.pessoa-form-modal .pessoa-form-modal-body { background:#f8fafb; padding:1.1rem 1.25rem; }
.pessoa-form-modal .pessoa-form-section-card { background:#fff; border:1px solid #e3e8ed; border-radius:.65rem; box-shadow:0 1px 2px rgba(31,49,64,.035); margin:0 0 .9rem; padding:1rem 1rem .15rem; }
.pessoa-form-modal .pessoa-form-section-card:last-of-type { margin-bottom:0; }
.pessoa-form-modal .pessoa-form-section-card > h6 { align-items:center; color:#354052; display:flex; font-size:.92rem; font-weight:700; gap:.45rem; margin:0 0 .9rem; }
.pessoa-form-modal .pessoa-form-section-card > h6 > i { color:var(--primary-bg-color); font-size:.95rem; text-align:center; width:1rem; }
.pessoa-form-modal .pessoa-form-section-card label { color:#52606d; font-size:.84rem; font-weight:500; margin-bottom:.3rem; }
.pessoa-form-modal .pessoa-form-section-card .mb-3 { margin-bottom:.85rem !important; }
.pessoa-form-modal .pessoa-hub-imported-notice { align-items:flex-start; background:#f3f8fb; border:1px solid #d7e7ef; border-left:3px solid var(--primary-bg-color); border-radius:.6rem; color:#465663; display:flex; gap:.65rem; margin:0 0 .9rem; padding:.75rem .85rem; }
.pessoa-form-modal .pessoa-hub-imported-notice > i { color:var(--primary-bg-color); font-size:1rem; margin-top:.1rem; }
.pessoa-form-modal .pessoa-hub-imported-notice strong,
.pessoa-form-modal .pessoa-hub-imported-notice span { display:block; }
.pessoa-form-modal .pessoa-hub-imported-notice strong { color:#354052; font-size:.86rem; font-weight:700; margin-bottom:.1rem; }
.pessoa-form-modal .pessoa-hub-imported-notice span { font-size:.84rem; line-height:1.35; }
.pessoa-form-modal .modal-footer { border-top:1px solid #e3e8ed; gap:.5rem; padding:.8rem 1.25rem; }
@media (max-width:575.98px) {
  .pessoa-form-modal .pessoa-form-modal-body { padding:1rem; }
  .pessoa-form-modal .pessoa-form-section-card { padding:.85rem .85rem .05rem; }
  .pessoa-form-modal .modal-footer { padding:.75rem 1rem; }
}
/* Matrícula individual da Escola: escopo exclusivo do módulo. */
.matriculas-page-header { gap: 1rem; }
.matriculas-filter-card { margin-bottom: 1rem; }
.matriculas-filter-card .form-label { font-size: .8rem; font-weight: 600; margin-bottom: .35rem; }
.matricula-form-card { border: 1px solid rgba(0,0,0,.11); border-radius: .6rem; padding: 1rem; margin-bottom: 1rem; background: #fff; }
.matricula-form-card h6 { color: var(--primary-bg-color, #087f5b); font-weight: 600; margin-bottom: 1rem; }
.matricula-form-card h6 i { margin-right: .45rem; }
.matricula-person-results { margin-top: .5rem; max-height: 220px; overflow-y: auto; }
.matricula-person-option { display: block; width: 100%; border: 1px solid #e1e6e4; border-radius: .45rem; background: #fff; padding: .65rem .75rem; text-align: left; margin-bottom: .4rem; cursor: pointer; }
.matricula-person-option:hover, .matricula-person-option:focus { border-color: var(--primary-bg-color, #087f5b); background: #f3faf7; outline: 0; }
.matricula-person-option strong, .matricula-person-option span, .matricula-person-selected strong, .matricula-person-selected span { display: block; }
.matricula-person-option span, .matricula-person-selected span { color: #667085; font-size: .82rem; margin-top: .15rem; }
.matricula-person-selected { display: flex; align-items: center; gap: .65rem; border: 1px solid #cfe7dc; background: #f3faf7; border-radius: .5rem; padding: .7rem .8rem; margin-top: .65rem; }
.matricula-person-selected > i { color: var(--primary-bg-color, #087f5b); font-size: 1.45rem; }
.matricula-person-selected .btn { color: var(--primary-bg-color, #087f5b); }
.matriculas-table-wrap #tabela-matriculas { border-collapse: collapse; }
.matriculas-table-wrap #tabela-matriculas thead th { background: var(--primary-bg-color, #087f5b); color: #fff; font-weight: 700; border-color: rgba(255,255,255,.26); vertical-align: middle; white-space: nowrap; }
.matriculas-table-wrap #tabela-matriculas tbody td { font-weight: 400; border-color: #adb5bd; vertical-align: middle; }
.matriculas-table-wrap #tabela-matriculas tbody tr { border-bottom: 1px solid #adb5bd; }
.matriculas-table-wrap .matricula-aluno-nome { font-weight: 400; }
.matricula-situacao-control { display: inline-flex; align-items: stretch; vertical-align: middle; }
.matricula-situacao-badge { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.matricula-situacao-edit { border: 0; border-left: 1px solid rgba(255,255,255,.4); border-top-left-radius: 0; border-bottom-left-radius: 0; cursor: pointer; padding: .25rem .42rem; line-height: 1; }
.matricula-situacao-edit:hover:not(:disabled), .matricula-situacao-edit:focus-visible:not(:disabled) { filter: brightness(.9); outline: 0; box-shadow: 0 0 0 .15rem rgba(8,127,91,.25); }
.matricula-situacao-edit:disabled { cursor: not-allowed; opacity: .72; }
.matricula-status-inativa { background-color: #495057 !important; color: #fff !important; }
.matriculas-table-wrap .matricula-turma-badge { vertical-align: middle; color: #fff; }
.matriculas-table-wrap .matricula-turma-aguardando, .matriculas-table-wrap .matricula-turma-cor-neutra { background-color: #6c757d !important; color: #fff !important; }
.matriculas-table-wrap .matricula-turma-cor-AZUL { background-color: #1D4ED8 !important; }
.matriculas-table-wrap .matricula-turma-cor-VERDE { background-color: #047857 !important; }
.matriculas-table-wrap .matricula-turma-cor-VIOLETA { background-color: #6D28D9 !important; }
.matriculas-table-wrap .matricula-turma-cor-LARANJA { background-color: #C2410C !important; }
.matriculas-table-wrap .matricula-turma-cor-ROSA { background-color: #BE185D !important; }
.matriculas-table-wrap .matricula-turma-cor-CIANO { background-color: #0E7490 !important; }
.matriculas-table-wrap .matricula-turma-cor-OLIVA { background-color: #4D7C0F !important; }
.matriculas-table-wrap .matricula-turma-cor-INDIGO { background-color: #4338CA !important; }
.matriculas-table-wrap .matricula-sort-button { position: relative; display: inline-flex; align-items: center; gap: .35rem; border: 0; padding: 0; color: inherit; background: transparent; font: inherit; font-weight: inherit; cursor: pointer; }
.matriculas-table-wrap .matricula-sort-button i { opacity: .62; font-size: .82em; }
.matriculas-table-wrap .matricula-sort-button:hover, .matriculas-table-wrap .matricula-sort-button:focus-visible { color: #fff; text-decoration: underline; outline: 0; }
.matriculas-table-wrap .matricula-sort-button.is-active i { opacity: 1; }
.matriculas-actions { white-space: nowrap; }
.matriculas-actions .btn { width: 32px; height: 32px; padding: .25rem; margin: 0 .1rem; }
@media (max-width: 576px) { .matriculas-page-header { align-items: flex-start; flex-direction: column; } .matriculas-page-header .right-content { width: 100%; } .matriculas-page-header .right-content > * { flex: 1; } .matriculas-page-header .btn { width: 100%; } .matricula-form-card { padding: .8rem; } }
