/* Custom styles for AcolheMGA v0.31 */

body {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  background-color: #F5F7FA;
  margin: 0;
}

/* Top navigation bar */
.navbar {
  background-color: #0F2D5C;
  min-height: 56px;
}

.navbar-brand {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: -0.02em;
}

.brand-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.12;
  padding-top: 0.16rem;
  padding-bottom: 0.16rem;
}

.brand-title {
  font-size: 1.05rem;
  font-weight: 700;
}

.brand-subtitle {
  display: block;
  font-size: 11px;
  font-weight: 500;
  color: #D7ECFF;
  letter-spacing: 0.01em;
  margin-top: 0.16rem;
  white-space: nowrap;
}

.navbar .navbar-text {
  color: #EAF4FF;
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  font-size: 0.95rem;
}

.navbar-nav .nav-link {
  color: #EAF4FF !important;
  font-weight: 600;
  padding: 0.4rem 0.75rem;
  border-radius: 0.4rem;
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-link:hover {
  background-color: #4FA3FF;
  color: #0F2D5C !important;
}

/* Layout without left sidebar */
.app-shell {
  width: 100%;
}

.content {
  background-color: #FFFFFF;
  min-height: calc(100vh - 56px);
  overflow-x: auto;
  width: 100%;
}

.content h1,
.content h2 {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  font-weight: 600;
  color: #0F2D5C;
}

.page-title {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: #0F2D5C;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.15rem !important;
}


.page-title::after {
  content: "";
  height: 2px;
  flex: 1;
  background: linear-gradient(90deg, #4FA3FF, rgba(79,163,255,0));
  border-radius: 999px;
}

/* Table styling */
.table {
  table-layout: auto;
  min-width: 1250px;
}

table.agenda-table > thead.agenda-table-head,
table.agenda-table > thead.agenda-table-head > tr,
table.agenda-table > thead.agenda-table-head > tr > th,
table.agenda-table thead.agenda-table-head th {
  background: #0F3D75 !important;
  background-color: #0F3D75 !important;
  color: #FFFFFF !important;
  text-transform: uppercase !important;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.035em;
  border-color: #0B2E59 !important;
  vertical-align: middle;
  box-shadow: inset 0 0 0 9999px #0F3D75 !important;
}


.table tbody tr:nth-child(odd) {
  background-color: #F5F7FA;
}

.table td,
.table th {
  vertical-align: middle;
}

.col-time { width: 7%; min-width: 85px; }
.col-tech { width: 10%; min-width: 115px; }
.col-status { width: 12%; min-width: 145px; }
.col-name { width: 36%; min-width: 360px; }
.col-cpf { width: 9%; min-width: 110px; }
.col-service { width: 18%; min-width: 235px; }

.slot-empty td {
  color: #8a98aa;
  height: 44px;
  background-color: #FAFCFF;
}

/* Cards */
.card {
  border: none;
  border-radius: 0.75rem;
  box-shadow: 0 10px 24px rgba(15,45,92,.08);
}

.card-header {
  background-color: #EAF4FF;
  color: #0F2D5C;
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  font-weight: 600;
}

/* Buttons */
.btn-primary {
  background-color: #1D4E89;
  border-color: #1D4E89;
}
.btn-primary:hover {
  background-color: #163e6a;
  border-color: #163e6a;
}
.btn-success {
  background-color: #0F2D5C;
  border-color: #0F2D5C;
}
.btn-success:hover {
  background-color: #0d2550;
  border-color: #0d2550;
}
.btn-secondary {
  background-color: #4FA3FF;
  border-color: #4FA3FF;
  color: #0F2D5C;
}
.btn-secondary:hover {
  background-color: #3e82cc;
  border-color: #3e82cc;
  color: #FFFFFF;
}
.btn-info {
  background-color: #EAF4FF;
  border-color: #EAF4FF;
  color: #0F2D5C;
}
.btn-info:hover {
  background-color: #d1e7ff;
  border-color: #d1e7ff;
  color: #0F2D5C;
}

/* Modal header */
.modal-header {
  background-color: #0F2D5C;
  color: #FFFFFF;
  border-bottom: none;
}
.modal-title {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  font-weight: 600;
}

/* Autocomplete suggestions */
.ui-menu-item-wrapper {
  padding: 0.5rem 1rem;
  color: #0F2D5C;
}
.ui-menu-item-wrapper:hover {
  background-color: #EAF4FF;
  color: #0F2D5C;
}

/* Small system footer */
.app-footer {
  margin-top: 2rem;
  padding-top: 0.75rem;
  border-top: 1px solid #EAF4FF;
  color: #7A8AA0;
  font-size: 8px;
  text-align: center;
}

.status-select {
  min-width: 130px;
  display: block;
  width: 100%;
}

.type-service-select {
  min-width: 220px;
  display: block;
  width: 100%;
}

@media (max-width: 768px) {
  .navbar {
    align-items: flex-start;
  }

  .navbar-toggler {
    border-color: rgba(255,255,255,0.55);
    margin-left: auto;
  }

  .desktop-title {
    display: none !important;
  }

  .navbar-nav {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    gap: 0.35rem;
    width: 100%;
    padding-top: 0.5rem;
  }

  .content {
    width: 100%;
    padding: 1rem !important;
  }

  .table {
    table-layout: auto;
  }

  .page-title {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: #0F2D5C;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.15rem !important;
}
}


/* Global search */
.global-search-card {
  background: linear-gradient(135deg, #EAF4FF, #FFFFFF);
  border: 1px solid #D7ECFF;
  border-radius: 1rem;
  padding: 1.2rem 1.25rem;
  box-shadow: 0 10px 24px rgba(15,45,92,.08);
}

.global-search-label {
  display: block;
  color: #0F2D5C;
  font-weight: 700;
  font-size: 0.92rem;
  margin-bottom: 0.48rem;
  text-transform: uppercase;
  letter-spacing: 0.035em;
}

.global-search-row input {
  max-width: 820px;
  min-height: 46px;
  border-color: #BBD9F5;
  font-size: 1rem;
  font-weight: 500;
  border-radius: 0.7rem;
  padding-left: 1rem;
}

/* User history */
.history-name {
  color: #0F2D5C;
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.name-history-link {
  color: #0F2D5C;
  font-weight: 600;
  text-decoration: none;
}

.name-history-link:hover {
  color: #1D4E89;
  text-decoration: underline;
}

/* Status pills similar to spreadsheet chips */
.status-form {
  min-width: 145px;
}

.status-pill-select,
.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  border-radius: 999px;
  padding: 0.15rem 0.65rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  border: 1px solid transparent;
  white-space: nowrap;
}

.status-pill-select {
  width: 100%;
  max-width: 170px;
  position: relative;
}

.status-select-pill {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  font-weight: 700;
  font-size: 0.72rem;
  cursor: pointer;
  padding: 0;
  text-align: center;
  text-align-last: center;
  appearance: auto;
}

.status-select-pill option {
  color: #0F2D5C;
  background: #FFFFFF;
}

.status-vazio {
  background: #EEF3F8;
  color: #607086;
  border-color: #D8E1EA;
}

.status-aguardando {
  background: #FFF2B8;
  color: #6B4E00;
  border-color: #F0D46A;
}

.status-em-atendimento {
  background: #FFE0B8;
  color: #7A3E00;
  border-color: #FFB861;
}

.status-finalizado {
  background: #CFF4D2;
  color: #145C2E;
  border-color: #8ED49A;
}

.status-ausente {
  background: #FFD1D1;
  color: #8A1F1F;
  border-color: #EF8E8E;
}

.status-cancelado {
  background: #E1E5EA;
  color: #3D4652;
  border-color: #B9C0CA;
}

.status-reagendar {
  background: #CFE6FF;
  color: #0F3D75;
  border-color: #8DBEFA;
}

.status-nao-agendar {
  background: #E7D7FF;
  color: #4D1980;
  border-color: #BE9AF3;
}

.disabled-pill {
  opacity: 0.68;
}


/* =========================================================
   AcolheMGA v0.13 — final visual overrides
   These rules intentionally stay at the end of the file to
   avoid Bootstrap/cache/previous-rule conflicts.
   ========================================================= */

.navbar .navbar-brand.brand-block {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  line-height: 1.08 !important;
  padding-top: 0.22rem !important;
  padding-bottom: 0.22rem !important;
  white-space: normal !important;
}

.navbar .brand-title {
  display: block !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  color: #FFFFFF !important;
}

.navbar .brand-subtitle {
  display: block !important;
  width: 100% !important;
  clear: both !important;
  margin-top: 0.18rem !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  font-weight: 500 !important;
  color: #D7ECFF !important;
  letter-spacing: 0.01em !important;
  white-space: nowrap !important;
}

.content .page-title {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif !important;
  font-size: 1.16rem !important;
  font-weight: 800 !important;
  color: #0F2D5C !important;
  letter-spacing: -0.03em !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.8rem !important;
  margin: 0 0 1.25rem 0 !important;
  padding-bottom: 0.15rem !important;
}

.content .page-title::after {
  content: "" !important;
  display: block !important;
  height: 3px !important;
  flex: 1 !important;
  min-width: 80px !important;
  background: linear-gradient(90deg, #4FA3FF 0%, rgba(79,163,255,0.05) 100%) !important;
  border-radius: 999px !important;
}

.global-search-card {
  padding: 1.35rem 1.45rem !important;
  border-radius: 1.05rem !important;
  margin-bottom: 1.45rem !important;
  background: linear-gradient(135deg, #EAF4FF 0%, #FFFFFF 100%) !important;
  border: 1px solid #BBD9F5 !important;
  box-shadow: 0 12px 28px rgba(15,45,92,.10) !important;
}

.global-search-label {
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: #0F2D5C !important;
  margin-bottom: 0.55rem !important;
}

.global-search-row input#globalSearch {
  width: 100% !important;
  max-width: 900px !important;
  min-height: 52px !important;
  font-size: 1.08rem !important;
  font-weight: 500 !important;
  border-radius: 0.85rem !important;
  padding: 0.65rem 1.05rem !important;
  border: 1px solid #9EC9F5 !important;
  box-shadow: inset 0 1px 2px rgba(15,45,92,.04) !important;
}

.app-footer {
  font-size: 8px !important;
  line-height: 1.2 !important;
  color: #7A8AA0 !important;
}

@media (max-width: 768px) {
  .navbar .brand-subtitle {
    font-size: 10.5px !important;
  }

  .content .page-title {
    font-size: 1.05rem !important;
  }

  .content .page-title::after {
    min-width: 36px !important;
  }

  .global-search-row input#globalSearch {
    min-height: 50px !important;
    font-size: 1rem !important;
  }
}


/* =========================================================
   AcolheMGA v0.14 — inline agenda and compact global search
   ========================================================= */

.global-search-card {
  padding: 0.78rem 0.95rem !important;
  border-radius: 0.85rem !important;
  margin-bottom: 1rem !important;
  box-shadow: 0 8px 18px rgba(15,45,92,.07) !important;
}

.global-search-label {
  font-size: 0.82rem !important;
  margin-bottom: 0.35rem !important;
}

.global-search-row input#globalSearch {
  max-width: 760px !important;
  min-height: 42px !important;
  font-size: 0.95rem !important;
  border-radius: 0.7rem !important;
  padding: 0.5rem 0.85rem !important;
}

.global-search-help {
  font-size: 0.74rem !important;
  margin-top: 0.28rem !important;
}

.agenda-section-title {
  display: inline-flex;
  align-items: center;
  background: #EAF4FF;
  color: #0F2D5C;
  border: 1px solid #BBD9F5;
  border-radius: 999px;
  padding: 0.28rem 0.85rem;
  font-size: 0.82rem;
  font-weight: 800;
  margin: 0.6rem 0 0.45rem 0;
  letter-spacing: 0.01em;
}

.inline-agenda-table {
  min-width: 1500px !important;
}

.inline-agenda-table td {
  padding: 0.42rem !important;
}

.inline-row-form {
  display: contents;
}

.inline-agenda-table input.form-control-sm,
.inline-agenda-table select.form-control-sm {
  min-height: 34px;
  font-size: 0.78rem;
}

.inline-select {
  min-width: 86px;
  font-weight: 700;
  color: #0F2D5C;
}

.technician-name-cell {
  font-weight: 700;
  color: #0F2D5C;
}

.inline-name-input {
  min-width: 330px;
  font-weight: 600;
}

.col-action {
  width: 7%;
  min-width: 90px;
  text-align: center;
}

.date-filter-form {
  align-items: flex-end;
}

@media (max-width: 768px) {
  .global-search-card {
    padding: 0.7rem 0.8rem !important;
    margin-bottom: 0.9rem !important;
  }

  .global-search-row input#globalSearch {
    min-height: 40px !important;
    font-size: 0.9rem !important;
  }

  .global-search-help {
    font-size: 0.68rem !important;
  }

  .agenda-section-title {
    font-size: 0.78rem;
  }
}


/* =========================================================
   AcolheMGA v0.15 — technician colors, compact columns and stronger status colors
   ========================================================= */

.col-time {
  width: 5.95% !important;
  min-width: 72px !important;
}

.col-tech {
  width: 9% !important;
  min-width: 104px !important;
}

.col-service {
  width: 11.7% !important;
  min-width: 153px !important;
}

.inline-agenda-table {
  min-width: 1320px !important;
}

.inline-select {
  min-width: 72px !important;
}

.type-service-select {
  min-width: 150px !important;
  width: 100% !important;
}

.technician-name-cell {
  font-weight: 800 !important;
}

.tech-ivane,
.agenda-section-title.tech-ivane {
  color: #1D4E89 !important;
}

.agenda-section-title.tech-ivane {
  background: #EAF4FF !important;
  border-color: #A7D2FF !important;
}

.tech-rosangela,
.agenda-section-title.tech-rosangela {
  color: #C2187A !important;
}

.agenda-section-title.tech-rosangela {
  background: #FFE8F4 !important;
  border-color: #F4A8D1 !important;
}

.tech-wesley,
.agenda-section-title.tech-wesley {
  color: #1B7F3A !important;
}

.agenda-section-title.tech-wesley {
  background: #E6F7EC !important;
  border-color: #9ED9B2 !important;
}

/* Stronger status chips */
.status-aguardando {
  background: #FFD400 !important;
  color: #4A3A00 !important;
  border-color: #D6AE00 !important;
}

.status-em-atendimento {
  background: #7CC7FF !important;
  color: #063B63 !important;
  border-color: #3BA6F2 !important;
}

.status-finalizado {
  background: #31C46B !important;
  color: #FFFFFF !important;
  border-color: #1EA456 !important;
}

.status-ausente {
  background: #FF6B6B !important;
  color: #FFFFFF !important;
  border-color: #DD3F3F !important;
}

.status-cancelado {
  background: #A7B0BC !important;
  color: #FFFFFF !important;
  border-color: #7F8A98 !important;
}

.status-reagendar {
  background: #5E9DFF !important;
  color: #FFFFFF !important;
  border-color: #2F7BE8 !important;
}

.status-nao-agendar {
  background: #8B0000 !important;
  color: #FFFFFF !important;
  border-color: #5E0000 !important;
}

.status-vazio {
  background: #EEF3F8 !important;
  color: #8A98AA !important;
  border-color: #D8E1EA !important;
}

.status-select-pill {
  color: inherit !important;
}


/* =========================================================
   AcolheMGA v0.16 — technician header, bottom date selector and column tuning
   ========================================================= */

.col-name {
  width: 27% !important;
  min-width: 270px !important;
}

.inline-name-input {
  min-width: 248px !important;
}

.col-cpf {
  width: 9.9% !important;
  min-width: 121px !important;
}

.col-service {
  width: 10.75% !important;
  min-width: 141px !important;
}

.type-service-select {
  min-width: 138px !important;
}

.agenda-section-title {
  font-size: 0.86rem !important;
  padding: 0.34rem 0.95rem !important;
}

.date-filter-bottom {
  background: #F8FBFF;
  border: 1px solid #D7ECFF;
  border-radius: 0.9rem;
  padding: 1rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.05);
}

.date-filter-bottom .date-filter-form {
  margin-bottom: 0 !important;
}

@media (max-width: 768px) {
  .date-filter-bottom .date-filter-form {
    display: flex;
    gap: 0.45rem;
    align-items: stretch;
  }

  .date-filter-bottom label {
    width: 100%;
  }

  .date-filter-bottom input[type="date"] {
    flex: 1 1 100%;
    margin-right: 0 !important;
  }

  .date-filter-bottom .btn,
  .date-filter-bottom a.btn {
    margin-left: 0 !important;
  }
}


/* =========================================================
   AcolheMGA v0.17 — autofill, autosave and more compact columns
   ========================================================= */

.col-name {
  width: 22.95% !important;
  min-width: 230px !important;
}

.inline-name-input {
  min-width: 210px !important;
}

.col-time {
  width: 5.05% !important;
  min-width: 61px !important;
}

.inline-select {
  min-width: 61px !important;
}

.inline-agenda-table {
  min-width: 1240px !important;
}

.autosave-state {
  display: block;
  min-height: 12px;
  margin-top: 0.2rem;
  font-size: 0.62rem;
  font-weight: 700;
  text-align: center;
}

.autosave-saving {
  color: #A66A00;
}

.autosave-saved {
  color: #1B7F3A;
}

.autosave-error {
  color: #8B0000;
}

.inline-agenda-table .btn-sm {
  padding: 0.25rem 0.55rem;
  font-size: 0.72rem;
}


/* =========================================================
   AcolheMGA v0.18 — fix inline save, title line below, green save button and time column
   ========================================================= */

.content .page-title {
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.42rem !important;
}

.content .page-title::after {
  width: 100% !important;
  max-width: 420px !important;
  flex: none !important;
  min-width: 0 !important;
}

.col-time {
  width: 5.45% !important;
  min-width: 66px !important;
}

.inline-select {
  min-width: 66px !important;
}

.inline-agenda-table {
  min-width: 1260px !important;
}

.inline-save-btn,
.inline-agenda-table .btn-success {
  background-color: #1B7F3A !important;
  border-color: #1B7F3A !important;
  color: #FFFFFF !important;
  font-weight: 800 !important;
}

.inline-save-btn:hover,
.inline-agenda-table .btn-success:hover {
  background-color: #14642D !important;
  border-color: #14642D !important;
}


/* =========================================================
   AcolheMGA v0.19 — logo icon, weekday loader and footer
   ========================================================= */

.navbar .navbar-brand.brand-block {
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.65rem !important;
}

.brand-icon {
  width: 42px;
  height: 42px;
  object-fit: contain;
  border-radius: 0.65rem;
  background: #FFFFFF;
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
  flex: 0 0 auto;
}

.brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.08;
}

.app-footer {
  font-size: 9px !important;
  line-height: 1.35 !important;
}

.date-filter-bottom .date-filter-form {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center !important;
  gap: 0.45rem;
}

.date-filter-bottom .date-filter-form label,
.date-filter-bottom .date-filter-form input,
.date-filter-bottom .date-filter-form .btn,
.date-filter-bottom .date-filter-form a.btn {
  margin: 0 !important;
}

.add-weekdays-btn {
  font-weight: 700;
  border-color: #1D4E89 !important;
  color: #1D4E89 !important;
}

.add-weekdays-btn:hover {
  background: #1D4E89 !important;
  color: #FFFFFF !important;
}

.weekday-title {
  font-size: 1rem;
  font-weight: 800;
  color: #0F2D5C;
  margin: 1.15rem 0 0.4rem 0;
  padding-bottom: 0.35rem;
  border-bottom: 2px solid #D7ECFF;
}

.extra-day-block {
  border-top: 1px solid #EAF4FF;
  padding-top: 0.5rem;
  margin-top: 0.8rem;
}

@media (max-width: 768px) {
  .brand-icon {
    width: 36px;
    height: 36px;
  }

  .date-filter-bottom .date-filter-form {
    align-items: stretch !important;
  }

  .date-filter-bottom .date-filter-form label {
    width: 100%;
  }

  .date-filter-bottom .date-filter-form input[type="date"] {
    flex: 1 1 100%;
  }
}


/* =========================================================
   AcolheMGA v0.20 — margins, date row, future weekdays
   ========================================================= */

.content {
  padding-left: 0.75rem !important;
  padding-right: 4px !important;
}

@media (min-width: 769px) {
  .content {
    padding-left: 1.2rem !important;
    padding-right: 4px !important;
  }
}

.date-filter-bottom {
  padding: 0.75rem !important;
}

.date-filter-bottom .date-filter-form {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0.45rem !important;
  overflow-x: auto;
  white-space: nowrap;
}

.date-filter-bottom .date-filter-form label {
  flex: 0 0 auto !important;
  width: auto !important;
}

.date-filter-bottom .date-filter-form input[type="date"] {
  flex: 0 0 150px !important;
  width: 150px !important;
}

.date-filter-bottom .date-filter-form .btn,
.date-filter-bottom .date-filter-form a.btn {
  flex: 0 0 auto !important;
}

.weekdays-action-wrap {
  margin-bottom: 0.75rem;
}

.weekday-title {
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
}


/* =========================================================
   AcolheMGA v0.21 — top menu margin, logo alignment, separate date buttons
   ========================================================= */

.navbar {
  padding-left: 2px !important;
  padding-right: 4px !important;
}

.navbar .navbar-brand.brand-block {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.brand-icon {
  width: 40px !important;
  height: 40px !important;
  object-fit: cover !important;
  object-position: center center !important;
  padding: 2px !important;
  background: #FFFFFF !important;
}

.date-filter-bottom .date-filter-form {
  display: grid !important;
  grid-template-columns: auto minmax(145px, 170px);
  grid-auto-flow: row;
  align-items: center !important;
  column-gap: 0.45rem !important;
  row-gap: 0.55rem !important;
  overflow-x: visible !important;
  white-space: normal !important;
}

.date-filter-bottom .date-filter-form .btn,
.date-filter-bottom .date-filter-form a.btn {
  grid-row: 2;
}

.weekdays-action-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.month-day-block {
  border-top: 2px solid #D7ECFF;
  padding-top: 0.75rem;
  margin-top: 1rem;
}

.add-month-btn {
  font-weight: 700;
  border-color: #0F2D5C !important;
  color: #0F2D5C !important;
}

.add-month-btn:hover {
  background: #0F2D5C !important;
  color: #FFFFFF !important;
}

@media (max-width: 768px) {
  .navbar {
    padding-left: 2px !important;
    padding-right: 4px !important;
  }

  .date-filter-bottom .date-filter-form {
    grid-template-columns: 1fr;
  }

  .date-filter-bottom .date-filter-form .btn,
  .date-filter-bottom .date-filter-form a.btn {
    grid-row: auto;
  }
}


/* =========================================================
   AcolheMGA v0.22 — auto refresh, reports, login, table margin
   ========================================================= */

.content {
  padding-left: 0.5rem !important;
}

.inline-agenda-table,
.agenda-table {
  margin-left: -0.25rem !important;
}

.auto-refresh-note {
  font-size: 0.72rem;
  color: #6E7F95;
  margin-top: -0.65rem;
  margin-bottom: 0.8rem;
}

.report-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  background: #F8FBFF;
  border: 1px solid #D7ECFF;
  border-radius: 0.9rem;
  padding: 0.85rem;
}

.report-filter input[type="month"] {
  max-width: 180px;
}

.report-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
  gap: 0.85rem;
}

.report-card {
  background: linear-gradient(135deg, #EAF4FF, #FFFFFF);
  border: 1px solid #D7ECFF;
  border-radius: 0.9rem;
  padding: 1rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.06);
}

.report-card span {
  display: block;
  color: #607086;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.report-card strong {
  display: block;
  color: #0F2D5C;
  font-size: 1.8rem;
  line-height: 1.1;
  margin-top: 0.35rem;
}

.report-section-title {
  font-size: 0.95rem;
  font-weight: 800;
  color: #0F2D5C;
  margin-bottom: 0.55rem;
}

.report-note {
  color: #607086;
  font-size: 0.82rem;
}

.login-body {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0F2D5C, #1D4E89);
  padding: 1rem;
}

.login-card {
  width: 100%;
  max-width: 410px;
  background: #FFFFFF;
  border-radius: 1.15rem;
  padding: 1.35rem;
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
}

.login-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.login-icon {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 0.8rem;
}

.login-brand strong {
  display: block;
  color: #0F2D5C;
  font-size: 1.15rem;
}

.login-brand span {
  display: block;
  color: #607086;
  font-size: 0.72rem;
}

.login-card h1 {
  color: #0F2D5C;
  font-size: 1.1rem;
  font-weight: 800;
  margin-bottom: 1rem;
}

.login-note {
  color: #607086;
  font-size: 0.72rem;
  margin-top: 0.9rem;
}


/* =========================================================
   AcolheMGA v0.23 — partial table refresh and adjusted margin
   ========================================================= */

.content {
  padding-left: 5px !important;
}

.inline-agenda-table,
.agenda-table {
  margin-left: 0 !important;
}

.auto-refresh-note {
  font-size: 0.72rem;
  color: #6E7F95;
  margin-top: -0.65rem;
  margin-bottom: 0.8rem;
}


/* =========================================================
   AcolheMGA v0.24 — login roles and extra appointment row
   ========================================================= */

.add-extra-row td {
  padding: 0 !important;
  background: #111827 !important;
  border-color: #111827 !important;
}

.add-extra-appointment-btn {
  width: 100%;
  display: block;
  border: 0;
  background: #111827;
  color: #FFFFFF;
  font-size: 0.78rem;
  font-weight: 800;
  text-align: left;
  padding: 0.45rem 0.85rem;
  cursor: pointer;
}

.add-extra-appointment-btn:hover {
  background: #000000;
  color: #FFFFFF;
}

.extra-appointment-row td {
  background: #FFFDF5 !important;
}

.user-unit {
  color: #D7ECFF !important;
  font-size: 0.78rem;
}

.unit-badge {
  background: #EAF4FF;
  border: 1px solid #D7ECFF;
  color: #0F2D5C;
  border-radius: 999px;
  display: inline-flex;
  padding: 0.25rem 0.65rem;
  font-size: 0.72rem;
  font-weight: 700;
  margin-bottom: 0.9rem;
}

.login-levels {
  margin-top: 0.9rem;
  border: 1px solid #D7ECFF;
  border-radius: 0.8rem;
  padding: 0.7rem;
  background: #F8FBFF;
  color: #0F2D5C;
  font-size: 0.72rem;
}

.login-levels strong,
.login-levels span {
  display: block;
}

.login-levels span {
  margin-top: 0.22rem;
  color: #607086;
}


/* =========================================================
   AcolheMGA v0.28 — logs, login cleanup, table padding
   ========================================================= */

.inline-agenda-table td {
  padding: 0.315rem !important;
}

.inline-agenda-table th {
  padding: 0.34rem !important;
}

.unit-badge {
  gap: 0.25rem;
}


/* =========================================================
   AcolheMGA v0.29 — desktop layout corrections and control panel
   ========================================================= */

.global-search-card .global-search-row input#globalSearch {
  max-width: 100% !important;
  width: 100% !important;
}

.add-extra-row td {
  padding: 0 !important;
  background: #111827 !important;
  border-color: #111827 !important;
}

.add-extra-appointment-btn {
  width: 100%;
  display: block;
  border: 0;
  background: #111827;
  color: #FFFFFF;
  font-size: 0.78rem;
  font-weight: 800;
  text-align: left;
  padding: 0.45rem 0.85rem;
  cursor: pointer;
}

.add-extra-appointment-btn:hover {
  background: #000000;
}

.date-filter-bottom .date-filter-form {
  display: grid !important;
  grid-template-columns: auto minmax(150px, 170px);
  gap: 0.55rem !important;
  align-items: center !important;
}

.date-filter-bottom .date-filter-form .btn,
.date-filter-bottom .date-filter-form a.btn {
  grid-row: 2;
}

@media (min-width: 1200px) {
  .col-tech {
    width: 4.5% !important;
    min-width: 74px !important;
  }

  .col-status {
    width: 10.5% !important;
    min-width: 154px !important;
  }

  .col-cpf {
    width: 7.9% !important;
    min-width: 104px !important;
  }

  .inline-agenda-table th:nth-child(6),
  .inline-agenda-table td:nth-child(6) {
    width: 8.5% !important;
    min-width: 126px !important;
  }

  .col-name {
    width: 30% !important;
    min-width: 360px !important;
  }

  .inline-name-input {
    min-width: 330px !important;
  }

  .inline-agenda-table th:nth-child(8),
  .inline-agenda-table td:nth-child(8) {
    width: 16% !important;
    min-width: 245px !important;
  }

  .inline-agenda-table {
    min-width: 1540px !important;
  }
}

.control-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1rem;
}

.control-card {
  background: #FFFFFF;
  border: 1px solid #D7ECFF;
  border-radius: 0.9rem;
  padding: 1rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.06);
}

.control-card h2 {
  font-size: 1rem;
  font-weight: 800;
  color: #0F2D5C;
  margin-bottom: 0.75rem;
}

.control-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.55rem;
  align-items: center;
}

.checkbox-line {
  display: flex;
  gap: 0.35rem;
  align-items: center;
  margin: 0;
  color: #0F2D5C;
  font-size: 0.82rem;
  font-weight: 600;
}

.control-table td,
.control-table th {
  font-size: 0.78rem;
}

.log-list {
  display: grid;
  gap: 0.45rem;
  max-height: 420px;
  overflow: auto;
}

.log-item {
  border: 1px solid #E5EEF8;
  border-radius: 0.6rem;
  padding: 0.55rem 0.7rem;
  background: #F8FBFF;
}

.log-item strong,
.log-item span,
.log-item small {
  display: block;
}

.log-item strong {
  color: #0F2D5C;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.log-item span {
  color: #1D2B3A;
  font-size: 0.82rem;
}

.log-item small {
  color: #607086;
  font-size: 0.68rem;
}


/* =========================================================
   AcolheMGA v0.30 — fixes footer, encaixe row and desktop autosave
   ========================================================= */

.inline-agenda-table td {
  padding: 0.362rem !important;
}

.inline-agenda-table th {
  padding: 0.391rem !important;
}

.app-footer {
  display: block !important;
  visibility: visible !important;
  margin-top: 1rem !important;
  padding: 0.4rem 0 !important;
}

.add-extra-row,
.add-extra-row td,
.add-extra-appointment-btn {
  display: table-row;
}

.add-extra-row td {
  display: table-cell !important;
  padding: 0 !important;
  background: #111827 !important;
}

.add-extra-appointment-btn {
  display: block !important;
  width: 100% !important;
}


/* =========================================================
   AcolheMGA v0.31 — history icon inside name input
   ========================================================= */

.name-input-wrap {
  position: relative;
  width: 100%;
}

.name-input-wrap .inline-name-input {
  padding-right: 2rem !important;
}

.history-link-slot {
  position: absolute;
  right: 0.42rem;
  top: 50%;
  transform: translateY(-50%);
  line-height: 1;
}

.history-icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: #EAF4FF;
  color: #0F2D5C;
  font-size: 0.82rem;
  text-decoration: none !important;
  border: 1px solid #BBD9F5;
}

.history-icon-link:hover {
  background: #D7ECFF;
  color: #0F2D5C;
}


/* =========================================================
   AcolheMGA v0.33 — CPF mask/visual and color cache correction
   ========================================================= */

.app-footer {
  font-size: 9px !important;
  line-height: 1.35 !important;
}

.cpf-input,
input[name="cpf"] {
  background: #FFF8E6 !important;
  border-color: #E6C873 !important;
  color: #4F3A00 !important;
  font-family: "Roboto Mono", "Consolas", "Montserrat", monospace !important;
  letter-spacing: 0.02em;
  font-weight: 600;
}

.cpf-input:focus,
input[name="cpf"]:focus {
  background: #FFF3C4 !important;
  border-color: #D6A800 !important;
  box-shadow: 0 0 0 0.12rem rgba(214,168,0,.18) !important;
}

.status-aguardando {
  background: #FFD400 !important;
  color: #4A3A00 !important;
  border-color: #D6AE00 !important;
}

.status-em-atendimento {
  background: #7CC7FF !important;
  color: #063B63 !important;
  border-color: #3BA6F2 !important;
}

.status-finalizado {
  background: #31C46B !important;
  color: #FFFFFF !important;
  border-color: #1EA456 !important;
}

.status-ausente {
  background: #FF6B6B !important;
  color: #FFFFFF !important;
  border-color: #DD3F3F !important;
}

.status-cancelado {
  background: #A7B0BC !important;
  color: #FFFFFF !important;
  border-color: #7F8A98 !important;
}

.status-reagendar {
  background: #5E9DFF !important;
  color: #FFFFFF !important;
  border-color: #2F7BE8 !important;
}

.status-nao-agendar {
  background: #8B0000 !important;
  color: #FFFFFF !important;
  border-color: #5E0000 !important;
}

.status-vazio {
  background: #EEF3F8 !important;
  color: #8A98AA !important;
  border-color: #D8E1EA !important;
}


/* =========================================================
   AcolheMGA v0.34 — privacy, first access and footer links
   ========================================================= */

.login-privacy-note {
  color: #607086;
  font-size: 0.72rem;
  line-height: 1.35;
  margin-top: 0.8rem;
  margin-bottom: 0;
  text-align: left;
}

.footer-links {
  font-size: 0.86rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.footer-links a {
  color: #0F2D5C;
  text-decoration: none;
}

.footer-links a:hover {
  text-decoration: underline;
}

.policy-card {
  background: #FFFFFF;
  border: 1px solid #D7ECFF;
  border-radius: 0.95rem;
  padding: 1.1rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.06);
  color: #1D2B3A;
}

.policy-card p {
  font-size: 0.92rem;
  line-height: 1.65;
  margin-bottom: 0.9rem;
}

.policy-card h2 {
  font-size: 1rem;
  font-weight: 800;
  color: #0F2D5C;
  margin-top: 1rem;
}

.first-access-card {
  width: 100%;
  max-width: 780px;
  background: #FFFFFF;
  border-radius: 1.15rem;
  padding: 1.35rem;
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
}

.first-access-card h1 {
  color: #0F2D5C;
  font-size: 1.25rem;
  font-weight: 800;
  margin-bottom: 0.7rem;
}

.policy-preview {
  max-height: 340px;
  overflow: auto;
  border: 1px solid #D7ECFF;
  background: #F8FBFF;
  border-radius: 0.8rem;
  padding: 0.9rem;
}

.policy-preview p {
  font-size: 0.82rem;
  line-height: 1.55;
  color: #1D2B3A;
}


/* =========================================================
   AcolheMGA v0.35 — complete manual, reports and CPF agenda fix
   ========================================================= */

.manual-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 1rem;
}

.manual-index {
  position: sticky;
  top: 0.75rem;
  align-self: start;
  background: #FFFFFF;
  border: 1px solid #D7ECFF;
  border-radius: 0.95rem;
  padding: 0.9rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.05);
}

.manual-index strong,
.manual-index a {
  display: block;
}

.manual-index strong {
  color: #0F2D5C;
  font-size: 0.9rem;
  margin-bottom: 0.45rem;
}

.manual-index a {
  color: #1D4E89;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
  padding: 0.22rem 0;
}

.manual-index a:hover {
  text-decoration: underline;
}

.manual-content {
  display: grid;
  gap: 0.9rem;
}

.manual-card {
  background: #FFFFFF;
  border: 1px solid #D7ECFF;
  border-radius: 0.95rem;
  padding: 1rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.05);
}

.manual-card h2 {
  color: #0F2D5C;
  font-size: 1.05rem;
  font-weight: 800;
  margin-bottom: 0.55rem;
}

.manual-card h3 {
  color: #1D4E89;
  font-size: 0.9rem;
  font-weight: 800;
  margin-top: 0.75rem;
}

.manual-card p,
.manual-card li {
  color: #1D2B3A;
  font-size: 0.88rem;
  line-height: 1.6;
}

.manual-highlight {
  border-left: 5px solid #0F2D5C;
  background: #F8FBFF;
}

.report-grid-large {
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important;
}

.report-success {
  background: linear-gradient(135deg, #E6F7EC, #FFFFFF) !important;
}

.report-warning {
  background: linear-gradient(135deg, #FFF6D6, #FFFFFF) !important;
}

.report-muted {
  background: linear-gradient(135deg, #EEF3F8, #FFFFFF) !important;
}

.report-danger {
  background: linear-gradient(135deg, #FFE4E4, #FFFFFF) !important;
}

.report-table td,
.report-table th {
  font-size: 0.78rem;
  vertical-align: middle;
}

@media (max-width: 900px) {
  .manual-layout {
    grid-template-columns: 1fr;
  }

  .manual-index {
    position: static;
  }
}


/* =========================================================
   AcolheMGA v0.36 — uniform table rows, safer AJAX and CPF visual
   ========================================================= */

/* Remove qualquer zebra/alternância de cores em tabelas da agenda */
.table tbody tr:nth-child(odd),
.table tbody tr:nth-child(even),
.inline-agenda-table tbody tr:nth-child(odd),
.inline-agenda-table tbody tr:nth-child(even),
.agenda-table tbody tr:nth-child(odd),
.agenda-table tbody tr:nth-child(even) {
  background-color: transparent !important;
}

.inline-agenda-table tbody tr:not(.add-extra-row) td,
.agenda-table tbody tr:not(.add-extra-row) td {
  background-color: #FAFCFF !important;
}

/* Mantém encaixe com fundo preto */
.inline-agenda-table tbody tr.add-extra-row td,
.agenda-table tbody tr.add-extra-row td {
  background-color: #111827 !important;
}

/* CPF um pouco maior e mais reconhecível */
.col-cpf {
  width: 9.72% !important;
  min-width: 119px !important;
}

.cpf-input,
input[name="cpf"] {
  background: #E9FBEF !important;
  border-color: #A7E2B8 !important;
  color: #1B5E2A !important;
  font-family: "Roboto Mono", "Consolas", "Montserrat", monospace !important;
  letter-spacing: 0.02em;
  font-weight: 700;
}

.cpf-input:focus,
input[name="cpf"]:focus {
  background: #DDF7E7 !important;
  border-color: #58C77A !important;
  box-shadow: 0 0 0 0.12rem rgba(88,199,122,.2) !important;
}


/* =========================================================
   AcolheMGA v0.37 — readable LGPD policy and weekend redirect
   ========================================================= */

.policy-readable-box {
  max-height: none !important;
  overflow: visible !important;
  padding: 1.45rem !important;
  border: 2px solid #BBD9F5 !important;
  background: #FFFFFF !important;
  box-shadow: 0 10px 24px rgba(15,45,92,.10) !important;
}

.first-access-card .policy-readable-box {
  max-height: 520px !important;
  overflow-y: auto !important;
}

.policy-readable-box p {
  font-size: 1rem !important;
  line-height: 1.85 !important;
  text-align: justify !important;
  margin-bottom: 1.15rem !important;
  color: #172230 !important;
}

.policy-card p,
.manual-card p,
.manual-card li,
.manual-content p,
.manual-content li {
  text-align: justify !important;
}

.first-access-card {
  max-width: 920px !important;
}

.first-access-card > p {
  font-size: 1rem;
  line-height: 1.6;
  color: #1D2B3A;
}

@media (max-width: 768px) {
  .policy-readable-box {
    padding: 1rem !important;
  }

  .policy-readable-box p {
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
  }

  .first-access-card .policy-readable-box {
    max-height: 440px !important;
  }
}


/* =========================================================
   AcolheMGA v0.38 — compact reports, lighter CPF and access admin
   ========================================================= */

.cpf-input,
input[name="cpf"] {
  background: #F3FFF6 !important;
  border-color: #BDECCB !important;
  color: #1B5E2A !important;
}

.cpf-input:focus,
input[name="cpf"]:focus {
  background: #ECFFF1 !important;
  border-color: #76D895 !important;
}

/* Tabelas de relatório em modo compacto */
.report-table {
  transform: scale(0.7);
  transform-origin: top left;
  width: 142.85% !important;
  margin-bottom: -18%;
}

.report-table td,
.report-table th {
  font-size: 0.58rem !important;
  padding: 0.16rem 0.22rem !important;
  line-height: 1.15 !important;
}

.report-section-title {
  font-size: 0.82rem !important;
  margin-bottom: 0.2rem !important;
}

.report-note {
  font-size: 0.72rem !important;
}

@media (max-width: 768px) {
  .report-table {
    transform: none;
    width: 100% !important;
    margin-bottom: 1rem;
  }
}


/* =========================================================
   AcolheMGA v0.39 — observer access and service type colors
   ========================================================= */

.tech-red { color: #B91C1C !important; }
.tech-yellow { color: #B7791F !important; }
.tech-purple { color: #6B21A8 !important; }
.tech-orange { color: #C05621 !important; }
.tech-teal { color: #0F766E !important; }
.tech-default { color: #0F2D5C !important; }

.type-service-select {
  font-weight: 800 !important;
  border-radius: 999px !important;
  border-width: 1px !important;
  text-align: center;
}

.service-beneficio {
  background: #E6F7EC !important;
  color: #14532D !important;
  border-color: #86D39B !important;
}

.service-bpc {
  background: #EAF4FF !important;
  color: #0F3D75 !important;
  border-color: #8EC5FF !important;
}

.service-cadunico {
  background: #F3E8FF !important;
  color: #6B21A8 !important;
  border-color: #C084FC !important;
}

.service-paif {
  background: #FFF7D6 !important;
  color: #854D0E !important;
  border-color: #FACC15 !important;
}

.service-acolhimento {
  background: #FFE4E6 !important;
  color: #9F1239 !important;
  border-color: #FDA4AF !important;
}

.service-documentacao {
  background: #E0F2FE !important;
  color: #075985 !important;
  border-color: #7DD3FC !important;
}

.service-kit {
  background: #FCE7F3 !important;
  color: #9D174D !important;
  border-color: #F9A8D4 !important;
}

.service-funeral {
  background: #E5E7EB !important;
  color: #374151 !important;
  border-color: #9CA3AF !important;
}

.service-passagem {
  background: #FFEDD5 !important;
  color: #9A3412 !important;
  border-color: #FDBA74 !important;
}

.service-scfv {
  background: #CCFBF1 !important;
  color: #115E59 !important;
  border-color: #5EEAD4 !important;
}

.service-default {
  background: #F8FAFC !important;
  color: #334155 !important;
  border-color: #CBD5E1 !important;
}


/* =========================================================
   AcolheMGA v0.40 — shared header, service colors and reports width
   ========================================================= */

/* CPF +10% em relação à v0.39 */
.col-cpf {
  width: 10.69% !important;
  min-width: 131px !important;
}

/* Telefone destacado em azul bem claro */
.inline-agenda-table input[name="phone"],
.agenda-table input[name="phone"],
input[name="phone"] {
  background: #EAF6FF !important;
  border-color: #B8DFFF !important;
  color: #0F3D75 !important;
  font-weight: 600;
}

.inline-agenda-table input[name="phone"]:focus,
.agenda-table input[name="phone"]:focus,
input[name="phone"]:focus {
  background: #DFF1FF !important;
  border-color: #76BDF2 !important;
  box-shadow: 0 0 0 0.12rem rgba(118,189,242,.2) !important;
}

/* Cores por grupo de tipo de atendimento */
.service-beneficio {
  background: #DDF7E7 !important;
  color: #14532D !important;
  border-color: #58C77A !important;
}

.service-kit {
  background: #C8F2D6 !important;
  color: #0F5132 !important;
  border-color: #3FAE63 !important;
}

.service-funeral {
  background: #E7EAD1 !important;
  color: #4D4D12 !important;
  border-color: #A3A858 !important;
}

.service-cadunico {
  background: #F3E8FF !important;
  color: #6B21A8 !important;
  border-color: #C084FC !important;
}

.service-bpc {
  background: #EAF4FF !important;
  color: #0F3D75 !important;
  border-color: #8EC5FF !important;
}

.service-tecnico {
  background: #DDECF0 !important;
  color: #164E63 !important;
  border-color: #7EB8C8 !important;
}

.service-paif {
  background: #DFF3FF !important;
  color: #075985 !important;
  border-color: #7DD3FC !important;
}

.service-particular {
  background: #E6EDF5 !important;
  color: #334155 !important;
  border-color: #AAB8C8 !important;
}

.service-acolhimento {
  background: #FFE4E6 !important;
  color: #9F1239 !important;
  border-color: #FDA4AF !important;
}

.service-passagem {
  background: #FFEDD5 !important;
  color: #9A3412 !important;
  border-color: #FDBA74 !important;
}

.service-documentacao {
  background: #FEF9C3 !important;
  color: #854D0E !important;
  border-color: #FACC15 !important;
}

.service-scfv {
  background: #CCFBF1 !important;
  color: #115E59 !important;
  border-color: #5EEAD4 !important;
}

.service-jovem {
  background: #E9D5FF !important;
  color: #581C87 !important;
  border-color: #A855F7 !important;
}

.service-default {
  background: #F8FAFC !important;
  color: #334155 !important;
  border-color: #CBD5E1 !important;
}

/* Relatórios: fonte normal, colunas-chave mais estreitas */
.report-table {
  transform: none !important;
  width: 100% !important;
  margin-bottom: 1rem !important;
}

.report-table td,
.report-table th {
  font-size: 0.78rem !important;
  padding: 0.32rem 0.42rem !important;
  line-height: 1.25 !important;
}

.report-table th:first-child,
.report-table td:first-child {
  width: 30% !important;
  max-width: 220px !important;
  white-space: normal !important;
}

.report-section-title {
  font-size: 0.95rem !important;
}

/* Menu superior compartilhado */
.navbar-toggler {
  border-color: rgba(255,255,255,.55) !important;
}

.navbar-collapse.show {
  background: #0F2D5C;
  border-radius: 0 0 0.75rem 0.75rem;
  padding: 0.5rem;
  margin-top: 0.4rem;
}


/* =========================================================
   AcolheMGA v0.42 — header menu fallback
   ========================================================= */

@media (max-width: 991.98px) {
  .navbar-collapse {
    display: none;
  }

  .navbar-collapse.show {
    display: block !important;
  }
}


/* =========================================================
   AcolheMGA v0.43 — report tables compact override and manual blank cleanup
   ========================================================= */

/* Força redução visual total das tabelas detalhadas de relatório para 75% */
.reports-detail-block .report-table,
.report-table.report-compact-75 {
  transform: scale(0.75) !important;
  transform-origin: top left !important;
  width: 133.33% !important;
  margin-bottom: -12% !important;
}

/* Fonte volta ao tamanho normal da v0.40, mas a tabela é reduzida como bloco */
.reports-detail-block .report-table td,
.reports-detail-block .report-table th,
.report-table.report-compact-75 td,
.report-table.report-compact-75 th {
  font-size: 0.78rem !important;
  padding: 0.32rem 0.42rem !important;
  line-height: 1.25 !important;
}

/* Colunas de rótulo/indicador/status/tipo menores */
.reports-detail-block .report-table th:first-child,
.reports-detail-block .report-table td:first-child,
.report-table.report-compact-75 th:first-child,
.report-table.report-compact-75 td:first-child {
  width: 22.5% !important;
  max-width: 165px !important;
  white-space: normal !important;
}

/* Fallback extra caso transform não seja aplicado no navegador */
.reports-detail-block .report-table,
.report-table.report-compact-75 {
  max-width: 75% !important;
}

@media (max-width: 768px) {
  .reports-detail-block .report-table,
  .report-table.report-compact-75 {
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 1rem !important;
  }

  .reports-detail-block .report-table th:first-child,
  .reports-detail-block .report-table td:first-child,
  .report-table.report-compact-75 th:first-child,
  .report-table.report-compact-75 td:first-child {
    width: auto !important;
    max-width: none !important;
  }
}


/* =========================================================
   AcolheMGA v0.45 — stronger service type contrast
   ========================================================= */

.type-service-select {
  font-weight: 900 !important;
  border-radius: 0.55rem !important;
  border-width: 1px 1px 1px 6px !important;
  text-align: left !important;
  padding-left: 0.55rem !important;
  box-shadow: inset 0 0 0 9999px rgba(255,255,255,.18) !important;
}

/* Benefícios */
.service-beneficio {
  background: #DCFCE7 !important;
  color: #14532D !important;
  border-color: #166534 !important;
}

.service-kit {
  background: #BBF7D0 !important;
  color: #052E16 !important;
  border-color: #15803D !important;
}

.service-funeral {
  background: #E7E5D1 !important;
  color: #3F3F12 !important;
  border-color: #6B6A1D !important;
}

/* Cadastro / renda / previdência */
.service-cadunico {
  background: #F3E8FF !important;
  color: #581C87 !important;
  border-color: #9333EA !important;
}

.service-bpc {
  background: #DBEAFE !important;
  color: #1E3A8A !important;
  border-color: #2563EB !important;
}

/* Técnico / acompanhamento */
.service-tecnico {
  background: #CCFBF1 !important;
  color: #134E4A !important;
  border-color: #0F766E !important;
}

.service-paif {
  background: #E0F2FE !important;
  color: #075985 !important;
  border-color: #0284C7 !important;
}

.service-particular {
  background: #E2E8F0 !important;
  color: #1E293B !important;
  border-color: #475569 !important;
}

/* Urgência / mobilidade / proteção */
.service-acolhimento {
  background: #FFE4E6 !important;
  color: #881337 !important;
  border-color: #E11D48 !important;
}

.service-passagem {
  background: #FED7AA !important;
  color: #7C2D12 !important;
  border-color: #EA580C !important;
}

.service-documentacao {
  background: #FEF08A !important;
  color: #713F12 !important;
  border-color: #CA8A04 !important;
}

/* Convivência */
.service-scfv {
  background: #A7F3D0 !important;
  color: #064E3B !important;
  border-color: #059669 !important;
}

.service-jovem {
  background: #DDD6FE !important;
  color: #4C1D95 !important;
  border-color: #7C3AED !important;
}

/* Genérico */
.service-default {
  background: #F8FAFC !important;
  color: #334155 !important;
  border-color: #64748B !important;
}


/* =========================================================
   AcolheMGA v0.46 — CPF lookup, duplicate time guard and agenda blocks
   ========================================================= */

/* Telefone +12% de largura visual */
.inline-agenda-table th:nth-child(6),
.inline-agenda-table td:nth-child(6) {
  width: 11.2% !important;
  min-width: 158px !important;
}

.schedule-block-row td {
  background: #FFF1F2 !important;
  color: #881337 !important;
  border-left: 6px solid #E11D48 !important;
  font-weight: 700;
}

.schedule-block-row small {
  display: block;
  color: #7F1D1D;
  font-size: 0.72rem;
  margin-top: 0.2rem;
}


/* =========================================================
   AcolheMGA v0.47 — admin password, panel blocks, layout and service color rollback
   ========================================================= */

/* Reversão visual dos tipos de atendimento para padrão mais leve */
.type-service-select {
  font-weight: 800 !important;
  border-radius: 999px !important;
  border-width: 1px !important;
  text-align: center !important;
  padding-left: 0.35rem !important;
  box-shadow: none !important;
}

.service-beneficio { background: #E6F7EC !important; color: #14532D !important; border-color: #86D39B !important; }
.service-kit { background: #C8F2D6 !important; color: #0F5132 !important; border-color: #3FAE63 !important; }
.service-funeral { background: #E7EAD1 !important; color: #4D4D12 !important; border-color: #A3A858 !important; }
.service-cadunico { background: #F3E8FF !important; color: #6B21A8 !important; border-color: #C084FC !important; }
.service-bpc { background: #EAF4FF !important; color: #0F3D75 !important; border-color: #8EC5FF !important; }
.service-tecnico { background: #DDECF0 !important; color: #164E63 !important; border-color: #7EB8C8 !important; }
.service-paif { background: #DFF3FF !important; color: #075985 !important; border-color: #7DD3FC !important; }
.service-particular { background: #E6EDF5 !important; color: #334155 !important; border-color: #AAB8C8 !important; }
.service-acolhimento { background: #FFE4E6 !important; color: #9F1239 !important; border-color: #FDA4AF !important; }
.service-passagem { background: #FFEDD5 !important; color: #9A3412 !important; border-color: #FDBA74 !important; }
.service-documentacao { background: #FEF9C3 !important; color: #854D0E !important; border-color: #FACC15 !important; }
.service-scfv { background: #CCFBF1 !important; color: #115E59 !important; border-color: #5EEAD4 !important; }
.service-jovem { background: #E9D5FF !important; color: #581C87 !important; border-color: #A855F7 !important; }
.service-default { background: #F8FAFC !important; color: #334155 !important; border-color: #CBD5E1 !important; }

/* Página inicial: ferramentas abaixo da agenda */
.agenda-tools-row {
  display: grid;
  grid-template-columns: minmax(360px, 0.95fr) minmax(420px, 1.05fr);
  gap: 1rem;
  align-items: stretch;
}

.agenda-tools-row .date-filter-bottom,
.agenda-tools-row .global-search-card {
  height: 100%;
  margin-bottom: 0 !important;
}

.agenda-search-bottom .global-search-card {
  width: 100%;
}

/* Rodapé sempre visível, inclusive desktop */
.app-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  clear: both !important;
  position: relative !important;
  z-index: 2 !important;
  margin-top: 1.5rem !important;
}

@media (max-width: 900px) {
  .agenda-tools-row {
    display: block;
  }

  .agenda-search-bottom {
    margin-top: 1rem;
  }
}


/* =========================================================
   AcolheMGA v0.48 — service colors v0.45 + admin layout + week/month render fix
   ========================================================= */

/* Retorno dos tipos de atendimento para o padrão v0.45 */
.type-service-select {
  font-weight: 900 !important;
  border-radius: 0.55rem !important;
  border-width: 1px 1px 1px 6px !important;
  text-align: left !important;
  padding-left: 0.55rem !important;
  box-shadow: inset 0 0 0 9999px rgba(255,255,255,.18) !important;
}

/* Benefícios */
.service-beneficio {
  background: #DCFCE7 !important;
  color: #14532D !important;
  border-color: #166534 !important;
}

.service-kit {
  background: #BBF7D0 !important;
  color: #052E16 !important;
  border-color: #15803D !important;
}

.service-funeral {
  background: #E7E5D1 !important;
  color: #3F3F12 !important;
  border-color: #6B6A1D !important;
}

/* Cadastro / renda / previdência */
.service-cadunico {
  background: #F3E8FF !important;
  color: #581C87 !important;
  border-color: #9333EA !important;
}

.service-bpc {
  background: #DBEAFE !important;
  color: #1E3A8A !important;
  border-color: #2563EB !important;
}

/* Técnico / acompanhamento */
.service-tecnico {
  background: #CCFBF1 !important;
  color: #134E4A !important;
  border-color: #0F766E !important;
}

.service-paif {
  background: #E0F2FE !important;
  color: #075985 !important;
  border-color: #0284C7 !important;
}

.service-particular {
  background: #E2E8F0 !important;
  color: #1E293B !important;
  border-color: #475569 !important;
}

/* Urgência / mobilidade / proteção */
.service-acolhimento {
  background: #FFE4E6 !important;
  color: #881337 !important;
  border-color: #E11D48 !important;
}

.service-passagem {
  background: #FED7AA !important;
  color: #7C2D12 !important;
  border-color: #EA580C !important;
}

.service-documentacao {
  background: #FEF08A !important;
  color: #713F12 !important;
  border-color: #CA8A04 !important;
}

/* Convivência */
.service-scfv {
  background: #A7F3D0 !important;
  color: #064E3B !important;
  border-color: #059669 !important;
}

.service-jovem {
  background: #DDD6FE !important;
  color: #4C1D95 !important;
  border-color: #7C3AED !important;
}

/* Genérico */
.service-default {
  background: #F8FAFC !important;
  color: #334155 !important;
  border-color: #64748B !important;
}

/* Painel: primeira linha com 2 cards, segunda com 3 cards */
.admin-grid-top {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}

.admin-grid-bottom {
  display: grid;
  grid-template-columns: repeat(3, minmax(280px, 1fr));
  gap: 1rem;
}

.admin-grid-top .control-card,
.admin-grid-bottom .control-card {
  min-height: 0 !important;
}

@media (max-width: 1100px) {
  .admin-grid-top,
  .admin-grid-bottom {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   AcolheMGA v0.49 — agenda title, duplicate CPF cleanup and stability
   ========================================================= */

.agenda-section-title {
  font-size: 0.98rem !important;
  letter-spacing: -0.01em;
}

.navbar-collapse.show {
  display: block !important;
}

@media (max-width: 991.98px) {
  .navbar-collapse {
    display: none;
  }
  .navbar-collapse.show {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

html, body {
  min-height: 100%;
}

.content {
  padding-bottom: 2rem !important;
}

.app-footer {
  min-height: 44px !important;
  display: block !important;
}

/* Painel: com limpeza de duplicados, a segunda linha pode ter 4 cards */
.admin-grid-bottom {
  grid-template-columns: repeat(4, minmax(240px, 1fr)) !important;
}

@media (max-width: 1300px) {
  .admin-grid-bottom {
    grid-template-columns: repeat(2, minmax(260px, 1fr)) !important;
  }
}

@media (max-width: 800px) {
  .admin-grid-bottom {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   AcolheMGA v0.49a — database backup and agenda title refinement
   ========================================================= */

.admin-grid-bottom {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
}


/* =========================================================
   AcolheMGA v0.50 — Agenda de Cadastro Único
   ========================================================= */

.cadunico-module {
  background: #FFFFFF;
  border: 1px solid #D7ECFF;
  border-radius: 1rem;
  padding: 0.85rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.06);
}

.cadunico-title {
  font-size: 1.05rem !important;
  margin-bottom: 0.7rem !important;
}

.cadunico-table .col-household {
  width: 8.5% !important;
  min-width: 105px !important;
}

.cadunico-table .col-prontuario {
  width: 5.5% !important;
  min-width: 72px !important;
  max-width: 90px !important;
}

.cadunico-table .col-phone {
  min-width: 140px !important;
}

.cadunico-table .col-service {
  min-width: 120px !important;
}

.cadunico-table textarea,
.cadunico-table input,
.cadunico-table select {
  font-size: 0.76rem !important;
}

.cadunico-row .type-service-select {
  border-left-width: 1px !important;
  border-radius: 999px !important;
  text-align: center !important;
  padding-left: 0.25rem !important;
}

@media (max-width: 900px) {
  .cadunico-module {
    padding: 0.5rem;
  }
}


/* =========================================================
   AcolheMGA v0.51 — privacy formatting, reports compact, cadunico refinements
   ========================================================= */

.privacy-document {
  max-width: 980px;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0.25rem 0 !important;
}

.privacy-document p {
  font-size: 1rem !important;
  line-height: 1.85 !important;
  text-align: justify !important;
  margin-bottom: 1.25rem !important;
  color: #172230 !important;
}

.privacy-acceptance-box {
  max-width: 980px;
  display: grid;
  gap: 0.2rem;
  background: #EAF6FF;
  border: 1px solid #B8DFFF;
  border-left: 6px solid #0F3D75;
  border-radius: 0.85rem;
  padding: 0.9rem 1rem;
  margin-bottom: 1.15rem;
  color: #0F2D5C;
}

.privacy-acceptance-box strong {
  font-size: 0.95rem;
  font-weight: 900;
}

.privacy-acceptance-box span {
  font-size: 0.86rem;
  font-weight: 600;
}

.privacy-pending {
  background: #FFF7D6;
  border-color: #FACC15;
  border-left-color: #CA8A04;
}

/* Relatórios: compactar fortemente as 3 tabelas detalhadas inferiores */
.reports-detail-block .report-table,
.report-table.report-compact-75 {
  transform: scale(0.8) !important;
  transform-origin: top left !important;
  width: 125% !important;
  max-width: 80% !important;
  margin-bottom: -10% !important;
}

.reports-detail-block .report-table td,
.reports-detail-block .report-table th,
.report-table.report-compact-75 td,
.report-table.report-compact-75 th {
  font-size: 0.72rem !important;
  padding: 0.24rem 0.3rem !important;
  line-height: 1.15 !important;
}

.reports-detail-block .report-table th,
.reports-detail-block .report-table td {
  width: 20% !important;
  max-width: 120px !important;
  white-space: normal !important;
}

.reports-detail-block .report-table th:first-child,
.reports-detail-block .report-table td:first-child {
  width: 20% !important;
  max-width: 120px !important;
}

.add-extra-cadunico-btn {
  display: block;
  width: 100%;
  background: #111827;
  color: #FFFFFF;
  border: 0;
  border-radius: 0;
  padding: 0.45rem 0.75rem;
  font-weight: 900;
  text-align: left;
  letter-spacing: 0.01em;
}

.add-extra-cadunico-btn:hover {
  background: #0F2D5C;
  color: #FFFFFF;
}

.cadunico-title {
  display: none !important;
}

@media (max-width: 768px) {
  .reports-detail-block .report-table,
  .report-table.report-compact-75 {
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 1rem !important;
  }

  .reports-detail-block .report-table th,
  .reports-detail-block .report-table td {
    width: auto !important;
    max-width: none !important;
  }
}


/* =========================================================
   AcolheMGA v0.52 — CadÚnico layout, lunch lock, privacy fix and name merge
   ========================================================= */

.technical-weekdays-action-wrap {
  margin-top: 0.5rem !important;
  margin-bottom: 1rem !important;
}

.cadunico-tools-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  background: #F8FBFF;
  border: 1px solid #D7ECFF;
  border-radius: 0.75rem;
  padding: 0.65rem;
}

.cadunico-action-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.add-extra-cadunico-btn {
  display: block !important;
  width: 100% !important;
  background: #111827 !important;
  color: #FFFFFF !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0.45rem 0.75rem !important;
  font-weight: 900 !important;
  text-align: left !important;
  letter-spacing: 0.01em !important;
}

.add-extra-cadunico-btn:hover {
  background: #0F2D5C !important;
  color: #FFFFFF !important;
}

.cadunico-lunch-row td {
  background: #111827 !important;
  color: #FFFFFF !important;
  font-weight: 900 !important;
  text-align: center !important;
  border-color: #111827 !important;
}

.cadunico-table .col-prontuario {
  width: 22% !important;
  min-width: 220px !important;
}

.cadunico-table th:nth-child(9),
.cadunico-table td:nth-child(9) {
  width: 8.5% !important;
  min-width: 110px !important;
}

.privacy-document {
  max-width: 980px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0.25rem 0 !important;
  white-space: normal !important;
}

.privacy-document p {
  font-size: 1rem !important;
  line-height: 1.9 !important;
  text-align: justify !important;
  margin: 0 0 1.35rem 0 !important;
  color: #172230 !important;
  white-space: normal !important;
}

.privacy-acceptance-box {
  max-width: 980px;
  display: grid;
  gap: 0.2rem;
  background: #EAF6FF;
  border: 1px solid #B8DFFF;
  border-left: 6px solid #0F3D75;
  border-radius: 0.85rem;
  padding: 0.9rem 1rem;
  margin-bottom: 1.15rem;
  color: #0F2D5C;
}

@media (max-width: 900px) {
  .cadunico-tools-row {
    display: block;
  }
  .cadunico-action-buttons {
    display: block;
    margin-top: 0.65rem;
  }
  .cadunico-action-buttons .btn {
    width: 100%;
    margin-left: 0 !important;
  }
}


/* =========================================================
   AcolheMGA v0.53a — Correção real do CadÚnico MySQL e visual
   ========================================================= */

.cadunico-lunch-row td{
  background: linear-gradient(135deg,#1d4ed8,#2563eb)!important;
  color:#fff!important;
  font-weight:800!important;
  text-align:center!important;
  border-color:#1e40af!important;
  height:52px!important;
  letter-spacing:.01em;
}

.add-extra-cadunico-btn{
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.2!important;
  padding:.42rem .7rem!important;
}

.date-filter-form,
.cadunico-date-form{
  background: linear-gradient(180deg,#f8fbff,#edf5ff)!important;
  border:1px solid #cfe3ff!important;
  border-radius:14px!important;
  padding:12px!important;
}

.cadunico-tools-row{
  background: linear-gradient(180deg,#f8fbff,#edf5ff)!important;
  border:1px solid #cfe3ff!important;
  border-radius:14px!important;
}


/* =========================================================
   AcolheMGA v0.54 — ajustes solicitados em CadÚnico e Agenda Técnica
   ========================================================= */

/* Passe Livre vermelho forte; Acolhimento assume o tom anterior mais suave/alaranjado */
.service-passelivre,
select.service-passelivre {
  background: #FFE4E6 !important;
  color: #881337 !important;
  border-color: #E11D48 !important;
}

.service-acolhimento,
select.service-acolhimento {
  background: #FFEDD5 !important;
  color: #7C2D12 !important;
  border-color: #EA580C !important;
}

/* Selecionar data com o mesmo visual de box usado na busca global/CPF */
.date-filter-bottom,
.cadunico-tools-row,
.date-filter-form,
.cadunico-date-form {
  background: linear-gradient(135deg, #F8FBFF 0%, #EEF6FF 100%) !important;
  border: 1px solid #D7ECFF !important;
  border-radius: 1rem !important;
  box-shadow: 0 8px 18px rgba(15,45,92,.06) !important;
}

.date-filter-bottom,
.cadunico-tools-row {
  padding: 0.85rem !important;
}

.date-filter-form,
.cadunico-date-form {
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Botão de encaixe CadÚnico menor */
.add-extra-cadunico-btn {
  font-size: 0.78rem !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  padding: 0.32rem 0.55rem !important;
}

/* Horário de almoço do CadÚnico: azul claro, tamanho/padding reduzidos */
.cadunico-lunch-row td {
  background: #DBEAFE !important;
  color: #1E3A8A !important;
  border-color: #93C5FD !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  padding: 0.16rem 0.28rem !important;
  height: auto !important;
  line-height: 1.15 !important;
}

/* Reduz o espaço vertical entre agendas/tabelas dos técnicos em 50% */
.agenda-section-title {
  margin-top: 0.3rem !important;
  margin-bottom: 0.22rem !important;
}

.inline-agenda-table {
  margin-bottom: 0.65rem !important;
}

/* Ivane em roxo */
.tech-ivane,
.agenda-section-title.tech-ivane {
  color: #581C87 !important;
}

.agenda-section-title.tech-ivane {
  background: #F3E8FF !important;
  border-color: #C084FC !important;
}

/* CadÚnico: garantir espaçamento/visibilidade após o almoço */
.cadunico-table tbody tr {
  display: table-row;
}


/* =========================================================
   AcolheMGA v0.55 — CadÚnico colunas, cores, almoço e salvar centralizado
   ========================================================= */

/* Prontuário 70% menor e observações ganhando o espaço */
.cadunico-table .col-prontuario {
  width: 6.6% !important;
  min-width: 66px !important;
  max-width: 80px !important;
}

.cadunico-table th:nth-child(9),
.cadunico-table td:nth-child(9) {
  width: 24% !important;
  min-width: 240px !important;
}

/* Almoço sem borda, azul claro, compacto */
.cadunico-lunch-row td {
  background: #DBEAFE !important;
  color: #1E3A8A !important;
  border: 0 !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  padding: 0.16rem 0.28rem !important;
  height: auto !important;
  line-height: 1.15 !important;
  text-align: center !important;
}

/* Sistema de cores do atendimento no CadÚnico, semelhante à agenda técnica */
.cadunico-table .type-service-select {
  font-weight: 900 !important;
  border-radius: 0.55rem !important;
  border-width: 1px 1px 1px 6px !important;
  text-align: left !important;
  padding-left: 0.55rem !important;
  box-shadow: inset 0 0 0 9999px rgba(255,255,255,.18) !important;
}

.cadunico-table .service-cad-abertura {
  background: #DCFCE7 !important;
  color: #14532D !important;
  border-color: #166534 !important;
}

.cadunico-table .service-cad-atualizacao {
  background: #DBEAFE !important;
  color: #1E3A8A !important;
  border-color: #2563EB !important;
}

.cadunico-table .service-cad-exclusao {
  background: #FFE4E6 !important;
  color: #881337 !important;
  border-color: #E11D48 !important;
}

.cadunico-table .service-cad-folha {
  background: #FEF08A !important;
  color: #713F12 !important;
  border-color: #CA8A04 !important;
}

.cadunico-table .service-cad-sibec {
  background: #F3E8FF !important;
  color: #581C87 !important;
  border-color: #9333EA !important;
}

.cadunico-table .service-cad-transferencia {
  background: #FED7AA !important;
  color: #7C2D12 !important;
  border-color: #EA580C !important;
}

.cadunico-table .service-cad-orientacoes {
  background: #CCFBF1 !important;
  color: #134E4A !important;
  border-color: #0F766E !important;
}

/* Botão salvar fixado ao centro da célula */
.inline-agenda-table .col-action,
.cadunico-table .col-action {
  text-align: center !important;
  vertical-align: middle !important;
}

.inline-agenda-table .inline-save-btn,
.cadunico-table .inline-save-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  min-width: 58px !important;
}

/* Garantir linhas após almoço visíveis */
.cadunico-table tbody tr {
  display: table-row !important;
}


/* =========================================================
   AcolheMGA v0.56 — Manual v1.1 and CadÚnico reports
   ========================================================= */

.manual-document {
  max-width: 1080px;
}

.manual-section {
  background: #FFFFFF;
  border: 1px solid #D7ECFF;
  border-radius: 1rem;
  padding: 1rem 1.15rem;
  margin-bottom: 1rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.05);
}

.manual-section h2 {
  font-size: 1.05rem;
  color: #0F2D5C;
  font-weight: 900;
  margin-bottom: 0.65rem;
}

.manual-section p {
  font-size: 0.95rem;
  line-height: 1.75;
  text-align: justify;
  margin-bottom: 0.7rem;
}

.report-section-title {
  font-size: 1rem;
  font-weight: 900;
  color: #0F2D5C;
  margin: 1rem 0 0.65rem;
}

.cadunico-report-cards .report-card {
  border-left: 6px solid #2563EB;
}

.report-filter {
  background: linear-gradient(135deg, #F8FBFF 0%, #EEF6FF 100%);
  border: 1px solid #D7ECFF;
  border-radius: 1rem;
  padding: 0.85rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.06);
}


/* =========================================================
   AcolheMGA v0.57 — mobile render, reports restore, manual index, CadÚnico week/month
   ========================================================= */

.manual-index {
  background: linear-gradient(135deg, #F8FBFF 0%, #EEF6FF 100%);
  border: 1px solid #D7ECFF;
  border-radius: 1rem;
  padding: 1rem;
  margin-bottom: 1rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.06);
}

.manual-index h2 {
  font-size: 1rem;
  font-weight: 900;
  color: #0F2D5C;
  margin-bottom: 0.65rem;
}

.manual-index-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.45rem;
}

.manual-index-grid a {
  display: block;
  background: #FFFFFF;
  border: 1px solid #D7ECFF;
  border-radius: 0.65rem;
  padding: 0.5rem 0.65rem;
  color: #0F2D5C;
  font-weight: 800;
  text-decoration: none;
  font-size: 0.82rem;
}

.manual-index-grid a:hover {
  background: #EAF4FF;
  text-decoration: none;
}

/* Relatórios voltam ao visual de cards e tabelas separadas */
.report-cards {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 0.75rem !important;
  margin-bottom: 1rem !important;
}

.report-card {
  background: linear-gradient(135deg, #F8FBFF 0%, #EEF6FF 100%) !important;
  border: 1px solid #D7ECFF !important;
  border-left: 6px solid #2563EB !important;
  border-radius: 1rem !important;
  padding: 0.85rem 1rem !important;
  box-shadow: 0 8px 18px rgba(15,45,92,.06) !important;
  min-height: 86px !important;
}

.report-card span {
  display: block !important;
  font-size: 0.74rem !important;
  text-transform: uppercase !important;
  color: #64748B !important;
  font-weight: 900 !important;
  margin-bottom: 0.25rem !important;
}

.report-card strong {
  display: block !important;
  font-size: 1.65rem !important;
  line-height: 1 !important;
  color: #0F2D5C !important;
  font-weight: 900 !important;
}

.reports-detail-block .row {
  row-gap: 1rem;
}

.report-table {
  background: #FFFFFF !important;
  border-radius: 0.65rem !important;
  overflow: hidden !important;
  font-size: 0.78rem !important;
}

.report-table th {
  background: #F8FBFF !important;
  color: #0F2D5C !important;
  font-weight: 900 !important;
}

.report-compact-75 {
  width: 100% !important;
  max-width: 100% !important;
  transform: none !important;
  margin-bottom: 1rem !important;
}

/* CadÚnico semana/mês */
.cadunico-expanded-agenda {
  margin-top: 1rem;
  border-top: 2px solid #D7ECFF;
  padding-top: 1rem;
}

.cadunico-week-day,
.cadunico-month-day {
  margin-bottom: 1rem;
}

/* Render mobile específico */
@media (max-width: 768px) {
  body {
    font-size: 15px !important;
  }

  .content,
  .app-shell .content {
    padding: 0.8rem !important;
  }

  .page-title {
    font-size: 1.15rem !important;
    margin-bottom: 0.7rem !important;
  }

  .manual-section {
    padding: 1rem !important;
    margin-bottom: 0.85rem !important;
  }

  .manual-section h2 {
    font-size: 1.05rem !important;
  }

  .manual-section p {
    font-size: 0.95rem !important;
    line-height: 1.75 !important;
    text-align: left !important;
  }

  .manual-index {
    padding: 0.8rem !important;
  }

  .manual-index-grid {
    grid-template-columns: 1fr !important;
  }

  .manual-index-grid a {
    font-size: 0.9rem !important;
    padding: 0.62rem 0.75rem !important;
  }

  .report-filter {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.55rem !important;
  }

  .report-filter label,
  .report-filter input,
  .report-filter button,
  .report-filter a {
    width: 100% !important;
    margin: 0 !important;
    font-size: 0.95rem !important;
  }

  .report-section-title {
    font-size: 1.15rem !important;
    margin-top: 1.15rem !important;
  }

  .report-cards {
    grid-template-columns: 1fr !important;
    gap: 0.65rem !important;
  }

  .report-card {
    min-height: 78px !important;
    padding: 0.85rem 1rem !important;
  }

  .report-card span {
    font-size: 0.8rem !important;
  }

  .report-card strong {
    font-size: 1.85rem !important;
  }

  .reports-detail-block .row {
    display: block !important;
  }

  .reports-detail-block [class*="col-md-"] {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 1rem !important;
  }

  .report-table,
  .report-table th,
  .report-table td {
    font-size: 0.88rem !important;
  }

  .report-table th,
  .report-table td {
    padding: 0.45rem 0.55rem !important;
  }

  .report-table {
    display: table !important;
    width: 100% !important;
  }
}


/* =========================================================
   AcolheMGA v0.59 — reversão da tabela CadÚnico para v0.55
   ========================================================= */

.cadunico-table {
  overflow: visible !important;
}

.cadunico-module {
  overflow: visible !important;
}

@media (max-width: 768px) {
  .cadunico-table.inline-agenda-table {
    min-width: 1320px !important;
    width: auto !important;
  }

  .cadunico-table th,
  .cadunico-table td {
    font-size: 0.82rem !important;
  }
}


/* =========================================================
   AcolheMGA v0.60 — Log de auditoria completo e correção mobile Manual/Relatórios
   ========================================================= */

.control-card-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.audit-intro-box,
.audit-filter-box,
.audit-log-card,
.audit-empty {
  background: #FFFFFF;
  border: 1px solid #D7ECFF;
  border-radius: 1rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.06);
}

.audit-intro-box {
  padding: 1rem 1.15rem;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, #F8FBFF 0%, #EEF6FF 100%);
}

.audit-intro-box h2 {
  font-size: 1.05rem;
  font-weight: 900;
  color: #0F2D5C;
  margin-bottom: 0.4rem;
}

.audit-intro-box p {
  margin: 0;
  line-height: 1.65;
  color: #334155;
}

.audit-filter-box {
  display: grid;
  grid-template-columns: 2fr 1.2fr 1.2fr 0.8fr 0.8fr auto;
  gap: 0.75rem;
  padding: 1rem;
  margin-bottom: 1rem;
  align-items: end;
}

.audit-filter-box label {
  font-size: 0.78rem;
  font-weight: 900;
  color: #0F2D5C;
  text-transform: uppercase;
}

.audit-filter-actions {
  display: flex;
  gap: 0.4rem;
}

.audit-summary-line {
  margin: 0.75rem 0;
  color: #0F2D5C;
  font-weight: 700;
}

.audit-log-list {
  display: grid;
  gap: 0.85rem;
}

.audit-log-card {
  padding: 1rem;
  border-left: 6px solid #2563EB;
}

.audit-log-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid #E2E8F0;
  padding-bottom: 0.55rem;
  margin-bottom: 0.65rem;
}

.audit-log-header strong {
  display: block;
  font-size: 1rem;
  color: #0F2D5C;
  font-weight: 900;
}

.audit-log-header span,
.audit-log-header time {
  color: #64748B;
  font-size: 0.82rem;
  font-weight: 700;
}

.audit-log-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 0.7rem;
}

.audit-log-meta span {
  background: #F8FBFF;
  border: 1px solid #D7ECFF;
  border-radius: 999px;
  padding: 0.28rem 0.55rem;
  font-size: 0.78rem;
  color: #334155;
}

.audit-change-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-bottom: 0.7rem;
}

.audit-change-grid div {
  background: #F8FBFF;
  border: 1px solid #D7ECFF;
  border-radius: 0.75rem;
  padding: 0.7rem;
}

.audit-change-grid h3 {
  font-size: 0.84rem;
  font-weight: 900;
  color: #0F2D5C;
  margin-bottom: 0.35rem;
}

.audit-change-grid p,
.audit-description p {
  margin: 0;
  white-space: pre-wrap;
  line-height: 1.55;
}

.audit-description {
  background: #FFFFFF;
  border-top: 1px solid #E2E8F0;
  padding-top: 0.6rem;
}

.audit-description strong {
  color: #0F2D5C;
}

.audit-empty {
  padding: 1rem;
  color: #64748B;
  font-weight: 700;
}

/* Correção mobile específica para páginas que ficaram com letra pequena */
@media (max-width: 768px) {
  .manual-document,
  .reports-detail-block,
  .audit-log-list {
    font-size: 1rem !important;
  }

  .manual-section p,
  .manual-section li,
  .privacy-document p {
    font-size: 1rem !important;
    line-height: 1.8 !important;
    text-align: left !important;
  }

  .manual-section h2,
  .report-section-title {
    font-size: 1.18rem !important;
    line-height: 1.35 !important;
  }

  .manual-index-grid a {
    font-size: 1rem !important;
  }

  .report-card span {
    font-size: 0.9rem !important;
  }

  .report-card strong {
    font-size: 2rem !important;
  }

  .report-table,
  .report-table th,
  .report-table td {
    font-size: 1rem !important;
    line-height: 1.45 !important;
  }

  .audit-filter-box {
    grid-template-columns: 1fr !important;
    padding: 0.85rem !important;
  }

  .audit-filter-box .form-control,
  .audit-filter-box .btn {
    font-size: 1rem !important;
    min-height: 42px !important;
  }

  .audit-filter-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
  }

  .audit-log-card {
    padding: 0.85rem !important;
  }

  .audit-log-header {
    display: block !important;
  }

  .audit-log-header strong {
    font-size: 1.05rem !important;
  }

  .audit-log-header span,
  .audit-log-header time,
  .audit-log-meta span {
    font-size: 0.9rem !important;
  }

  .audit-log-meta {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .audit-log-meta span {
    border-radius: 0.65rem !important;
    padding: 0.45rem 0.6rem !important;
  }

  .audit-change-grid {
    grid-template-columns: 1fr !important;
  }

  .audit-change-grid p,
  .audit-description p {
    font-size: 1rem !important;
  }

  .control-card-header-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .control-card-header-row .btn {
    width: 100% !important;
  }
}


/* =========================================================
   AcolheMGA v0.61 — Relatório mensal em formato RMA
   ========================================================= */

.rma-filter {
  background: linear-gradient(135deg, #F8FBFF 0%, #EEF6FF 100%) !important;
  border: 1px solid #D7ECFF !important;
  border-radius: 1rem !important;
  padding: 1rem !important;
  box-shadow: 0 8px 18px rgba(15,45,92,.06) !important;
}

.rma-header-box {
  background: #FFFFFF;
  border: 2px solid #0F3D75;
  border-radius: 0.9rem;
  padding: 1rem 1.15rem;
  margin-bottom: 1rem;
  color: #0F2D5C;
}

.rma-header-box h2 {
  font-size: 1.25rem;
  font-weight: 900;
  margin-bottom: 0.65rem;
  text-transform: uppercase;
}

.rma-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.8rem;
  margin-bottom: 1.1rem;
}

.rma-summary-card {
  background: linear-gradient(135deg, #F8FBFF 0%, #EEF6FF 100%);
  border: 1px solid #D7ECFF;
  border-left: 7px solid #2563EB;
  border-radius: 1rem;
  padding: 0.95rem 1rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.06);
}

.rma-summary-card span {
  display: block;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
  color: #64748B;
}

.rma-summary-card strong {
  display: block;
  font-size: 2rem;
  line-height: 1;
  color: #0F2D5C;
  font-weight: 900;
  margin: 0.35rem 0;
}

.rma-summary-card small {
  color: #64748B;
  font-weight: 700;
}

.rma-block {
  background: #FFFFFF;
  border: 1px solid #CFE3FF;
  border-radius: 0.9rem;
  overflow: hidden;
  margin-bottom: 1.15rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.04);
}

.rma-block-title {
  background: #0F3D75;
  color: #FFFFFF;
  font-size: 1rem;
  font-weight: 900;
  padding: 0.75rem 0.95rem;
}

.rma-block-subtitle {
  background: #EAF4FF;
  color: #0F2D5C;
  font-size: 0.92rem;
  font-weight: 800;
  padding: 0.65rem 0.95rem;
  border-bottom: 1px solid #CFE3FF;
}

.rma-table {
  margin-bottom: 0 !important;
  font-size: 0.95rem !important;
}

.rma-table th {
  background: #F8FBFF;
  color: #0F2D5C;
  font-weight: 900;
  border-color: #D7ECFF !important;
  padding: 0.7rem 0.75rem !important;
}

.rma-table td {
  border-color: #E2E8F0 !important;
  padding: 0.65rem 0.75rem !important;
  vertical-align: middle !important;
}

.rma-code-col {
  width: 90px;
}

.rma-value-col {
  width: 110px;
}

.rma-code {
  font-weight: 900;
  color: #0F3D75;
  text-align: center;
  background: #F8FBFF;
}

.rma-value {
  text-align: center;
  font-size: 1.1rem;
  color: #0F2D5C;
  font-weight: 900;
}

.rma-admin-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

@media (max-width: 768px) {
  .rma-filter {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.65rem !important;
  }

  .rma-filter label,
  .rma-filter input,
  .rma-filter button,
  .rma-filter a {
    width: 100% !important;
    margin: 0 !important;
    font-size: 1rem !important;
  }

  .rma-header-box {
    font-size: 1rem !important;
  }

  .rma-header-box h2 {
    font-size: 1.15rem !important;
  }

  .rma-summary-grid {
    grid-template-columns: 1fr !important;
  }

  .rma-summary-card strong {
    font-size: 2.15rem !important;
  }

  .rma-block-title {
    font-size: 1rem !important;
    line-height: 1.35 !important;
  }

  .rma-block-subtitle {
    font-size: 0.95rem !important;
    line-height: 1.45 !important;
  }

  .rma-table,
  .rma-table th,
  .rma-table td {
    font-size: 0.96rem !important;
    line-height: 1.45 !important;
  }

  .rma-code-col {
    width: 72px !important;
  }

  .rma-value-col {
    width: 82px !important;
  }

  .rma-value {
    font-size: 1.1rem !important;
  }

  .rma-admin-grid {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   AcolheMGA v0.62 — changelog, CadÚnico Ausente, bloqueios e duplicidade
   ========================================================= */

.schedule-block-single-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem;
  background: linear-gradient(135deg, #FEF3C7 0%, #FFFBEB 100%);
  border: 1px solid #F59E0B;
  border-left: 7px solid #D97706;
  border-radius: 0.95rem;
  color: #713F12 !important;
  padding: 0.8rem 1rem;
  margin-bottom: 0.75rem;
  font-weight: 800;
}

.schedule-block-single-line strong {
  font-weight: 900;
}

.schedule-block-single-line small {
  display: inline-block;
  margin-left: auto;
  color: #92400E;
  font-weight: 800;
}

.rma-cadunico-card-grid {
  padding: 1rem;
  margin-bottom: 0 !important;
}

.cadunico-cards-block .report-card {
  min-height: 92px;
}

@media (max-width: 768px) {
  .schedule-block-single-line {
    display: block !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  .schedule-block-single-line small {
    display: block !important;
    margin-left: 0 !important;
    margin-top: 0.3rem !important;
  }

  .rma-cadunico-card-grid {
    padding: 0.75rem !important;
  }
}


/* =========================================================
   AcolheMGA v0.63 — Relatórios institucionais e tratamento de dados
   ========================================================= */

.institutional-filter {
  background: linear-gradient(135deg, #F8FBFF 0%, #EEF6FF 100%) !important;
  border: 1px solid #D7ECFF !important;
  border-radius: 1rem !important;
  padding: 1rem !important;
  box-shadow: 0 8px 18px rgba(15,45,92,.06) !important;
}

.institutional-report-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  background: #0F2D5C;
  color: #FFFFFF;
  border-radius: 1rem;
  padding: 1.1rem 1.25rem;
  margin-bottom: 1rem;
  box-shadow: 0 8px 20px rgba(15,45,92,.16);
}

.institutional-report-header span {
  display: block;
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
  opacity: .88;
}

.institutional-report-header h2 {
  font-size: 1.35rem;
  font-weight: 900;
  margin: 0.2rem 0 0;
}

.institutional-report-header strong {
  display: block;
  font-size: 1.3rem;
  font-weight: 900;
  text-align: right;
}

.institutional-report-header small {
  display: block;
  text-align: right;
  opacity: .85;
  font-weight: 700;
}

.institutional-section {
  background: #FFFFFF;
  border: 1px solid #D7ECFF;
  border-radius: 1rem;
  padding: 1rem;
  margin-bottom: 1rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.05);
}

.institutional-section.two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.institutional-section-title {
  color: #0F2D5C;
  font-size: 1.02rem;
  font-weight: 900;
  margin-bottom: 0.75rem;
  border-bottom: 2px solid #D7ECFF;
  padding-bottom: 0.45rem;
}

.institutional-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
  gap: 0.75rem;
}

.institutional-card {
  background: linear-gradient(135deg, #F8FBFF 0%, #EEF6FF 100%);
  border: 1px solid #D7ECFF;
  border-left: 6px solid #2563EB;
  border-radius: 0.9rem;
  padding: 0.9rem 1rem;
}

.institutional-card.primary {
  border-left-color: #0F2D5C;
  background: linear-gradient(135deg, #EAF4FF 0%, #F8FBFF 100%);
}

.institutional-card span {
  display: block;
  color: #64748B;
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.institutional-card strong {
  display: block;
  color: #0F2D5C;
  font-size: 1.85rem;
  line-height: 1;
  font-weight: 900;
  margin-top: 0.35rem;
}

.institutional-table {
  margin-bottom: 0 !important;
  font-size: 0.95rem !important;
  border: 1px solid #D7ECFF;
}

.institutional-table th {
  background: #F8FBFF;
  color: #0F2D5C;
  font-weight: 900;
  border-color: #D7ECFF !important;
}

.institutional-table td {
  border-color: #E2E8F0 !important;
  vertical-align: middle !important;
}

.institutional-table .value-cell {
  width: 120px;
  text-align: center;
  font-weight: 900;
  color: #0F2D5C;
  font-size: 1.08rem;
}

/* Substitui o amarelo do bloqueio por azul institucional */
.schedule-block-single-line {
  background: linear-gradient(135deg, #0F2D5C 0%, #164A8A 100%) !important;
  color: #FFFFFF !important;
  border: 1px solid #2563EB !important;
  border-left: 7px solid #4EA5FF !important;
  box-shadow: 0 8px 18px rgba(15,45,92,.14);
}

.schedule-block-single-line small,
.schedule-block-single-line span,
.schedule-block-single-line strong {
  color: #FFFFFF !important;
}

.institutional-admin-title h2 {
  color: #0F2D5C;
  font-weight: 900;
  margin-bottom: 0.3rem;
}

.institutional-admin-title p {
  color: #64748B;
  margin-bottom: 0.85rem;
}

.import-status-box {
  background: linear-gradient(135deg, #F8FBFF 0%, #EEF6FF 100%);
  border: 1px solid #D7ECFF;
  border-radius: 0.9rem;
  padding: 0.85rem 1rem;
  margin-bottom: 1rem;
}

.import-status-box strong {
  color: #0F2D5C;
  font-weight: 900;
}

.import-status-box ul {
  margin: 0.45rem 0 0;
  padding-left: 1.2rem;
}

.import-status-box li {
  margin-bottom: 0.2rem;
}

.import-status-box span {
  font-weight: 900;
  color: #0F2D5C;
}

.admin-tools-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.85rem;
}

.admin-tool-card {
  background: #FFFFFF;
  border: 1px solid #D7ECFF;
  border-radius: 0.9rem;
  padding: 0.9rem;
  box-shadow: 0 5px 14px rgba(15,45,92,.04);
}

.admin-tool-card h3 {
  color: #0F2D5C;
  font-size: 0.98rem;
  font-weight: 900;
  margin-bottom: 0.35rem;
}

.admin-tool-card p {
  color: #64748B;
  font-size: 0.86rem;
  line-height: 1.45;
}

.admin-tool-card .btn {
  white-space: normal;
}

@media (max-width: 768px) {
  .institutional-report-header {
    display: block;
  }

  .institutional-report-header strong,
  .institutional-report-header small {
    text-align: left;
    margin-top: 0.4rem;
  }

  .institutional-section.two-columns {
    grid-template-columns: 1fr;
  }

  .institutional-card-grid {
    grid-template-columns: 1fr;
  }

  .institutional-card strong {
    font-size: 2rem;
  }

  .institutional-table,
  .institutional-table th,
  .institutional-table td {
    font-size: 0.96rem !important;
  }

  .admin-tools-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   AcolheMGA v0.64 — destaque Nome do Usuário, histórico rápido e cadastros operacionais
   ========================================================= */

/* Padronização e destaque do título da Agenda Cadastro Único */
.cadunico-module .agenda-section-title.tech-default {
  font-size: calc(1rem + 1px) !important;
  font-weight: 900 !important;
  color: #0F2D5C !important;
  background: linear-gradient(135deg, #EAF4FF 0%, #F8FBFF 100%) !important;
  border: 1px solid #CFE3FF !important;
  border-left: 7px solid #2563EB !important;
  padding: 0.72rem 0.95rem !important;
  border-radius: 0.9rem !important;
}

/* Coluna Nome do Usuário mais forte e padronizada */
.inline-agenda-table .col-name,
.cadunico-table .col-name {
  min-width: 250px !important;
}

.inline-agenda-table .col-name input,
.cadunico-table .col-name input,
.inline-agenda-table input[name="name"],
.cadunico-table input[name="name"] {
  font-weight: 800 !important;
  color: #0F2D5C !important;
  background: #FFFFFF !important;
  border: 2px solid #BFDBFE !important;
}

.inline-agenda-table .col-name input:focus,
.cadunico-table .col-name input:focus {
  border-color: #2563EB !important;
  box-shadow: 0 0 0 0.14rem rgba(37,99,235,.16) !important;
}

/* Desktop: redistribuição de colunas da Agenda Cadastro Único */
@media (min-width: 769px) {
  .cadunico-table .col-prontuario {
    width: 3.2% !important;
    min-width: 48px !important;
    max-width: 58px !important;
  }

  .cadunico-table .col-status {
    width: 12% !important;
    min-width: 132px !important;
  }

  .cadunico-table .col-name {
    width: 24% !important;
    min-width: 270px !important;
  }

  .cadunico-table th:nth-child(9),
  .cadunico-table td:nth-child(9) {
    width: 30% !important;
    min-width: 320px !important;
  }

  .cadunico-table .col-prontuario input {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
}

/* Histórico rápido na lupa */
.history-icon-link {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  min-height: 24px;
  font-size: 1rem;
}

.history-icon-link:hover::after {
  content: attr(title);
  position: absolute;
  z-index: 9999;
  left: 50%;
  bottom: 130%;
  transform: translateX(-50%);
  width: 320px;
  max-width: 80vw;
  white-space: pre-line;
  background: #0F2D5C;
  color: #FFFFFF;
  border-radius: 0.8rem;
  padding: 0.75rem 0.85rem;
  box-shadow: 0 10px 24px rgba(15,45,92,.25);
  font-size: 0.82rem;
  line-height: 1.45;
  font-weight: 700;
  text-align: left;
}

.history-icon-link:hover::before {
  content: "";
  position: absolute;
  z-index: 10000;
  left: 50%;
  bottom: 112%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-top-color: #0F2D5C;
}

/* Cadastros: separação Pessoa/Operacional */
.registration-type-tabs {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.registration-type-badge {
  display: inline-block;
  border-radius: 999px;
  padding: 0.25rem 0.55rem;
  font-size: 0.78rem;
  font-weight: 900;
}

.registration-type-badge.person {
  background: #DBEAFE;
  color: #1E3A8A;
  border: 1px solid #93C5FD;
}

.registration-type-badge.operational {
  background: #F3E8FF;
  color: #581C87;
  border: 1px solid #C084FC;
}

@media (max-width: 768px) {
  .history-icon-link:hover::after {
    left: auto;
    right: 0;
    transform: none;
    width: 270px;
  }

  .registration-type-tabs .btn {
    width: 100%;
  }
}


/* =========================================================
   AcolheMGA v0.65 — Painel dados, limpeza observações e CadÚnico semana
   ========================================================= */

.import-treatment-section .admin-tools-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch;
}

.import-treatment-section .admin-tool-card {
  min-height: 190px;
  display: flex;
  flex-direction: column;
}

.import-treatment-section .admin-tool-card .btn,
.import-treatment-section .admin-tool-card form {
  margin-top: auto;
}

.import-treatment-section .admin-tool-card-wide {
  grid-column: span 3;
  min-height: auto;
  background: linear-gradient(135deg, #F8FBFF 0%, #EEF6FF 100%);
  border-left: 7px solid #2563EB;
}

.cadunico-expanded-agenda {
  margin-top: 1rem;
  border-top: 2px solid #D7ECFF;
  padding-top: 1rem;
}

.cadunico-day-render {
  margin-bottom: 1rem;
}

.cadunico-action-buttons .btn {
  font-weight: 800;
}

@media (max-width: 992px) {
  .import-treatment-section .admin-tools-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .import-treatment-section .admin-tool-card-wide {
    grid-column: span 2;
  }
}

@media (max-width: 768px) {
  .import-treatment-section .admin-tools-grid {
    grid-template-columns: 1fr !important;
  }

  .import-treatment-section .admin-tool-card-wide {
    grid-column: span 1;
  }

  .cadunico-expanded-agenda {
    overflow-x: auto;
  }
}


/* =========================================================
   AcolheMGA v0.66 — tooltip suave, CadÚnico abaixo da tabela, limpeza agressiva
   ========================================================= */

.history-icon-link:hover::after {
  background: #F5F7FA !important;
  color: #2D3748 !important;
  border: 1px solid #D6DCE5 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.08) !important;
  font-weight: 700 !important;
}

.history-icon-link:hover::before {
  border-top-color: #D6DCE5 !important;
}

.cadunico-tools-row-after-table {
  margin-top: 0.75rem !important;
  margin-bottom: 1rem !important;
  background: linear-gradient(135deg, #F8FBFF 0%, #EEF6FF 100%);
  border: 1px solid #D7ECFF;
  border-radius: 1rem;
  padding: 0.9rem;
}

.cadunico-tools-row-after-table .cadunico-action-buttons {
  margin-top: 0.55rem;
}

.cadunico-expanded-agenda {
  clear: both;
  margin-top: 1rem;
  border-top: 2px solid #D7ECFF;
  padding-top: 1rem;
}


/* =========================================================
   AcolheMGA v0.67 — Nome do usuário, colunas CadÚnico e relatórios compactos
   ========================================================= */

/* Nome do usuário: visual mais institucional, sem negrito excessivo */
.inline-agenda-table .col-name input,
.cadunico-table .col-name input,
.inline-agenda-table input[name="name"],
.cadunico-table input[name="name"] {
  font-weight: 500 !important;
  font-size: calc(0.875rem + 1px) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.01em !important;
}

/* Desktop: reduz ainda mais PRONTUÁRIO e transfere o espaço para NOME */
@media (min-width: 769px) {
  .cadunico-table .col-prontuario {
    width: 1.3% !important;
    min-width: 36px !important;
    max-width: 42px !important;
  }

  .cadunico-table .col-prontuario input {
    min-width: 36px !important;
    width: 42px !important;
    padding-left: 0.18rem !important;
    padding-right: 0.18rem !important;
    font-size: 0.75rem !important;
  }

  .cadunico-table .col-name {
    width: 30% !important;
    min-width: 350px !important;
  }

  .cadunico-table .col-name input {
    min-width: 340px !important;
  }
}

/* Relatórios: tabelas mais compactas e sem extrapolar a página */
.institutional-section.two-columns {
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.42fr) !important;
  justify-content: start !important;
  gap: 1rem !important;
}

.institutional-table,
.rma-official-table {
  width: 60% !important;
  max-width: 760px !important;
  table-layout: fixed !important;
}

.institutional-section.two-columns .institutional-table {
  width: 100% !important;
  max-width: 100% !important;
}

.institutional-table th,
.institutional-table td {
  padding: 0.38rem 0.48rem !important;
  font-size: 0.82rem !important;
}

.institutional-table .value-cell {
  width: 58px !important;
  max-width: 58px !important;
  font-size: 0.9rem !important;
}

.rma-official-table .value-cell {
  width: 70px !important;
  max-width: 70px !important;
}

/* Painel: tenta encaixar a área de cadastros operacionais no espaço livre da seção */
.import-treatment-section .admin-tools-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.import-treatment-section .admin-tool-card.operational-card {
  grid-column: auto !important;
  background: linear-gradient(135deg, #F8FBFF 0%, #F3E8FF 100%);
  border-left: 7px solid #7C3AED;
}

@media (max-width: 768px) {
  .institutional-section.two-columns {
    grid-template-columns: 1fr !important;
  }

  .institutional-table,
  .rma-official-table {
    width: 100% !important;
    max-width: 100% !important;
  }

  .institutional-table th,
  .institutional-table td {
    font-size: 0.94rem !important;
  }

  .cadunico-table .col-name input,
  .inline-agenda-table .col-name input {
    font-size: 0.95rem !important;
  }
}


/* =========================================================
   AcolheMGA v0.67a — correções visuais e primeiro acesso
   ========================================================= */

/* Corrige exagero da v0.67: prontuário utilizável e nome mais largo */
@media (min-width: 769px) {
  .cadunico-table .col-prontuario {
    width: 5.5% !important;
    min-width: 82px !important;
    max-width: 105px !important;
  }

  .cadunico-table .col-prontuario input {
    min-width: 76px !important;
    width: 90px !important;
    padding-left: 0.35rem !important;
    padding-right: 0.35rem !important;
    font-size: 0.82rem !important;
  }

  .cadunico-table .col-name {
    width: 28% !important;
    min-width: 330px !important;
  }

  .cadunico-table .col-name input {
    min-width: 320px !important;
  }
}

/* Nome do usuário: mantém maiúsculo, porém menos pesado e 1px menor */
.inline-agenda-table .col-name input,
.cadunico-table .col-name input,
.inline-agenda-table input[name="name"],
.cadunico-table input[name="name"] {
  font-weight: 400 !important;
  font-size: 0.875rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.005em !important;
}

/* Títulos das agendas 1px menores, retornando próximo ao padrão antigo */
.agenda-section-title,
.cadunico-module .agenda-section-title.tech-default {
  font-size: calc(1rem - 1px) !important;
  font-weight: 800 !important;
}

/* Relatórios: corrige quebra e extrapolação */
.institutional-section {
  overflow-x: auto !important;
}

.institutional-section.two-columns {
  grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr) !important;
  gap: 1rem !important;
}

.report-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.institutional-table,
.rma-official-table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

.institutional-table th,
.institutional-table td {
  padding: 0.48rem 0.55rem !important;
  font-size: 0.88rem !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.institutional-table .value-cell {
  width: 76px !important;
  max-width: 76px !important;
  min-width: 76px !important;
  text-align: center !important;
  font-weight: 900 !important;
}

.rma-block-2-table .rma-code-col,
.rma-block-2-table .rma-code-cell {
  width: 72px !important;
  max-width: 72px !important;
  text-align: center !important;
  font-weight: 900 !important;
  color: #0F2D5C !important;
}

.institutional-section-subtitle {
  color: #64748B;
  font-weight: 800;
  margin: -0.25rem 0 0.8rem;
  font-size: 0.92rem;
}

/* Login com olho de senha */
.password-eye-wrap {
  position: relative;
}

.password-eye-wrap .form-control {
  padding-right: 3rem;
}

.password-eye-btn {
  position: absolute;
  right: 0.45rem;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  font-size: 1.05rem;
  cursor: pointer;
  opacity: 0.72;
}

.password-eye-btn.active,
.password-eye-btn:hover {
  opacity: 1;
}

/* Primeiro acesso estruturado */
.first-access-card-wide {
  max-width: 920px !important;
  width: min(920px, calc(100% - 2rem)) !important;
}

.first-access-flow {
  display: grid;
  gap: 1rem;
}

.first-access-step {
  background: #FFFFFF;
  border: 1px solid #D7ECFF;
  border-radius: 1rem;
  padding: 1rem;
  box-shadow: 0 6px 16px rgba(15,45,92,.05);
}

.first-access-step h2 {
  color: #0F2D5C;
  font-size: 1.1rem;
  font-weight: 900;
  margin-bottom: 0.65rem;
}

.first-access-step h3 {
  color: #0F2D5C;
  font-size: 0.95rem;
  font-weight: 900;
  margin: 0.75rem 0 0.25rem;
}

.first-access-step p {
  color: #334155;
  line-height: 1.65;
  margin-bottom: 0.55rem;
}

.password-change-box {
  background: #F8FBFF;
  border: 1px solid #D7ECFF;
  border-radius: 0.75rem;
  padding: 0.85rem;
  margin-top: 0.65rem;
}

@media (max-width: 768px) {
  .institutional-section.two-columns {
    grid-template-columns: 1fr !important;
  }

  .institutional-table th,
  .institutional-table td {
    font-size: 0.94rem !important;
  }

  .first-access-card-wide {
    width: calc(100% - 1rem) !important;
  }
}


/* =========================================================
   AcolheMGA v0.68 — módulo Visitas Domiciliares e RMA
   ========================================================= */

.visit-intro-box,
.visit-form-card,
.visit-filter-card,
.visit-table-card {
  background: #FFFFFF;
  border: 1px solid #D7ECFF;
  border-radius: 1rem;
  padding: 1rem;
  margin-bottom: 1rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.05);
}

.visit-intro-box {
  background: linear-gradient(135deg, #F8FBFF 0%, #EEF6FF 100%);
}

.visit-intro-box h2,
.visit-form-card h2,
.visit-table-card h2 {
  color: #0F2D5C;
  font-size: 1.05rem;
  font-weight: 900;
  margin-bottom: 0.5rem;
}

.visit-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.visit-summary-card {
  background: linear-gradient(135deg, #F8FBFF 0%, #EEF6FF 100%);
  border: 1px solid #D7ECFF;
  border-left: 7px solid #2563EB;
  border-radius: 1rem;
  padding: 0.85rem;
}

.visit-summary-card span {
  display: block;
  color: #64748B;
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.visit-summary-card strong {
  display: block;
  color: #0F2D5C;
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1;
  margin-top: 0.35rem;
}

.visit-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.visit-form-grid label {
  font-size: 0.78rem;
  color: #0F2D5C;
  font-weight: 900;
  text-transform: uppercase;
}

.visit-span-2 {
  grid-column: span 2;
}

.visit-filter-form {
  display: grid;
  grid-template-columns: 180px 220px 1fr auto;
  gap: 0.75rem;
}

.visit-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.visit-table th {
  background: #0F3D75;
  color: #FFFFFF;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.visit-table td {
  font-size: 0.86rem;
  vertical-align: middle;
}

.visit-status-badge {
  display: inline-block;
  border-radius: 999px;
  padding: 0.25rem 0.55rem;
  font-size: 0.75rem;
  font-weight: 900;
}

.visit-badge-pending { background: #EAF4FF; color: #0F2D5C; border: 1px solid #BFDBFE; }
.visit-badge-progress { background: #FEF3C7; color: #92400E; border: 1px solid #FBBF24; }
.visit-badge-success { background: #DCFCE7; color: #166534; border: 1px solid #86EFAC; }
.visit-badge-warning { background: #FFE4E6; color: #9F1239; border: 1px solid #FDA4AF; }
.visit-badge-info { background: #E0F2FE; color: #075985; border: 1px solid #7DD3FC; }
.visit-badge-danger { background: #FEE2E2; color: #991B1B; border: 1px solid #FCA5A5; }

/* Cor forte para tipo de atendimento Visita Domiciliar na Agenda Técnica */
.type-service-select option[value="Visita Domiciliar"] {
  background: #7F1D1D;
  color: #FFFFFF;
  font-weight: 900;
}

.autosave-row:has(select[name="type_of_service"] option[value="Visita Domiciliar"]:checked) input[name="name"],
.autosave-row:has(select[name="type_of_service"] option[value="Visita Domiciliar"]:checked) .type-service-select {
  border-color: #DC2626 !important;
  background: #FEF2F2 !important;
}

@media (max-width: 992px) {
  .visit-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .visit-filter-form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .visit-form-grid {
    grid-template-columns: 1fr;
  }

  .visit-span-2 {
    grid-column: span 1;
  }
}


/* =========================================================
   AcolheMGA v0.69b — rollback seguro de Visitas e Relatórios
   ========================================================= */

/* Esta versão remove os overrides agressivos de tabelas das versões 0.68a-0.69a.
   Visitas e Relatórios voltam à estrutura da v0.68. */
.visit-table-wrap,
.institutional-section {
  max-width: 100%;
}

.visit-table-wrap {
  overflow-x: auto;
}


/* =========================================================
   AcolheMGA v0.70 — CadÚnico sem container, relatórios 48% e visitas padrão planilha
   ========================================================= */

/* Agenda Cadastro Único: remove o efeito de card/container na página inicial sem afetar tabelas internas. */
.cadunico-main-title {
  margin-top: 1.25rem !important;
}

.cadunico-tools-row-after-table {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Relatórios: escopo restrito para impedir que tabelas ultrapassem a tela. */
.reports-page .institutional-section {
  overflow-x: hidden !important;
}

.reports-page .institutional-section.two-columns {
  grid-template-columns: minmax(0, 48%) minmax(0, 48%) !important;
  justify-content: space-between !important;
  gap: 1rem !important;
}

.reports-page .institutional-section:not(.two-columns) > .institutional-table,
.reports-page .institutional-section:not(.two-columns) > .report-table-wrap {
  width: 48% !important;
  max-width: 48% !important;
}

.reports-page .institutional-section.two-columns .institutional-table {
  width: 100% !important;
  max-width: 100% !important;
}

.reports-page .report-table-wrap .institutional-table {
  width: 100% !important;
  max-width: 100% !important;
}

.reports-page .institutional-table th,
.reports-page .institutional-table td {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

/* Visitas Domiciliares: largura das colunas baseada na planilha enviada. */
.visit-sheet-form-grid {
  grid-template-columns: 22fr 9fr 34fr 14fr 11fr 10fr auto !important;
  align-items: end;
}

.visit-sheet-form-grid .visit-field-submit {
  min-width: 150px;
}

.visit-table {
  width: 100% !important;
  min-width: 1180px;
  table-layout: fixed;
}

.visit-table .visit-col-name { width: 22% !important; }
.visit-table .visit-col-cpf { width: 9% !important; }
.visit-table .visit-col-address { width: 34% !important; }
.visit-table .visit-col-reason { width: 14% !important; }
.visit-table .visit-col-phone { width: 11% !important; }
.visit-table .visit-col-date { width: 10% !important; }

.visit-table th,
.visit-table td {
  overflow-wrap: anywhere;
  word-break: normal;
}

.visit-table td.visit-col-name,
.visit-table td.visit-col-cpf,
.visit-table td.visit-col-address,
.visit-table td.visit-col-reason,
.visit-table td.visit-col-phone,
.visit-table td.visit-col-date {
  font-weight: 700;
  text-transform: uppercase;
}

@media (max-width: 1200px) {
  .visit-sheet-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  .reports-page .institutional-section.two-columns {
    grid-template-columns: 1fr !important;
  }

  .reports-page .institutional-section:not(.two-columns) > .institutional-table,
  .reports-page .institutional-section:not(.two-columns) > .report-table-wrap,
  .reports-page .institutional-section.two-columns .institutional-table {
    width: 100% !important;
    max-width: 100% !important;
  }

  .reports-page .institutional-section {
    overflow-x: auto !important;
  }

  .visit-sheet-form-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   AcolheMGA v0.70a — Relatórios: tabelas contidas e colunas equilibradas
   Escopo restrito à página .reports-page para evitar efeito global.
   ========================================================= */
.reports-page {
  overflow-x: hidden !important;
}

.reports-page .institutional-section {
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

.reports-page .institutional-section.two-columns {
  display: grid !important;
  grid-template-columns: minmax(0, calc(50% - 0.5rem)) minmax(0, calc(50% - 0.5rem)) !important;
  gap: 1rem !important;
  align-items: start !important;
  max-width: 100% !important;
}

.reports-page .institutional-section.two-columns > div {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.reports-page .institutional-section:not(.two-columns) > .institutional-table,
.reports-page .institutional-section:not(.two-columns) > .report-table-wrap {
  width: min(100%, 760px) !important;
  max-width: 100% !important;
}

.reports-page .institutional-section.two-columns .institutional-table,
.reports-page .report-table-wrap .institutional-table,
.reports-page .institutional-table {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  margin-bottom: 0 !important;
}

.reports-page .report-table-wrap {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

.reports-page .institutional-table th,
.reports-page .institutional-table td {
  padding: 0.42rem 0.5rem !important;
  font-size: 0.84rem !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: auto !important;
  max-width: 0 !important;
}

.reports-page .institutional-table .value-cell,
.reports-page .report-col-total {
  width: 74px !important;
  min-width: 74px !important;
  max-width: 74px !important;
  text-align: center !important;
}

.reports-page .report-col-code,
.reports-page .rma-block-2-table .rma-code-col,
.reports-page .rma-block-2-table .rma-code-cell {
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  text-align: center !important;
}

.reports-page .report-col-label {
  width: auto !important;
}

.reports-page .report-col-indicator {
  width: auto !important;
}

.reports-page .rma-block-2-table td:nth-child(2),
.reports-page .rma-block-2-table th:nth-child(2) {
  max-width: none !important;
}

@media (max-width: 900px) {
  .reports-page {
    overflow-x: auto !important;
  }

  .reports-page .institutional-section.two-columns {
    grid-template-columns: 1fr !important;
  }

  .reports-page .institutional-section:not(.two-columns) > .institutional-table,
  .reports-page .institutional-section:not(.two-columns) > .report-table-wrap {
    width: 100% !important;
  }
}


/* =========================================================
   AcolheMGA v0.70b — Painel admin compacto sem extrapolar largura
   ========================================================= */
.admin-page .content {
  max-width: 100%;
  overflow-x: hidden;
}

.admin-page .admin-grid-top,
.admin-page .admin-grid-bottom {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100%;
  max-width: 100%;
}

.admin-page .admin-grid-bottom {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.admin-page .control-card {
  min-width: 0 !important;
  max-width: 100%;
  overflow: hidden;
}

.admin-page .control-form {
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}

.admin-page .control-table {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  table-layout: auto !important;
}

.admin-page .control-table th,
.admin-page .control-table td {
  width: auto !important;
  max-width: 1px;
  padding: 0.38rem 0.45rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

.admin-page .control-table th:first-child,
.admin-page .control-table td:first-child {
  max-width: 220px;
}

.admin-page .control-table th:nth-child(2),
.admin-page .control-table td:nth-child(2) {
  max-width: 180px;
}

.admin-page .control-table th:nth-child(n+3),
.admin-page .control-table td:nth-child(n+3) {
  max-width: 120px;
}

.admin-page .import-treatment-section .admin-tools-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: 100%;
}

@media (max-width: 1100px) {
  .admin-page .admin-grid-top,
  .admin-page .admin-grid-bottom,
  .admin-page .import-treatment-section .admin-tools-grid {
    grid-template-columns: 1fr !important;
  }
}


/* AcolheMGA v0.70c — ajuste fino CadÚnico e tooltip de histórico */
.cadunico-table .col-name {
  width: 24% !important;
  min-width: 260px !important;
}
.cadunico-table .col-prontuario input {
  min-width: 0 !important;
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}
.history-icon-link:hover::after {
  font-weight: 400 !important;
}

/* AcolheMGA v0.70c — visitas com campos editáveis */
.visit-table .visit-edit-input {
  width: 100% !important;
  min-width: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  padding: 0.25rem 0.35rem !important;
}
.visit-table .visit-edit-input:focus {
  background: #FFFFFF !important;
  border: 1px solid #9EC9F5 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(14,91,173,.10) !important;
}
.visit-table .visit-col-action {
  width: 74px !important;
  min-width: 74px !important;
  text-align: center !important;
}
.visit-table .visit-col-phone {
  min-width: 130px !important;
}
.visit-table .visit-col-date {
  width: 130px !important;
  min-width: 130px !important;
}

.visit-tabs{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.visit-tab{padding:8px 14px;border-radius:8px;background:#f1f5f9;color:#0F3D75;text-decoration:none;font-weight:600;border:1px solid #d9e2ec}.visit-tab.active{background:#0F3D75;color:#fff}

.agenda-cadunico-divider{margin:30px 0 15px;border-top:2px solid #d7ecff;}
.app-footer{font-size:9px!important;}


.agenda-main-divider{border:0;height:2px;background:#d9e6f5;margin:18px 0;}
.visit-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}
.visit-tab{padding:10px 18px;border-radius:12px;font-weight:700;min-width:140px;text-align:center;background:#eef4fb;color:#0F3D75;text-decoration:none}
.visit-tab.active{background:#0F3D75;color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.15)}


/* =========================================================
   AcolheMGA v0.71e — Agenda Cadastro Único + Visitas
   ========================================================= */
.agenda-main-divider{
  border:0 !important;
  height:2px !important;
  background:linear-gradient(90deg, #4FA3FF, rgba(79,163,255,0.05)) !important;
  margin:20px 0 14px 0 !important;
  border-radius:999px !important;
}

.visit-table-header{
  display:flex;
  flex-direction:column;
  gap:.65rem;
  margin-bottom:.8rem;
}

.visit-tabs{
  display:flex;
  gap:.55rem;
  flex-wrap:wrap;
  align-items:center;
  margin:0 0 .6rem 0;
}

.visit-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  padding:10px 18px !important;
  border-radius:14px !important;
  background:#F1F6FC;
  color:#0F3D75 !important;
  text-decoration:none !important;
  font-weight:800 !important;
  min-width:145px;
  text-align:center;
  border:1px solid #CFE0F3;
  box-shadow:0 3px 10px rgba(15,45,92,.08);
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}

.visit-tab:hover{
  transform:translateY(-1px);
  box-shadow:0 5px 14px rgba(15,45,92,.13);
}

.visit-tab.active{
  background:#0F3D75 !important;
  color:#FFFFFF !important;
  border-color:#0F3D75 !important;
  box-shadow:0 6px 16px rgba(15,61,117,.22);
}

.visit-tab strong{
  display:inline-flex;
  min-width:28px;
  height:24px;
  padding:0 .45rem;
  border-radius:999px;
  align-items:center;
  justify-content:center;
  background:rgba(15,61,117,.10);
  font-size:.78rem;
}

.visit-tab.active strong{
  background:rgba(255,255,255,.22);
  color:#FFFFFF;
}

.visit-table-wrap{
  width:100%;
  overflow-x:auto;
}

.visit-table-wide{
  min-width:1900px !important;
  table-layout:fixed !important;
}

.visit-table-wide th{
  font-size:.72rem;
  white-space:nowrap;
  text-transform:uppercase;
}

.visit-table-wide td{
  padding:.32rem !important;
}

.visit-table-wide .visit-edit-input{
  width:100%;
  min-height:32px;
  border:1px solid #D7E2EF;
  border-radius:.45rem;
  padding:.28rem .42rem;
  font-size:.74rem;
  background:#FFFFFF;
}

.visit-table-wide .visit-col-name{width:230px;}
.visit-table-wide .visit-col-cpf{width:126px;}
.visit-table-wide .visit-col-phone{width:120px;}
.visit-table-wide .visit-col-address{width:270px;}
.visit-table-wide .visit-col-reason{width:210px;}
.visit-table-wide .visit-col-responsible{width:150px;}
.visit-table-wide .visit-col-date{width:118px;}
.visit-table-wide .visit-col-status{width:150px;}
.visit-table-wide .visit-col-action{width:82px;}

.history-tooltip-separator{
  border:0;
  border-top:1px solid rgba(255,255,255,.35);
  margin:.35rem 0;
}


/* =========================================================
   AcolheMGA v0.72 — visitas agenda-like, abas coloridas e presença online
   ========================================================= */

.agenda-main-divider{
  border:0;
  height:2px;
  background:linear-gradient(90deg,#4FA3FF,rgba(79,163,255,.08));
  margin:1.25rem 0 1rem 0;
  border-radius:999px;
}

.visit-table-card{
  background:#FFFFFF;
  border:1px solid #D7ECFF;
  border-radius:1rem;
  padding:1rem;
  box-shadow:0 10px 24px rgba(15,45,92,.08);
}

.visit-table-header{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:flex-end;
  gap:1rem;
  margin-bottom:.85rem;
}

.visit-table-header h2{
  margin:0;
  font-size:1.05rem;
  font-weight:800;
  color:#0F2D5C;
}

.visit-tabs,
.visit-tabs-colored{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-bottom:.25rem;
}

.visit-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-width:142px;
  padding:.62rem .95rem;
  border-radius:999px;
  text-decoration:none !important;
  font-size:.82rem;
  font-weight:800;
  border:1px solid transparent;
  box-shadow:0 5px 14px rgba(15,45,92,.10);
  transition:transform .12s ease, box-shadow .12s ease, filter .12s ease;
}

.visit-tab:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(15,45,92,.16);
  filter:brightness(.98);
}

.visit-tab strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:22px;
  padding:0 .35rem;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:inherit;
  font-size:.78rem;
}

.visit-tab-agendadas{
  background:#DFF7E8;
  color:#145C2E !important;
  border-color:#9ED9B2;
}

.visit-tab-tentativas{
  background:#FFE8C7;
  color:#7A3E00 !important;
  border-color:#FFBE76;
}

.visit-tab-concluidas{
  background:#D8ECFF;
  color:#0F3D75 !important;
  border-color:#8DBEFA;
}

.visit-tab-desistencias{
  background:#FFE0E0;
  color:#8A1F1F !important;
  border-color:#EF8E8E;
}

.visit-tab.active{
  color:#FFFFFF !important;
  box-shadow:0 8px 20px rgba(15,45,92,.22);
}

.visit-tab-agendadas.active{background:#1B7F3A;border-color:#1B7F3A;}
.visit-tab-tentativas.active{background:#D87800;border-color:#D87800;}
.visit-tab-concluidas.active{background:#1D4E89;border-color:#1D4E89;}
.visit-tab-desistencias.active{background:#B3261E;border-color:#B3261E;}

.visit-table-wrap{
  width:100%;
  overflow-x:auto;
}

.visit-agenda-like-table{
  min-width:1320px !important;
  table-layout:auto;
}

.visit-agenda-like-table th{
  white-space:nowrap;
  vertical-align:middle;
}

.visit-agenda-like-table td{
  padding:.42rem !important;
  vertical-align:middle;
}

.visit-agenda-like-table input.form-control-sm,
.visit-agenda-like-table select.form-control-sm,
.visit-agenda-like-table .visit-edit-input{
  min-height:34px;
  font-size:.78rem;
}

.visit-agenda-like-table .name-input-wrap{
  display:flex;
  align-items:center;
  gap:.25rem;
  width:100%;
}

.visit-agenda-like-table .name-input-wrap input{
  flex:1 1 auto;
  min-width:210px;
  font-weight:600;
}

.visit-agenda-like-table .history-link-slot{
  width:28px;
  min-width:28px;
  text-align:center;
}

.visit-agenda-like-table .history-icon-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:999px;
  text-decoration:none;
  background:#EAF4FF;
  border:1px solid #BBD9F5;
  font-size:.8rem;
}

.visit-col-name{min-width:260px;}
.visit-col-cpf{min-width:124px;width:9.5%;}
.visit-col-phone{min-width:124px;width:9.5%;}
.visit-col-address{min-width:260px;}
.visit-col-reason{min-width:190px;}
.visit-col-date{min-width:118px;width:8%;}
.visit-col-status{min-width:150px;width:11%;}
.visit-col-action{min-width:138px;width:9%;text-align:center;}

.visit-col-action .btn-sm{
  padding:.25rem .48rem;
  font-size:.72rem;
  font-weight:800;
  margin:.08rem;
}

.visit-finish-btn{
  background:#1D4E89 !important;
  border-color:#1D4E89 !important;
  color:#FFFFFF !important;
}

.visit-save-btn{
  background:#1B7F3A !important;
  border-color:#1B7F3A !important;
  color:#FFFFFF !important;
}

.visit-status-select{
  text-align:center;
  text-align-last:center;
}

.visit-agenda-like-table .status-pill-select{
  width:100%;
  max-width:170px;
}

.online-badge{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-weight:800;
  color:#1B7F3A;
}

.online-dot{
  display:inline-block;
  width:9px;
  height:9px;
  border-radius:999px;
  background:#1B7F3A;
  box-shadow:0 0 0 3px rgba(27,127,58,.14);
}

.last-online-muted{
  color:#607086;
  font-weight:600;
}

@media (max-width: 768px){
  .visit-tab{
    min-width:calc(50% - .35rem);
    padding:.58rem .75rem;
  }

  .visit-table-card{
    padding:.75rem;
  }
}


/* =========================================================
   AcolheMGA v0.72a — correção visual da tabela de visitas
   ========================================================= */
.visit-table-section{
  margin-top: 0.75rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}
.visit-table-section .visit-table-header{
  display: block !important;
  margin: 0 0 0.45rem 0 !important;
  padding: 0 !important;
}
.visit-table-section .visit-table-header h2{
  margin: 0 0 0.45rem 0 !important;
  padding: 0 !important;
  font-size: 0.98rem !important;
  font-weight: 800 !important;
  color: #0F2D5C !important;
}
.visit-table-section .visit-tabs,
.visit-table-section .visit-tabs-colored{
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.42rem !important;
  margin: 0 0 0.7rem 0 !important;
  padding: 0 !important;
}
.visit-table-section .visit-tab{
  min-width: 0 !important;
  padding: 0.38rem 0.78rem !important;
  border-radius: 0.62rem !important;
  font-size: 0.84rem !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 6px rgba(15,45,92,.07) !important;
  text-align: left !important;
  white-space: nowrap !important;
}
.visit-table-section .visit-tab strong{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 1.35rem !important;
  height: 1.35rem !important;
  margin-left: 0.35rem !important;
  padding: 0 0.32rem !important;
  border-radius: 999px !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
}
.visit-table-section .visit-tab.active{
  box-shadow: 0 3px 10px rgba(15,45,92,.16) !important;
}
.visit-table-section .visit-table-wrap{
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow-x: visible !important;
}
.visit-table-section .visit-table,
.visit-table-section table.visit-table{
  margin: 0 !important;
  width: auto !important;
  min-width: 1180px !important;
  table-layout: auto !important;
  border-collapse: collapse !important;
  background: #fff !important;
}
.visit-table-section .visit-table th{
  padding: 0.28rem 0.34rem !important;
  font-size: 0.70rem !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
.visit-table-section .visit-table td{
  padding: 0.22rem 0.32rem !important;
  font-size: 0.74rem !important;
  line-height: 1.12 !important;
  vertical-align: middle !important;
}
.visit-table-section .visit-edit-input,
.visit-table-section .form-control-sm,
.visit-table-section .status-select-pill{
  min-height: 27px !important;
  height: 27px !important;
  padding: 0.15rem 0.32rem !important;
  font-size: 0.74rem !important;
  line-height: 1.1 !important;
  border-radius: 0.28rem !important;
}
.visit-table-section input[type="date"].visit-edit-input{
  min-width: 104px !important;
  max-width: 108px !important;
  padding-left: 0.22rem !important;
  padding-right: 0.12rem !important;
}
.visit-table-section .status-pill-select{
  min-height: 27px !important;
  height: 27px !important;
  max-width: 130px !important;
  padding: 0.06rem 0.34rem !important;
}
.visit-table-section .visit-col-name{min-width: 190px !important; width: 210px !important; max-width: 220px !important;}
.visit-table-section .visit-col-cpf{min-width: 82px !important; width: 88px !important; max-width: 92px !important;}
.visit-table-section .visit-col-phone{min-width: 104px !important; width: 110px !important; max-width: 116px !important;}
.visit-table-section .visit-col-address{min-width: 270px !important; width: 300px !important; max-width: 320px !important;}
.visit-table-section .visit-col-reason{min-width: 130px !important; width: 145px !important; max-width: 160px !important;}
.visit-table-section .visit-col-date{min-width: 104px !important; width: 108px !important; max-width: 112px !important;}
.visit-table-section .visit-col-status{min-width: 135px !important; width: 140px !important; max-width: 150px !important;}
.visit-table-section .visit-col-action{min-width: 86px !important; width: 92px !important; max-width: 96px !important; text-align:center !important;}
.visit-table-section .visit-save-btn,
.visit-table-section .visit-finish-btn{
  padding: 0.22rem 0.48rem !important;
  font-size: 0.70rem !important;
  line-height: 1.05 !important;
  border-radius: 0.28rem !important;
  margin: 0.05rem !important;
}
.visit-table-section .name-input-wrap{
  display: flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
}
.visit-table-section .history-link-slot{
  flex: 0 0 auto !important;
}


/* =========================================================
   AcolheMGA v0.72b — visitas compactas estilo agenda, 99% da tela
   ========================================================= */
.visit-table-section{
  width:99% !important;
  max-width:99% !important;
  margin-left:0 !important;
  margin-right:auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.visit-table-section .visit-table-header{
  display:block !important;
  width:100% !important;
  margin:0 0 .55rem 0 !important;
  padding:0 !important;
}
.visit-table-section .visit-table-header h2{
  margin:0 0 .65rem 0 !important;
  font-size:1.02rem !important;
  font-weight:900 !important;
  color:#0F2D5C !important;
}
.visit-table-section .visit-tabs,
.visit-table-section .visit-tabs-colored{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:.55rem !important;
  margin:0 0 .85rem 0 !important;
  padding:0 !important;
}
.visit-table-section .visit-tab{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.45rem !important;
  min-width:145px !important;
  height:46px !important;
  padding:.62rem 1rem !important;
  border-radius:.75rem !important;
  text-decoration:none !important;
  font-size:.86rem !important;
  line-height:1 !important;
  font-weight:900 !important;
  border:1px solid #CFE0F3 !important;
  box-shadow:0 3px 10px rgba(15,45,92,.08) !important;
  text-align:center !important;
  white-space:nowrap !important;
  transform:none !important;
}
.visit-table-section .visit-tab:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 5px 14px rgba(15,45,92,.13) !important;
}
.visit-table-section .visit-tab strong{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:1.45rem !important;
  height:1.45rem !important;
  padding:0 .38rem !important;
  margin-left:.15rem !important;
  border-radius:999px !important;
  font-size:.74rem !important;
  line-height:1 !important;
  font-weight:900 !important;
  background:rgba(255,255,255,.70) !important;
}
.visit-table-section .visit-tab-agendadas{background:#DFF7E8 !important;color:#145C2E !important;border-color:#9ED9B2 !important;}
.visit-table-section .visit-tab-tentativas{background:#FFE8C7 !important;color:#7A3E00 !important;border-color:#FFBE76 !important;}
.visit-table-section .visit-tab-concluidas{background:#D8ECFF !important;color:#0F3D75 !important;border-color:#8DBEFA !important;}
.visit-table-section .visit-tab-desistencias{background:#FFE0E0 !important;color:#8A1F1F !important;border-color:#EF8E8E !important;}
.visit-table-section .visit-tab-agendadas.active{background:#1B7F3A !important;color:#FFFFFF !important;border-color:#1B7F3A !important;}
.visit-table-section .visit-tab-tentativas.active{background:#D87800 !important;color:#FFFFFF !important;border-color:#D87800 !important;}
.visit-table-section .visit-tab-concluidas.active{background:#1D4E89 !important;color:#FFFFFF !important;border-color:#1D4E89 !important;}
.visit-table-section .visit-tab-desistencias.active{background:#B3261E !important;color:#FFFFFF !important;border-color:#B3261E !important;}
.visit-table-section .visit-table-wrap{
  width:100% !important;
  max-width:none !important;
  overflow-x:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.visit-table-section .visit-table,
.visit-table-section table.visit-table{
  width:100% !important;
  min-width:1320px !important;
  table-layout:auto !important;
  border-collapse:collapse !important;
  margin:0 !important;
  background:#FFFFFF !important;
}
.visit-table-section .visit-table thead.agenda-table-head th,
.visit-table-section .visit-table th{
  background:#0F3D75 !important;
  color:#FFFFFF !important;
  border-color:#0B2E59 !important;
  padding:.34rem .40rem !important;
  font-size:.72rem !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.visit-table-section .visit-table td{
  padding:.26rem .34rem !important;
  font-size:.76rem !important;
  line-height:1.1 !important;
  vertical-align:middle !important;
}
.visit-table-section .visit-edit-input,
.visit-table-section .form-control-sm,
.visit-table-section .status-select-pill{
  min-height:29px !important;
  height:29px !important;
  padding:.18rem .34rem !important;
  font-size:.76rem !important;
  line-height:1.1 !important;
  border-radius:.32rem !important;
  font-weight:700 !important;
}
.visit-table-section .visit-col-name{min-width:250px !important;width:22% !important;}
.visit-table-section .visit-col-cpf{min-width:112px !important;width:8.5% !important;}
.visit-table-section .visit-col-phone{min-width:124px !important;width:9.5% !important;}
.visit-table-section .visit-col-address{min-width:280px !important;width:25% !important;}
.visit-table-section .visit-col-reason{min-width:155px !important;width:13% !important;}
.visit-table-section .visit-col-date{min-width:108px !important;width:8% !important;}
.visit-table-section .visit-col-status{min-width:138px !important;width:10% !important;}
.visit-table-section .visit-col-action{min-width:86px !important;width:7% !important;text-align:center !important;}
.visit-table-section .name-input-wrap{
  display:flex !important;
  align-items:center !important;
  gap:.25rem !important;
}
.visit-table-section .name-input-wrap input{
  flex:1 1 auto !important;
  min-width:0 !important;
  font-weight:800 !important;
}
.visit-table-section .history-link-slot{
  flex:0 0 28px !important;
  width:28px !important;
  min-width:28px !important;
  text-align:center !important;
}
.visit-table-section .history-icon-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:25px !important;
  height:25px !important;
  border-radius:999px !important;
  background:#EAF4FF !important;
  border:1px solid #BBD9F5 !important;
  text-decoration:none !important;
  font-size:.82rem !important;
}
.visit-table-section .visit-col-cpf input{
  background:#E6F7EC !important;
  color:#064E24 !important;
  border-color:#9ED9B2 !important;
  font-family:monospace !important;
  font-weight:900 !important;
}
.visit-table-section .visit-col-phone input{
  background:#EAF4FF !important;
  color:#0F3D75 !important;
  border-color:#9EC9F5 !important;
  font-weight:900 !important;
}
.visit-table-section input[type="date"].visit-edit-input{
  min-width:104px !important;
  max-width:110px !important;
  padding-left:.22rem !important;
  padding-right:.10rem !important;
}
.visit-table-section .status-pill-select{
  width:100% !important;
  max-width:138px !important;
  min-height:29px !important;
  height:29px !important;
  padding:.08rem .35rem !important;
}
.visit-table-section .visit-save-btn{
  display:none !important;
}
.visit-table-section .visit-finish-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#B3261E !important;
  border-color:#8B1D17 !important;
  color:#FFFFFF !important;
  font-weight:900 !important;
  padding:.25rem .50rem !important;
  font-size:.70rem !important;
  line-height:1.05 !important;
  border-radius:.30rem !important;
  margin:0 !important;
}
.visit-table-section .visit-finished-label{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:26px !important;
  padding:.20rem .45rem !important;
  border-radius:.30rem !important;
  background:#DCFCE7 !important;
  color:#166534 !important;
  font-size:.70rem !important;
  font-weight:900 !important;
}

/* =========================================================
   AcolheMGA v0.72c — refinamento visitas estilo agenda
   ========================================================= */
.visit-table-section{
  width:99.5% !important;
  max-width:99.5% !important;
  margin-left:0 !important;
  padding-left:0 !important;
}
.visit-table-section .visit-table-header h2{
  font-size:1.02rem !important;
  font-weight:800 !important;
}
.visit-table-section .visit-tabs,
.visit-table-section .visit-tabs-colored{
  gap:.45rem !important;
  margin-bottom:.70rem !important;
}
.visit-table-section .visit-tab{
  min-width:132px !important;
  height:38px !important;
  padding:.42rem .78rem !important;
  border-radius:.70rem !important;
  font-size:.96rem !important;
  font-weight:700 !important;
  letter-spacing:-.015em !important;
  box-shadow:0 2px 7px rgba(15,45,92,.08) !important;
}
.visit-table-section .visit-tab strong{
  font-size:.72rem !important;
  font-weight:700 !important;
  min-width:1.35rem !important;
  height:1.35rem !important;
}
.visit-table-section .visit-table,
.visit-table-section table.visit-table{
  width:100% !important;
  min-width:1180px !important;
  table-layout:auto !important;
}
.visit-table-section .visit-table th{
  padding:.34rem .42rem !important;
  font-size:.73rem !important;
  font-weight:800 !important;
}
.visit-table-section .visit-table td{
  padding:.28rem .36rem !important;
  font-size:.76rem !important;
  font-weight:600 !important;
}
.visit-table-section .visit-edit-input,
.visit-table-section .form-control-sm,
.visit-table-section .status-select-pill{
  height:31px !important;
  min-height:31px !important;
  font-size:.76rem !important;
  font-weight:600 !important;
  border-radius:.32rem !important;
  box-shadow:none !important;
}
.visit-table-section .visit-col-name{min-width:260px !important;width:24% !important;}
.visit-table-section .visit-col-cpf{min-width:112px !important;width:8.5% !important;}
.visit-table-section .visit-col-phone{min-width:118px !important;width:9% !important;}
.visit-table-section .visit-col-address{min-width:280px !important;width:26% !important;}
.visit-table-section .visit-col-reason{min-width:155px !important;width:14% !important;}
.visit-table-section .visit-col-status{min-width:135px !important;width:10% !important;}
.visit-table-section .visit-col-action{min-width:82px !important;width:6.5% !important;}
.visit-table-section .name-input-wrap{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  gap:.28rem !important;
}
.visit-table-section .name-input-wrap .inline-name-input,
.visit-table-section .name-input-wrap input[name="name"]{
  min-width:0 !important;
  flex:1 1 auto !important;
  font-weight:700 !important;
  color:#0F2D5C !important;
}
.visit-table-section .history-link-slot{
  width:26px !important;
  min-width:26px !important;
  flex:0 0 26px !important;
}
.visit-table-section .history-icon-link{
  width:24px !important;
  height:24px !important;
  font-size:.78rem !important;
  background:#EAF4FF !important;
  border:1px solid #BBD9F5 !important;
  border-radius:999px !important;
}
.visit-table-section .visit-col-cpf input{
  background:#E6F7EC !important;
  color:#145C2E !important;
  border-color:#9ED9B2 !important;
  font-family:'Montserrat', Arial, Helvetica, sans-serif !important;
  font-weight:600 !important;
}
.visit-table-section .visit-col-phone input{
  background:#EAF4FF !important;
  color:#0F3D75 !important;
  border-color:#9EC9F5 !important;
  font-weight:500 !important;
}
.visit-table-section .visit-col-address input,
.visit-table-section .visit-col-reason input{
  font-weight:600 !important;
}
.visit-table-section .status-pill-select{
  min-height:31px !important;
  height:31px !important;
  padding:.08rem .35rem !important;
}
.visit-table-section .visit-finish-btn{
  padding:.25rem .52rem !important;
  font-size:.72rem !important;
  font-weight:800 !important;
}
.visit-autosave-state-inline{
  display:block !important;
  text-align:center !important;
  font-size:.62rem !important;
  margin-top:.12rem !important;
}

/* =========================================================
   AcolheMGA v0.72d — ajustes finais visitas / lupa
   ========================================================= */
.visit-table-section .visit-tabs,
.visit-table-section .visit-tabs-colored{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:.55rem !important;
}
.visit-table-section .visit-tab{
  font-size:1rem !important;
  font-weight:600 !important;
  letter-spacing:-.01em !important;
  height:38px !important;
  min-width:138px !important;
  padding:.42rem .82rem !important;
}
.visit-table-section .visit-tab strong{
  font-weight:700 !important;
  font-size:.72rem !important;
}
.visit-table-section .name-input-wrap{
  display:flex !important;
  align-items:center !important;
  gap:.26rem !important;
  width:100% !important;
  min-width:0 !important;
}
.visit-table-section .name-input-wrap input[name="name"],
.visit-table-section .name-input-wrap .inline-name-input{
  flex:1 1 auto !important;
  min-width:0 !important;
  height:31px !important;
  padding:.24rem .45rem !important;
  font-size:.76rem !important;
  font-weight:600 !important;
  color:#0F2D5C !important;
  background:#FFFFFF !important;
  border:1px solid #BBD9F5 !important;
  border-radius:.32rem !important;
}
.visit-table-section .history-link-slot{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 24px !important;
  width:24px !important;
  min-width:24px !important;
}
.visit-table-section .history-icon-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:23px !important;
  height:23px !important;
  border-radius:999px !important;
  background:#EAF4FF !important;
  border:1px solid #BBD9F5 !important;
  color:#0F2D5C !important;
  text-decoration:none !important;
  font-size:.78rem !important;
  line-height:1 !important;
}
.visit-table-section .visit-col-cpf input{
  background:#E6F7EC !important;
  color:#145C2E !important;
  border-color:#9ED9B2 !important;
  font-weight:600 !important;
}
.visit-table-section .visit-col-phone input{
  background:#EAF4FF !important;
  color:#0F3D75 !important;
  border-color:#9EC9F5 !important;
  font-weight:500 !important;
}
.visit-table-section .visit-table td{
  font-weight:600 !important;
}
.visit-table-section .visit-col-date input[type="date"]{
  font-weight:500 !important;
}


/* =========================================================
   AcolheMGA v0.73 — visitas, cadastros, histórico e painel
   ========================================================= */
.visit-table-section {
  width: 99.4% !important;
  max-width: 99.4vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.visit-table-wide {
  width: 100% !important;
  min-width: 1540px !important;
}
.visit-col-action {
  width: 11.5% !important;
  min-width: 128px !important;
  white-space: nowrap !important;
}
.visit-new-row td {
  background: #F2FAF5 !important;
  border-top: 2px solid #9ED9B2 !important;
}
.visit-new-row .visit-edit-input::placeholder {
  color: #7A8AA0 !important;
  font-weight: 500 !important;
}
.visit-new-row .visit-col-name::before {
  content: "＋";
  color: #1B7F3A;
  font-weight: 800;
  margin-right: 4px;
}
.visit-agenda-like-table .name-input-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
}
.visit-agenda-like-table .history-link-slot {
  flex: 0 0 auto !important;
  min-width: 20px !important;
  text-align: center !important;
}
.visit-finish-btn {
  min-width: 92px !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  padding: 0.28rem 0.55rem !important;
  white-space: nowrap !important;
}
.register-col-name { width: 31% !important; min-width: 340px !important; }
.register-col-notes { width: 16% !important; max-width: 260px !important; }
.register-col-cpf { width: 10% !important; min-width: 120px !important; }
.register-col-phone { width: 10% !important; min-width: 130px !important; }
.register-col-address { width: 24% !important; min-width: 260px !important; }
.register-col-category { width: 9% !important; min-width: 110px !important; }
.history-header-line {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.history-pending-visit-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #CFF4D2;
  color: #145C2E;
  border: 1px solid #8ED49A;
  border-radius: 0.75rem;
  padding: 0.35rem 0.7rem;
  font-size: 0.78rem;
  font-weight: 800;
}
.history-action-divider {
  border-top: 2px solid #D7ECFF !important;
  margin: 1rem 0 !important;
}
.history-external-actions {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
  align-items: center;
}
.admin-name-action-cell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.inline-delete-form {
  margin: 0 !important;
  display: inline-flex !important;
  flex: 0 0 auto;
}
.trash-action-btn {
  border: 0;
  background: transparent;
  color: #B00020;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  padding: 0.15rem 0.25rem;
}
.trash-action-btn:hover {
  transform: scale(1.1);
  filter: saturate(1.4);
}

/* AcolheMGA v0.73e */
.advanced-warning{
  margin:.4rem 0 1rem 0;
  padding:.65rem .85rem;
  border-radius:.65rem;
  background:#fff3cd;
  border:1px solid #ffec99;
  color:#7a4f00;
  font-size:.9rem;
}


/* =========================================================
   AcolheMGA v0.74 — Agenda Moacir e Benefícios Eventuais
   ========================================================= */
.tech-moacir,
.moacir-main-title {
  color:#0F2D5C !important;
  background:linear-gradient(135deg,#EEFDF5 0%,#F8FBFF 100%) !important;
  border:1px solid #B7E4C7 !important;
  border-left:7px solid #2F9E44 !important;
  font-weight:900 !important;
}

.moacir-agenda-module .moacir-table {
  width:100% !important;
}

.moacir-table .col-name {
  min-width:250px !important;
}

.moacir-table .col-service {
  min-width:170px !important;
}

.moacir-table .col-action {
  min-width:82px !important;
}

.add-extra-moacir-btn {
  border:0;
  border-radius:.7rem;
  padding:.42rem .75rem;
  background:#EAF4FF;
  color:#0F3D75;
  font-weight:800;
  box-shadow:0 3px 10px rgba(15,45,92,.08);
}

.add-extra-moacir-btn:hover {
  background:#DDEEFF;
}

.service-vale-transporte {
  background:#DCFCE7 !important;
  color:#166534 !important;
  border-color:#86EFAC !important;
}

.service-cesta {
  background:#FEF3C7 !important;
  color:#92400E !important;
  border-color:#FCD34D !important;
}

.service-identidade {
  background:#E0E7FF !important;
  color:#3730A3 !important;
  border-color:#A5B4FC !important;
}

.service-certidoes {
  background:#F3E8FF !important;
  color:#6B21A8 !important;
  border-color:#D8B4FE !important;
}

.service-condicionalidade {
  background:#FFE4E6 !important;
  color:#9F1239 !important;
  border-color:#FDA4AF !important;
}

.service-demanda {
  background:#E0F2FE !important;
  color:#075985 !important;
  border-color:#7DD3FC !important;
}

.service-orientacao {
  background:#F1F5F9 !important;
  color:#334155 !important;
  border-color:#CBD5E1 !important;
}

.benefits-placeholder-card {
  background:#FFFFFF;
  border:1px solid #D8E4F2;
  border-left:7px solid #2F9E44;
  border-radius:1rem;
  padding:1.2rem;
  box-shadow:0 8px 24px rgba(15,45,92,.08);
  max-width:1180px;
}

.benefits-placeholder-card h2 {
  font-size:1.1rem;
  color:#0F2D5C;
  font-weight:900;
  margin-bottom:.55rem;
}

.benefits-placeholder-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:.85rem;
  margin:1rem 0;
}

.benefits-placeholder-grid div {
  background:#F8FBFF;
  border:1px solid #DDEBFA;
  border-radius:.9rem;
  padding:.85rem;
}

.benefits-placeholder-grid strong {
  display:block;
  color:#0F3D75;
  font-weight:900;
  margin-bottom:.25rem;
}

.benefits-placeholder-grid span {
  display:block;
  color:#334155;
  font-size:.88rem;
}


/* =========================================================
   AcolheMGA v0.74a — ajustes Agenda Moacir
   ========================================================= */
.tech-moacir,
.moacir-main-title {
  color:#FFFFFF !important;
  background:linear-gradient(135deg,#FF1493 0%,#D6007A 100%) !important;
  border:1px solid #B0005D !important;
  border-left:7px solid #8A0048 !important;
  font-weight:900 !important;
  box-shadow:0 6px 16px rgba(255,20,147,.22) !important;
}

.moacir-agenda-module {
  width:100% !important;
  max-width:100% !important;
}

.moacir-agenda-module .moacir-table {
  width:100% !important;
  table-layout:fixed !important;
}

.moacir-table .col-time { width:7.5% !important; }
.moacir-table .col-status { width:12% !important; }
.moacir-table .col-name { width:24% !important; min-width:240px !important; }
.moacir-table .col-cpf { width:13% !important; }
.moacir-table .col-phone { width:13% !important; }
.moacir-table .col-service { width:15% !important; min-width:155px !important; }
.moacir-table .col-observation { width:24% !important; min-width:310px !important; }
.moacir-table .col-action { width:5.5% !important; min-width:68px !important; max-width:74px !important; white-space:nowrap !important; }

.moacir-table .inline-save-btn {
  white-space:nowrap !important;
  font-size:.72rem !important;
  padding:.22rem .42rem !important;
  min-width:54px !important;
}

.moacir-table .autosave-state {
  display:block !important;
  font-size:.62rem !important;
  line-height:1 !important;
  margin-top:1px !important;
}

.add-extra-moacir-btn,
.add-extra-moacir-btn.add-extra-appointment-btn {
  display:block !important;
  width:100% !important;
  border:0 !important;
  border-radius:0 !important;
  background:#111827 !important;
  color:#FFFFFF !important;
  font-size:0.78rem !important;
  font-weight:800 !important;
  text-align:left !important;
  padding:0.45rem 0.85rem !important;
  cursor:pointer !important;
  box-shadow:none !important;
}

.add-extra-moacir-btn:hover,
.add-extra-moacir-btn.add-extra-appointment-btn:hover {
  background:#000000 !important;
  color:#FFFFFF !important;
}

.service-certidoes,
select.service-certidoes {
  background:#FF1493 !important;
  color:#FFFFFF !important;
  border-color:#B0005D !important;
  font-weight:800 !important;
}

.moacir-tools-row-after-table {
  margin-top:.45rem !important;
  margin-bottom:1rem !important;
}

.moacir-action-buttons .btn {
  white-space:nowrap !important;
}


/* =========================================================
   AcolheMGA v0.75 — Benefícios Eventuais + larguras de agendas
   ========================================================= */
.cadunico-table .col-prontuario{
  width:4% !important;
  min-width:54px !important;
  max-width:70px !important;
}
.cadunico-table .col-prontuario input{
  max-width:62px !important;
  padding-left:.25rem !important;
  padding-right:.25rem !important;
  font-size:.72rem !important;
}
.cadunico-table .col-name{
  width:31% !important;
  min-width:310px !important;
}
.cadunico-table .col-name input,
.cadunico-table input[name="name"]{
  min-width:250px !important;
}

.moacir-table .col-action{
  width:3.2% !important;
  min-width:54px !important;
  max-width:58px !important;
  white-space:nowrap !important;
}
.moacir-table .col-name{
  width:31% !important;
  min-width:320px !important;
}
.moacir-table .col-name input,
.moacir-table input[name="name"]{
  min-width:255px !important;
}
.moacir-table .col-observation{
  width:29% !important;
  min-width:360px !important;
}
.moacir-table .inline-save-btn{
  white-space:nowrap !important;
  min-width:48px !important;
  padding:.2rem .32rem !important;
  font-size:.7rem !important;
}

.benefits-content-wide{
  max-width:99% !important;
  width:99% !important;
  margin:0 auto !important;
}
.benefits-main-card{
  width:100%;
  background:#FFFFFF;
  border:1px solid #D8E4F2;
  border-radius:1rem;
  padding:1rem;
  box-shadow:0 8px 24px rgba(15,45,92,.08);
}
.benefits-main-header h2{
  font-size:1.2rem;
  color:#0F2D5C;
  font-weight:900;
  margin-bottom:.35rem;
}
.benefits-main-header p{
  color:#334155;
  margin-bottom:.9rem;
  font-size:.92rem;
}
.benefit-source-grid{
  display:flex;
  gap:.65rem;
  flex-wrap:wrap;
  margin-bottom:1rem;
}
.benefit-source-toggle{
  min-width:160px;
  border:0;
  border-radius:.8rem;
  padding:.8rem 1rem;
  text-align:left;
  background:#0F2D5C;
  color:#FFFFFF;
  box-shadow:0 4px 14px rgba(15,45,92,.16);
  transition:transform .12s ease, filter .12s ease;
}
.benefit-source-toggle:hover,
.benefit-source-toggle.active{
  transform:translateY(-1px);
  filter:brightness(1.08);
}
.benefit-source-name{
  display:block;
  font-size:1rem;
  font-weight:800;
  line-height:1.1;
}
.benefit-source-subtitle{
  display:block;
  font-size:.72rem;
  opacity:.86;
  margin-top:.15rem;
}
.benefit-source-count{
  display:inline-block;
  margin-top:.55rem;
  font-size:.78rem;
  background:rgba(255,255,255,.18);
  border-radius:999px;
  padding:.2rem .55rem;
}
.benefit-source-moacir{background:#0F2D5C !important;}
.benefit-source-ivane{background:#1D4ED8 !important;}
.benefit-source-rosangela{background:#BE185D !important;}
.benefit-source-wesley{background:#047857 !important;}
.benefits-tech-panel{
  margin-top:.85rem;
  border-top:2px solid #E4EEF8;
  padding-top:.85rem;
}
.benefits-tech-panel h3{
  font-size:1rem;
  color:#0F2D5C;
  font-weight:900;
  margin-bottom:.6rem;
}
.benefits-table-wrap{
  width:100%;
  overflow-x:auto;
}
.benefits-concession-table{
  width:100% !important;
  table-layout:fixed !important;
}
.benefits-concession-table th,
.benefits-concession-table td{
  vertical-align:middle !important;
  padding:.34rem .42rem !important;
}
.benefits-concession-table .benefit-col-date{width:9% !important; min-width:95px;}
.benefits-concession-table .benefit-col-name{width:42% !important; min-width:310px;}
.benefits-concession-table .benefit-col-cpf{width:15% !important; min-width:130px;}
.benefits-concession-table .benefit-col-benefit{width:18% !important; min-width:160px;}
.benefits-concession-table .benefit-col-conceded{width:16% !important; min-width:165px;}
.benefit-conceded-actions{
  display:flex;
  gap:.35rem;
  align-items:center;
}
.benefit-conceded-btn{
  border:0;
  border-radius:.55rem;
  padding:.28rem .7rem;
  color:#FFFFFF;
  font-weight:800;
  font-size:.78rem;
  opacity:.46;
  cursor:pointer;
}
.benefit-conceded-btn.active{opacity:1; box-shadow:0 3px 10px rgba(15,45,92,.18);}
.benefit-yes{background:#16A34A;}
.benefit-no{background:#DC2626;}
.benefit-total-row td{
  background:#000000 !important;
  color:#FFFFFF !important;
  font-weight:900 !important;
  text-align:right !important;
  font-size:.9rem !important;
}
.benefits-empty-row td{
  text-align:center;
  color:#64748B;
  font-weight:700;
  padding:.7rem !important;
}


/* =========================================================
   AcolheMGA v0.75a — Benefícios Eventuais por mês/RMA
   ========================================================= */
.benefit-source-moacir,
.tech-moacir,
.moacir-main-title{
  background:#FF1493 !important;
  color:#FFFFFF !important;
  border-color:#B0005D !important;
}

.moacir-table .col-action{
  width:2.4% !important;
  min-width:46px !important;
  max-width:52px !important;
  white-space:nowrap !important;
}
.moacir-table .col-name{
  width:34% !important;
  min-width:350px !important;
}
.moacir-table .col-observation{
  width:30% !important;
  min-width:390px !important;
}
.moacir-table .inline-save-btn{
  min-width:42px !important;
  padding:.18rem .26rem !important;
  font-size:.68rem !important;
}

.benefits-month-filter{
  background:#F8FBFF;
  border:1px solid #D8E4F2;
  border-radius:.9rem;
  padding:.75rem .9rem;
}
.benefits-section-card{
  margin-bottom:1.1rem;
}
.benefits-other-card{
  margin-top:1.1rem;
}
.benefits-concession-table .benefit-col-date{width:8% !important; min-width:92px;}
.benefits-concession-table .benefit-col-name{width:36% !important; min-width:300px;}
.benefits-concession-table .benefit-col-cpf{width:14% !important; min-width:130px;}
.benefits-concession-table .benefit-col-benefit{width:18% !important; min-width:160px;}
.benefits-concession-table .benefit-col-quantity{width:10% !important; min-width:105px; text-align:center;}
.benefits-concession-table .benefit-col-conceded{width:14% !important; min-width:155px;}
.benefit-quantity-input{
  max-width:86px;
  margin:0 auto;
  text-align:center;
  font-weight:800;
}
.benefits-placeholder-card p{
  font-size:.9rem;
}

/* =========================================================
   AcolheMGA v0.76 — Segurança de acesso
   ========================================================= */
.password-reset-card{
  max-width: 520px;
}
.security-card{
  border-left: 5px solid #dc3545;
}
.security-card h2{
  color:#8b1e1e;
}


/* =========================================================
   AcolheMGA v0.77 — Saúde do Sistema e base anonimizada
   ========================================================= */
.health-actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}
.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:18px}
.health-card{background:#fff;border:1px solid #d8e2ef;border-left:7px solid #6c757d;border-radius:14px;padding:14px 16px;box-shadow:0 4px 14px rgba(15,45,92,.08)}
.health-card.health-ok{border-left-color:#198754}.health-card.health-alert{border-left-color:#dc3545}.health-card.health-neutral{border-left-color:#6c757d}
.health-card-title{font-weight:700;color:#183b65;font-size:.86rem;text-transform:uppercase;line-height:1.2}.health-card-value{font-size:2.05rem;font-weight:800;color:#0f3d75;margin:.25rem 0}.health-card.health-alert .health-card-value{color:#b02a37}.health-card.health-ok .health-card-value{color:#146c43}.health-card-hint{font-size:.78rem;color:#5c6b7d;line-height:1.25}
.health-page .agenda-like-table th{font-size:.76rem;white-space:nowrap}.health-page .agenda-like-table td{font-size:.82rem;vertical-align:middle}


/* =========================================================
   AcolheMGA v0.77b — rodapé, privacidade teste e avisos
   ========================================================= */
.advanced-warning.advanced-warning-danger{
  background:#D9534F !important;
  color:#FFFFFF !important;
  border:1px solid #B84541 !important;
  box-shadow:0 6px 14px rgba(217,83,79,.14);
}
.advanced-warning.advanced-warning-danger strong{color:#FFFFFF !important;letter-spacing:.02em;}
.admin-health-entry-card{border-left:7px solid #0F3D75 !important;}
.privacy-test-version-box{
  border-left:7px solid #0F3D75 !important;
  background:#F1F7FF !important;
}
.login-body .app-footer,
.first-access-card .app-footer,
.password-reset-card .app-footer{
  margin-top:1rem;
  padding-top:.75rem;
  font-size:9px !important;
  border-top:1px solid #E3ECF7;
}
.footer-links{
  margin-bottom:.25rem;
}
.footer-links a{
  font-weight:700;
}


/* =========================================================
   AcolheMGA v0.78 — Manual, auditoria, painel e benefícios
   ========================================================= */
.manual-document{font-size:1.01rem;}
.manual-section{padding:1.35rem 1.45rem !important; border-radius:16px !important;}
.manual-section h2{font-size:1.28rem !important;}
.manual-section p{font-size:1.01rem !important; line-height:1.62;}
.manual-return-top{text-align:right; margin-top:.65rem; font-size:.88rem; font-weight:700;}
.manual-return-top a{text-decoration:none; color:#0F3D75;}
.manual-return-top a:hover{text-decoration:underline;}
.profile-self-box{background:#F4F8FC; border:1px solid #D7E6F5; border-radius:12px; padding:.75rem .9rem; color:#123;}
.audit-open-full-btn{font-weight:800 !important; box-shadow:0 4px 12px rgba(15,61,117,.18);}
.audit-user-focus-box{background:#EFF7FF; border:1px solid #B9D8F5; border-left:6px solid #0F3D75; border-radius:14px; padding:1rem; margin-bottom:1rem;}
.audit-user-focus-box h2{font-size:1rem; font-weight:800; color:#0F3D75; margin-bottom:.65rem;}
.benefits-section-card[data-benefit-section="certidoes"] .benefits-main-header{border-left:6px solid #ff1493;}
.benefits-section-card[data-benefit-section="identidade_cin"] .benefits-main-header{border-left:6px solid #6f42c1;}
.benefits-section-card[data-benefit-section="auxilio_funeral"] .benefits-main-header{border-left:6px solid #343a40;}


/* =========================================================
   AcolheMGA v0.79 — Central de Pendências + ações por ícone
   ========================================================= */
.central-pendencias-card{
  border-left:6px solid #0F3D75;
}
.central-pendencias-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:.65rem;
}
.central-pendencias-header h2{
  margin:0 0 .3rem 0;
  color:#0F3D75;
  font-weight:800;
}
.central-pendencias-header p{
  margin:0;
  color:#52606D;
}
.central-pendencias-sections{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.central-section{
  background:#FFFFFF;
  border:1px solid #D9E4F2;
  border-radius:16px;
  padding:1rem;
  box-shadow:0 5px 18px rgba(15,61,117,.07);
}
.central-section-heading{
  display:flex;
  flex-direction:column;
  gap:.15rem;
  margin-bottom:.75rem;
}
.central-section-heading h3{
  margin:0;
  color:#123D6C;
  font-weight:800;
  font-size:1.04rem;
}
.central-section-heading span{
  color:#637083;
  font-size:.87rem;
}
.central-section-operacional{border-left:5px solid #D7263D;}
.central-section-integridade{border-left:5px solid #F5A400;}
.central-section-seguranca{border-left:5px solid #0F6CBD;}
.central-items-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
  gap:.75rem;
}
.central-item{
  border-radius:14px;
  border:1px solid #DDE6F2;
  padding:.75rem .85rem;
  min-height:112px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#F8FBFF;
}
.central-item-title{
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  color:#263B52;
}
.central-item-value{
  font-size:1.85rem;
  line-height:1;
  font-weight:900;
  color:#0F3D75;
  margin:.35rem 0;
}
.central-item-hint{
  color:#5F6F82;
  font-size:.78rem;
}
.central-status-ok{
  border-color:#BFE6C9;
  background:#F2FBF5;
}
.central-status-ok .central-item-value{color:#16823A;}
.central-status-warn{
  border-color:#FFE0A3;
  background:#FFF9ED;
}
.central-status-warn .central-item-value{color:#B66B00;}
.central-status-alert{
  border-color:#FFC3CB;
  background:#FFF3F5;
}
.central-status-alert .central-item-value{color:#B51D34;}
.central-status-neutral{
  border-color:#D6DCE5;
  background:#F4F6F8;
}
.central-status-neutral .central-item-value{color:#6B7787;}
.central-pendencias-compact{
  margin-bottom:1.5rem;
}
.central-pendencias-compact .central-items-grid{
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
}
.inline-agenda-table .col-action,
.cadunico-table .col-action,
.moacir-table .col-action{
  white-space:nowrap !important;
  text-align:center !important;
  width:78px !important;
}
.inline-icon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:8px;
  border:1px solid #D4E0EF;
  background:#FFFFFF;
  color:#0F3D75;
  font-size:1rem;
  line-height:1;
  margin:0 2px;
  cursor:pointer;
  box-shadow:0 2px 5px rgba(15,61,117,.10);
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.inline-icon-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 9px rgba(15,61,117,.18);
  background:#F3F8FF;
}
.inline-save-btn{
  color:#0F6B2F !important;
  border-color:#BDE5C8 !important;
}
.inline-delete-btn{
  color:#B42318 !important;
  border-color:#F3B5AE !important;
}
.inline-delete-btn:hover{
  background:#FFF0EF !important;
}
.inline-agenda-table .autosave-state{
  display:block;
  font-size:.62rem;
  margin-top:2px;
  white-space:normal;
}
@media (max-width: 768px){
  .central-pendencias-header{flex-direction:column;}
  .central-items-grid{grid-template-columns:1fr;}
}


/* =========================================================
   AcolheMGA v0.80 — Sistema de unidades
   ========================================================= */
.unit-switch-form{
  display:flex;
  align-items:center;
  gap:.35rem;
  padding:.25rem .4rem;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#fff;
  margin:0 .35rem;
}
.unit-switch-label{font-weight:700;font-size:.78rem;white-space:nowrap;color:#fff;}
.unit-switch-select{
  height:30px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.55);
  background:#fff;
  color:#0F3D75;
  font-size:.78rem;
  font-weight:700;
  padding:0 .6rem;
  max-width:190px;
}
.selected-unit-banner{
  display:flex;
  align-items:center;
  gap:.35rem;
  border-left:5px solid #0F3D75;
  background:#EFF6FF;
  color:#0F2D5C;
  padding:.65rem .85rem;
  border-radius:12px;
  font-size:.9rem;
  margin-bottom:1rem;
}
.selected-unit-banner.test-unit{
  border-left-color:#D63384;
  background:#FFF0F7;
  color:#71123F;
}
.unit-placeholder-card{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  border:1px dashed #9EB9D8;
  background:#F8FBFF;
  border-radius:16px;
  padding:1rem 1.15rem;
  margin:1rem 0 1.5rem;
  box-shadow:0 6px 16px rgba(15,45,92,.06);
}
.unit-placeholder-icon{font-size:2rem;line-height:1;}
.unit-placeholder-card h2{
  margin:0 0 .25rem;
  font-size:1.05rem;
  font-weight:800;
  color:#0F3D75;
}
.unit-placeholder-card p{margin:0 0 .35rem;color:#35506F;}
.unit-placeholder-card span{font-size:.82rem;color:#6B7D90;font-weight:700;}
@media(max-width: 991px){
  .unit-switch-form{margin:.25rem 0;justify-content:flex-start;border-radius:12px;}
  .unit-switch-select{max-width:100%;}
}


/* =========================================================
   AcolheMGA v0.80a — seleção de unidade no login
   ========================================================= */
.login-unit-select{
  border-radius:.75rem !important;
  border:1px solid #BFD5EF !important;
  font-weight:700 !important;
  color:#0F2D5C !important;
  background:#F8FBFF !important;
}
.login-unit-help{
  background:#EAF4FF;
  border:1px solid #D7ECFF;
  color:#0F2D5C;
  border-radius:.75rem;
  padding:.45rem .65rem;
  font-size:.72rem;
  line-height:1.35;
}


/* =========================================================
   AcolheMGA v0.80b — avisos suaves, ícones e benefícios
   ========================================================= */
.advanced-warning.advanced-warning-danger{
  background:#D9534F !important;
  color:#FFFFFF !important;
  border-color:#B84541 !important;
  box-shadow:0 6px 14px rgba(217,83,79,.14) !important;
}
.inline-agenda-table .col-action,
.cadunico-table .col-action,
.moacir-table .col-action{
  width:72px !important;
  min-width:72px !important;
}
.inline-icon-btn{
  width:28px !important;
  height:28px !important;
  border-radius:9px !important;
  border:1px solid transparent !important;
  box-shadow:0 2px 7px rgba(15,61,117,.10) !important;
  padding:0 !important;
}
.inline-save-btn{
  color:#0F7A39 !important;
  background:#EAF8EF !important;
  border-color:#BFE9CB !important;
}
.inline-save-btn:hover{
  background:#DDF3E5 !important;
  box-shadow:0 4px 10px rgba(15,122,57,.18) !important;
}
.inline-delete-btn,
.trash-action-btn{
  color:#C1261B !important;
}
.inline-delete-btn{
  background:#FFF1F0 !important;
  border-color:#F5B8B3 !important;
}
.inline-delete-btn:hover{
  background:#FFE4E1 !important;
  box-shadow:0 4px 10px rgba(193,38,27,.18) !important;
}
.action-svg{
  width:16px;
  height:16px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.action-svg-save path:first-child,
.action-svg-save path:nth-child(2),
.action-svg-save path:nth-child(3){
  fill:none;
}
.trash-action-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:9px;
  background:#FFF1F0 !important;
  border:1px solid #F5B8B3 !important;
  padding:0 !important;
}
.trash-action-btn .action-svg{width:15px;height:15px;}
.password-eye-btn{
  width:34px;
  height:34px;
  right:.35rem !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#0F3D75;
  border-radius:50%;
  background:#F1F7FF !important;
  border:1px solid #C9DDF3 !important;
}
.password-eye-btn:hover,
.password-eye-btn.active{
  background:#DDEEFF !important;
  color:#0A2D59;
}
.password-eye-svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.benefits-deadline-notice{
  border-left:6px solid #0F3D75;
  background:#F1F7FF;
  border-radius:14px;
  padding:.85rem 1rem;
  color:#163A5F;
  margin:0 0 1rem 0;
  font-weight:600;
  box-shadow:0 4px 13px rgba(15,61,117,.08);
}
.benefits-bulk-confirm-box{
  display:flex;
  align-items:center;
  gap:.9rem;
  flex-wrap:wrap;
  margin:1.1rem 0 1.25rem 0;
  padding:1rem;
  border-radius:14px;
  background:#F5FAF7;
  border:1px solid #CDEAD6;
}
.benefits-confirm-all-btn{
  font-weight:800 !important;
  border-radius:10px !important;
}
.benefits-confirm-all-feedback{
  font-weight:800;
  font-size:.9rem;
}


/* =========================================================
   AcolheMGA v0.80c — ícones reais, visitas e fechamento RMA
   ========================================================= */
.inline-icon-btn.inline-save-pretty,
.inline-icon-btn.inline-delete-pretty{
  width:30px !important;
  height:30px !important;
  padding:3px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:8px !important;
  background:#eef6ff !important;
  border:1px solid #b9d8ff !important;
  vertical-align:middle !important;
  margin:0 2px !important;
}
.inline-icon-btn.inline-delete-pretty{
  background:#fff1f1 !important;
  border-color:#ffc5c5 !important;
}
.action-icon-img{
  width:22px !important;
  height:22px !important;
  object-fit:contain !important;
  display:block !important;
}
.inline-save-pretty:hover{background:#ddecff !important; transform:translateY(-1px);}
.inline-delete-pretty:hover{background:#ffe0e0 !important; transform:translateY(-1px);}
.visit-action-icons{
  white-space:nowrap !important;
  min-width:150px !important;
}
.visit-action-icons .visit-finish-btn{
  margin-left:4px !important;
  padding:.24rem .45rem !important;
  font-size:.72rem !important;
}
.benefits-bulk-confirm-top{
  margin:0 0 1rem 0 !important;
  padding:.75rem 1rem !important;
  background:#ecfff2 !important;
  border:1px solid #bfeccc !important;
  border-radius:12px !important;
}
.rma-closure-card{
  border-left:6px solid #0f3d75 !important;
  margin-bottom:1.2rem !important;
}
.rma-closure-card .report-rma-table th,
.rma-closure-card .report-rma-table td{
  font-size:.82rem !important;
}
.benefits-deadline-notice strong:last-child{
  color:#0f3d75;
}


/* =========================================================
   AcolheMGA v0.80d — Benefícios, auditoria e logs
   ========================================================= */
.benefits-deadline-card{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px 20px !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,#fff7df,#ffe9a8) !important;
  border:1px solid #f2c24e !important;
  box-shadow:0 8px 22px rgba(139,95,0,.14) !important;
  color:#4d3300 !important;
  font-size:.98rem;
  line-height:1.45;
}
.benefits-deadline-icon{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:50%;
  background:#b77900;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:1.15rem;
  box-shadow:0 4px 12px rgba(183,121,0,.25);
}
.benefits-rma-final-section{
  margin-top:28px !important;
  padding-top:4px;
}
.audit-log-card-compact .audit-log-header span{
  display:block;
  color:#163b69;
  font-weight:700;
  margin-top:4px;
}
.logs-maintenance-card code{
  color:#0F3D75;
  background:#eef5fc;
  border-radius:5px;
  padding:2px 5px;
}
.logs-maintenance-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.selected-unit-banner.test-unit{
  background:#fff8e5 !important;
  border:1px solid #f0ca67 !important;
  color:#5a3b00 !important;
}


/* =========================================================
   AcolheMGA v0.81 — Concessão de Benefício Eventual
   ========================================================= */
.inline-agenda-table .col-action,
.cadunico-table .col-action,
.moacir-table .col-action{
  width:104px !important;
  min-width:104px !important;
}
.inline-concession-btn{
  background:#EAF5FF !important;
  border-color:#AED3F5 !important;
  color:#095FA6 !important;
  text-decoration:none !important;
}
.inline-concession-btn:hover{background:#DCEFFF !important;transform:translateY(-1px);}
.inline-concession-btn.disabled{opacity:.42;filter:grayscale(1);cursor:not-allowed;pointer-events:none;}
.action-icon-concession-img{width:22px !important;height:22px !important;}
.benefit-col-action{width:72px;text-align:center;white-space:nowrap;}
.benefits-tech-confirm-box{
  display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.4rem 0 .8rem;padding:.75rem .9rem;border-radius:12px;background:#F0FFF5;border:1px solid #BEE8CC;
}
.benefits-tech-confirm-box .btn{font-weight:800;border-radius:10px;}
.benefit-request-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;}
.benefit-request-form-card{background:#fff;border:1px solid #D9E5F3;border-radius:16px;padding:1rem;box-shadow:0 8px 22px rgba(15,61,117,.08);}
.benefit-form-section-title{font-weight:900;color:#0F3D75;text-transform:uppercase;letter-spacing:.04em;margin:1rem 0 .65rem;padding-bottom:.35rem;border-bottom:2px solid #E5EEF8;}
.benefit-rma-confirmation-note{background:#EFFFF4;border-left:5px solid #1B8F43;color:#14562D;padding:.75rem .9rem;border-radius:12px;font-weight:700;}
@media(max-width: 768px){.benefit-request-header{flex-direction:column}.inline-agenda-table .col-action,.cadunico-table .col-action,.moacir-table .col-action{min-width:104px!important}}

/* =========================================================
   AcolheMGA v0.81a — ajustes de concessão, ícones e formulário
   ========================================================= */
.inline-agenda-table .col-action,
.cadunico-table .col-action,
.moacir-table .col-action{
  width:96px !important;
  min-width:96px !important;
  text-align:center !important;
  white-space:nowrap !important;
}
.inline-icon-btn.inline-save-pretty,
.inline-save-btn{
  width:28px !important;
  min-width:28px !important;
  height:28px !important;
  padding:1px !important;
  margin:0 1px !important;
}
.inline-icon-btn.inline-delete-pretty,
.inline-delete-btn{
  width:28px !important;
  min-width:28px !important;
  height:28px !important;
  padding:2px !important;
  margin:0 1px !important;
}
.inline-concession-btn{
  width:28px !important;
  min-width:28px !important;
  height:28px !important;
  padding:2px !important;
  margin:0 1px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:8px !important;
  background:#edf6ff !important;
  border:1px solid #b9d8ff !important;
  box-shadow:0 2px 7px rgba(15,61,117,.10) !important;
  vertical-align:middle !important;
}
.inline-concession-btn[style*="display:none"]{display:none !important;}
.inline-concession-btn.disabled{opacity:.45 !important;filter:grayscale(1) !important;cursor:not-allowed !important;}
.inline-concession-btn:hover{background:#ddecff !important; transform:translateY(-1px);}
.action-icon-img{width:22px !important;height:22px !important;object-fit:contain !important;}
.action-icon-concession-img{width:20px !important;height:20px !important;object-fit:contain !important;}
.action-icon-save-img{width:22px !important;height:22px !important;object-fit:contain !important;}
.action-icon-trash-img{width:22px !important;height:22px !important;object-fit:contain !important;}

.benefit-concession-page{max-width:1400px;margin:0 auto;}
.concession-page-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:1rem;
  padding:1rem 1.15rem;
  border-radius:18px;
  background:linear-gradient(135deg,#f7fbff,#eef6ff);
  border:1px solid #d9e9fb;
  box-shadow:0 8px 20px rgba(15,61,117,.08);
}
.concession-kicker{
  display:inline-block;
  color:#0f3d75;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.76rem;
  margin-bottom:.25rem;
}
.concession-subtitle{margin:0;color:#536577;font-weight:600;}
.concession-print-top{border-radius:12px;font-weight:800;white-space:nowrap;}
.concession-form-card{
  background:#fff;
  border:1px solid #d9e5f3;
  border-radius:18px;
  box-shadow:0 10px 26px rgba(15,61,117,.08);
  padding:1.1rem;
}
.concession-section{
  border:1px solid #e1ecf7;
  border-radius:16px;
  background:#fbfdff;
  padding:1rem;
  margin-bottom:1rem;
}
.concession-section-head{
  display:flex;
  justify-content:space-between;
  gap:.7rem;
  align-items:flex-end;
  padding-bottom:.55rem;
  border-bottom:2px solid #e5eef8;
  margin-bottom:.85rem;
}
.concession-section-head strong{color:#0f3d75;font-weight:900;text-transform:uppercase;letter-spacing:.04em;}
.concession-section-head span{font-size:.82rem;color:#607386;font-weight:600;}
.concession-grid{display:grid;gap:.75rem;align-items:start;}
.concession-grid-user{grid-template-columns:1.05fr 2.4fr 1.25fr;}
.concession-grid-benefit{grid-template-columns:2fr .7fr 1fr 1.5fr;}
.concession-grid-extra{grid-template-columns:repeat(3,1fr);}
.concession-field{font-weight:800;color:#1f334a;font-size:.88rem;margin:0;}
.concession-field input,
.concession-field select,
.concession-field textarea{margin-top:.28rem;border-radius:9px !important;border-color:#cbd8e6 !important;font-weight:600;color:#2d4157;}
.concession-field input:focus,
.concession-field select:focus,
.concession-field textarea:focus{border-color:#1c74bd !important;box-shadow:0 0 0 .15rem rgba(28,116,189,.14) !important;}
.concession-field-name{grid-column:span 1;}
.concession-field-address{grid-column:span 1;}
.concession-field-activity{grid-column:span 1;}
.concession-observation-field{display:block;margin-top:.75rem;}
.cep-help{display:block;color:#2470a8;font-weight:600;margin-top:.25rem;font-size:.72rem;}
.cep-loading{background-image:linear-gradient(90deg,#fff,#eaf6ff,#fff) !important;background-size:200% 100% !important;animation:cepLoading 1.1s infinite linear;}
@keyframes cepLoading{0%{background-position:200% 0}100%{background-position:-200% 0}}
.concession-rma-note{
  background:#ecfff4;
  border-left:6px solid #16833b;
  color:#0b5b2b;
  border-radius:14px;
  padding:.85rem 1rem;
  font-weight:800;
  margin:.4rem 0 1rem;
}
.concession-actions{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;}
.concession-actions .btn{border-radius:12px !important;font-weight:800 !important;}
.concession-alert{border-radius:13px;font-weight:700;}
@media(max-width: 980px){
  .concession-page-header{flex-direction:column;}
  .concession-grid-user,.concession-grid-benefit,.concession-grid-extra{grid-template-columns:1fr;}
  .concession-section-head{flex-direction:column;align-items:flex-start;}
}

/* =========================================================
   AcolheMGA v0.81d — visitas, ícones e menu superior
   ========================================================= */
.inline-icon-btn.inline-save-pretty,
.inline-save-btn,
.inline-icon-btn.inline-delete-pretty,
.inline-delete-btn,
.trash-action-btn,
.inline-concession-btn,
.visit-finish-icon-btn{
  width:31px !important;
  min-width:31px !important;
  height:31px !important;
  padding:3px !important;
  border-radius:9px !important;
  margin:0 2px !important;
}
.inline-icon-btn.inline-save-pretty,
.inline-save-btn,
.inline-concession-btn{
  background:#d9ecff !important;
  border-color:#8fc4ff !important;
  box-shadow:0 3px 8px rgba(7,77,145,.15) !important;
}
.inline-icon-btn.inline-save-pretty:hover,
.inline-save-btn:hover,
.inline-concession-btn:hover{
  background:#c9e3ff !important;
  border-color:#73b4fa !important;
}
.inline-icon-btn.inline-delete-pretty,
.inline-delete-btn,
.trash-action-btn{
  background:#ffe3e3 !important;
  border-color:#ff9e9e !important;
  box-shadow:0 3px 8px rgba(184,19,19,.14) !important;
}
.inline-icon-btn.inline-delete-pretty:hover,
.inline-delete-btn:hover,
.trash-action-btn:hover{
  background:#ffd2d2 !important;
  border-color:#ff8585 !important;
}
.visit-finish-icon-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#dff5e7 !important;
  border:1px solid #78c996 !important;
  box-shadow:0 3px 8px rgba(23,128,61,.14) !important;
  vertical-align:middle !important;
}
.visit-finish-icon-btn:hover{
  background:#ccefd9 !important;
  border-color:#56b977 !important;
  transform:translateY(-1px);
}
.action-icon-img,
.action-icon-save-img,
.action-icon-trash-img,
.action-icon-concession-img,
.action-icon-finish-img{
  width:22px !important;
  height:22px !important;
  object-fit:contain !important;
  display:block !important;
}
.action-icon-concession-img{width:20px !important;height:20px !important;}
.visit-action-icons{
  white-space:nowrap !important;
  min-width:116px !important;
}
.visit-action-icons .autosave-state{
  display:block;
  margin-top:3px;
  font-size:.68rem;
}
.visit-intro-professional{
  border-left:6px solid #0f3d75 !important;
  background:linear-gradient(135deg,#f6fbff,#eef6ff) !important;
  border-radius:16px !important;
  padding:1rem 1.15rem !important;
  box-shadow:0 7px 18px rgba(15,61,117,.08) !important;
}
.visit-intro-professional h2{
  color:#0f3d75 !important;
  font-weight:900 !important;
  letter-spacing:.01em;
}
.visit-intro-professional p{
  margin-bottom:0 !important;
  color:#254765 !important;
  font-weight:600 !important;
  line-height:1.5 !important;
}
.logout-power-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:.28rem .45rem !important;
}
.logout-power-icon{
  width:25px !important;
  height:25px !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 2px 4px rgba(200,0,0,.25));
}
.logout-power-link:hover .logout-power-icon{
  transform:translateY(-1px) scale(1.04);
}


/* v0.81e - Visitas com abas AJAX */
.visit-ajax-table-container{
  position:relative;
  transition:opacity .18s ease, filter .18s ease;
}
.visit-ajax-table-container.visit-ajax-loading{
  opacity:.58;
  filter:saturate(.75);
  pointer-events:none;
}
.visit-tabs .visit-tab{
  cursor:pointer;
}


/* =========================================================
   AcolheMGA v0.81f — correção Educador Social e botões finais
   ========================================================= */
.navbar-nav .logout-power-link,
.navbar-nav .logout-power-link:hover,
.navbar-nav .logout-power-link.active{
  background-color:transparent !important;
  box-shadow:none !important;
}
.logout-power-link{
  border:none !important;
  background:transparent !important;
}
.logout-power-icon{
  width:25px !important;
  height:25px !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 2px 4px rgba(200,0,0,.22)) !important;
}
.visit-finish-icon-btn,
.visit-action-icons .visit-finish-icon-btn{
  background:#1FA64A !important;
  border:1px solid #12803A !important;
  box-shadow:0 3px 9px rgba(18,128,58,.26) !important;
}
.visit-finish-icon-btn:hover,
.visit-action-icons .visit-finish-icon-btn:hover{
  background:#168A3E !important;
  border-color:#0E6F32 !important;
}
.action-icon-finish-img{
  width:20px !important;
  height:20px !important;
  object-fit:contain !important;
  filter:none !important;
}
.moacir-agenda-module,
.educator-social-agenda-module{
  display:block !important;
  clear:both !important;
}
.moacir-table .col-action{
  min-width:108px !important;
}

/* v0.81g - carregamento sob demanda da agenda técnica expandida */
.agenda-loading-inline {
    margin: 12px 0 18px;
    padding: 12px 16px;
    border: 1px solid #cfe2ff;
    border-left: 5px solid #14549c;
    background: #eef6ff;
    color: #123f73;
    border-radius: 10px;
    font-weight: 700;
}
