/* 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-color-purple,
.agenda-section-title.tech-color-purple {
  color: #1D4E89 !important;
}

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

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

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

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

.agenda-section-title.tech-color-green {
  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;
}

/* Tema técnico roxo */
.tech-color-purple,
.agenda-section-title.tech-color-purple {
  color: #581C87 !important;
}

.agenda-section-title.tech-color-purple {
  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 Educador Social e Benefícios Eventuais
   ========================================================= */
.tech-color-teal,
.educator-social-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;
}

.educator-social-agenda-module .educator-social-table {
  width:100% !important;
}

.educator-social-table .col-name {
  min-width:250px !important;
}

.educator-social-table .col-service {
  min-width:170px !important;
}

.educator-social-table .col-action {
  min-width:82px !important;
}

.add-extra-educator-social-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-educator-social-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 Educador Social
   ========================================================= */
.tech-color-teal,
.educator-social-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;
}

.educator-social-agenda-module {
  width:100% !important;
  max-width:100% !important;
}

.educator-social-agenda-module .educator-social-table {
  width:100% !important;
  table-layout:fixed !important;
}

.educator-social-table .col-time { width:7.5% !important; }
.educator-social-table .col-status { width:12% !important; }
.educator-social-table .col-name { width:24% !important; min-width:240px !important; }
.educator-social-table .col-cpf { width:13% !important; }
.educator-social-table .col-phone { width:13% !important; }
.educator-social-table .col-service { width:15% !important; min-width:155px !important; }
.educator-social-table .col-observation { width:24% !important; min-width:310px !important; }
.educator-social-table .col-action { width:5.5% !important; min-width:68px !important; max-width:74px !important; white-space:nowrap !important; }

.educator-social-table .inline-save-btn {
  white-space:nowrap !important;
  font-size:.72rem !important;
  padding:.22rem .42rem !important;
  min-width:54px !important;
}

.educator-social-table .autosave-state {
  display:block !important;
  font-size:.62rem !important;
  line-height:1 !important;
  margin-top:1px !important;
}

.add-extra-educator-social-btn,
.add-extra-educator-social-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-educator-social-btn:hover,
.add-extra-educator-social-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;
}

.educator-social-tools-row-after-table {
  margin-top:.45rem !important;
  margin-bottom:1rem !important;
}

.educator-social-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;
}

.educator-social-table .col-action{
  width:3.2% !important;
  min-width:54px !important;
  max-width:58px !important;
  white-space:nowrap !important;
}
.educator-social-table .col-name{
  width:31% !important;
  min-width:320px !important;
}
.educator-social-table .col-name input,
.educator-social-table input[name="name"]{
  min-width:255px !important;
}
.educator-social-table .col-observation{
  width:29% !important;
  min-width:360px !important;
}
.educator-social-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-teal{background:#0F2D5C !important;}
.benefit-source-blue{background:#1D4ED8 !important;}
.benefit-source-pink{background:#BE185D !important;}
.benefit-source-green{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-teal,
.tech-color-teal,
.educator-social-main-title{
  background:#FF1493 !important;
  color:#FFFFFF !important;
  border-color:#B0005D !important;
}

.educator-social-table .col-action{
  width:2.4% !important;
  min-width:46px !important;
  max-width:52px !important;
  white-space:nowrap !important;
}
.educator-social-table .col-name{
  width:34% !important;
  min-width:350px !important;
}
.educator-social-table .col-observation{
  width:30% !important;
  min-width:390px !important;
}
.educator-social-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,
.educator-social-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,
.educator-social-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,
.educator-social-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,.educator-social-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,
.educator-social-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;
}
.educator-social-agenda-module,
.educator-social-agenda-module{
  display:block !important;
  clear:both !important;
}
.educator-social-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;
}


/* =========================================================
   AcolheMGA v0.82 LTS — estabilidade visual, mobile e CadÚnico
   ========================================================= */
.login-unit-help{display:none !important;}
.selected-unit-banner{font-size:95% !important;}

/* Unidade principal abreviada visualmente para produção/piloto. */
.unit-switch-label{font-size:.82rem !important;}
.unit-switch-select{font-weight:900 !important;}

/* CadÚnico: status com cores específicas. */
.status-prioridade{
  background:#DC2626 !important;
  color:#FFFFFF !important;
  border-color:#991B1B !important;
  box-shadow:inset 6px 0 0 #7F1D1D, 0 3px 10px rgba(220,38,38,.20) !important;
}
.status-sem-documentacao{
  background:#111827 !important;
  color:#FFFFFF !important;
  border-color:#000000 !important;
  box-shadow:inset 6px 0 0 #000000, 0 3px 10px rgba(0,0,0,.18) !important;
}
.status-marcado-visita{
  background:#E0F2FE !important;
  color:#075985 !important;
  border-color:#0284C7 !important;
  box-shadow:inset 6px 0 0 #0284C7 !important;
}
.status-encaixe{
  background:#FEF3C7 !important;
  color:#92400E !important;
  border-color:#F59E0B !important;
  box-shadow:inset 6px 0 0 #D97706 !important;
}
.status-reagendado{
  background:#F3E8FF !important;
  color:#6B21A8 !important;
  border-color:#A855F7 !important;
  box-shadow:inset 6px 0 0 #7E22CE !important;
}
.status-pill-select.status-prioridade select,
.status-pill-select.status-sem-documentacao select,
.status-pill-select.status-marcado-visita select,
.status-pill-select.status-encaixe select,
.status-pill-select.status-reagendado select{
  color:inherit !important;
  font-weight:900 !important;
}
.status-pill-select.status-sem-documentacao select,
.status-pill-select.status-prioridade select{
  color:#FFFFFF !important;
}

/* Desktop: coluna Prontuário do CadÚnico menor, como solicitado. */
@media (min-width: 769px){
  .cadunico-table .col-prontuario{
    width:2.7% !important;
    min-width:42px !important;
    max-width:52px !important;
  }
  .cadunico-table .col-prontuario input{
    width:44px !important;
    max-width:44px !important;
    min-width:44px !important;
    padding-left:.18rem !important;
    padding-right:.18rem !important;
    font-size:.68rem !important;
  }
}

/* Mobile: ajustes finos das colunas conforme prints. */
@media (max-width: 768px){
  .inline-agenda-table:not(.cadunico-table):not(.educator-social-table) .col-time{
    width:6.65% !important;
    min-width:80px !important;
    max-width:88px !important;
  }
  .cadunico-table .col-time{
    width:6.65% !important;
    min-width:80px !important;
    max-width:88px !important;
  }
  .educator-social-table .col-time{
    width:7.9% !important;
    min-width:94px !important;
  }
  .educator-social-table .col-status{
    width:13.2% !important;
    min-width:148px !important;
  }
  .educator-social-table .col-service{
    width:15.8% !important;
    min-width:182px !important;
  }
  .educator-social-table .col-observation{
    width:22.8% !important;
    min-width:295px !important;
  }
  .educator-social-table .col-action{
    min-width:112px !important;
  }
  .educator-social-table .type-service-select,
  .cadunico-table .type-service-select,
  .inline-agenda-table .type-service-select{
    font-size:.82rem !important;
  }
}

/* v0.82a LTS - Lista de últimos benefícios concedidos */
.benefit-stream-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}
.benefit-stream-search {
    padding: 14px 16px;
    border: 1px solid #d9e5f3;
    border-radius: 14px;
    background: #f8fbff;
}
.benefit-stream-summary {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 12px 16px;
}
.benefit-stream-summary strong {
    font-size: 1.8rem;
    color: #0f3f78;
}
.benefit-stream-table th,
.benefit-stream-table td {
    vertical-align: middle;
}
.benefit-stream-col-name { width: 17%; min-width: 170px; }
.benefit-stream-col-cpf { width: 11%; min-width: 118px; }
.benefit-stream-col-date { width: 8%; min-width: 95px; text-align: center; }
.benefit-stream-col-control { width: 16%; min-width: 170px; font-size: 0.82rem; }
.benefit-stream-col-control small { color: #52627a; font-weight: 700; }
.benefit-stream-col-type { width: 13%; min-width: 145px; }
.benefit-stream-col-unit { width: 11%; min-width: 105px; }
.benefit-stream-col-responsible { width: 14%; min-width: 150px; }
.benefit-stream-col-observation { width: 24%; min-width: 260px; }
.benefits-stream-link {
    font-weight: 700;
    border-radius: 10px;
}
@media (max-width: 768px) {
    .benefit-stream-header { display: block; }
    .benefit-stream-header .btn { margin-top: 10px; width: 100%; }
    .benefits-stream-link { margin-left: 0 !important; margin-top: 8px; width: 100%; }
    .benefits-month-filter { align-items: stretch; }
}

/* v0.82f - ajustes de visitas, separadores e primeiro acesso */
.agenda-module-spacer {
    height: 1.35rem;
}
.agenda-between-modules {
    margin-top: 1.8rem !important;
    margin-bottom: 1.15rem !important;
}

.visit-row-moving-tab td {
    background: #fff8d7 !important;
    box-shadow: inset 0 0 0 2px rgba(238, 178, 0, .28);
    transition: background-color .2s ease, box-shadow .2s ease;
}
.visit-table-section .visit-col-action,
.visit-table-section .visit-action-icons {
    width: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
    overflow: visible !important;
    white-space: nowrap !important;
    text-align: center !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
}
.visit-table-section .visit-action-icons .inline-icon-btn,
.visit-table-section .visit-action-icons .visit-finish-icon-btn {
    display: inline-flex !important;
    vertical-align: middle !important;
    margin: 0 2px !important;
    position: relative !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
}
.visit-table-section .visit-action-icons .autosave-state {
    display: block !important;
    width: 100% !important;
    white-space: normal !important;
    margin-top: 4px !important;
    line-height: 1.2 !important;
    text-align: center !important;
}
@media (max-width: 768px) {
    .visit-table-section .visit-col-action,
    .visit-table-section .visit-action-icons {
        width: 128px !important;
        min-width: 128px !important;
        max-width: 128px !important;
    }
    .visit-table-section .visit-action-icons .inline-icon-btn,
    .visit-table-section .visit-action-icons .visit-finish-icon-btn {
        margin: 0 1px !important;
    }
}

.first-access-step .checkbox-line {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 1rem !important;
    line-height: 1.45 !important;
    font-weight: 900 !important;
    color: #123a63 !important;
    padding: 12px 14px !important;
    margin-top: 12px !important;
    border: 2px solid #c6d9ef !important;
    border-radius: 14px !important;
    background: #f4f9ff !important;
}
.first-access-step .checkbox-line input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    margin-top: 2px !important;
    flex: 0 0 auto !important;
    accent-color: #0f6f43;
}

.admin-linked-login-form .admin-form-help,
.admin-form-help {
    grid-column: 1 / -1;
    display: block;
    color: #52687f;
    font-size: .86rem;
    line-height: 1.35;
    margin-top: -4px;
}
.admin-tech-link-fields {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    padding: 12px;
    border: 1px solid #d8e6f5;
    border-radius: 14px;
    background: #f8fbff;
}
.admin-tech-link-fields.hidden {
    display: none !important;
}

/* =========================================================
   AcolheMGA v0.83 — Central do Usuário
   ========================================================= */
.user-center-page {
  max-width: 100% !important;
}
.user-center-topline,
.user-center-section-header,
.user-center-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.user-center-subtitle {
  color: #64748B;
  font-weight: 700;
  font-size: 0.95rem;
}
.user-center-top-actions,
.user-center-hero-actions,
.user-center-edit-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}
.user-center-hero {
  background: linear-gradient(135deg, #0F2D5C 0%, #1D4E89 100%);
  color: #FFFFFF;
  border-radius: 1.1rem;
  padding: 1.1rem 1.25rem;
  box-shadow: 0 12px 26px rgba(15,45,92,.18);
}
.user-center-kicker {
  display: block;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
  opacity: .86;
}
.user-center-name-line {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 0.25rem;
}
.user-center-name-line h2 {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 900;
  color: #FFFFFF;
}
.user-center-hero .history-pending-visit-badge {
  background: #D1FAE5;
  color: #065F46;
  border-color: #6EE7B7;
}
.user-center-hero-actions .btn {
  font-weight: 800;
  border-radius: 0.65rem;
}
.user-center-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 0.75rem;
}
.user-center-summary-card {
  background: #FFFFFF;
  border: 1px solid #D7ECFF;
  border-left: 6px solid #2563EB;
  border-radius: 0.95rem;
  padding: 0.95rem 1rem;
  box-shadow: 0 8px 18px rgba(15,45,92,.06);
}
.user-center-summary-card.primary {
  border-left-color: #0F2D5C;
  background: linear-gradient(135deg, #EAF4FF 0%, #FFFFFF 100%);
}
.user-center-summary-card span {
  display: block;
  color: #64748B;
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .025em;
}
.user-center-summary-card strong {
  display: block;
  color: #0F2D5C;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.05;
  margin: 0.25rem 0;
}
.user-center-summary-card small {
  display: block;
  color: #475569;
  font-weight: 700;
}
.user-center-nav {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  background: #F8FBFF;
  border: 1px solid #D7ECFF;
  border-radius: 0.95rem;
  padding: 0.65rem;
}
.user-center-nav a {
  color: #0F2D5C;
  background: #FFFFFF;
  border: 1px solid #D7ECFF;
  border-radius: 999px;
  padding: 0.42rem 0.8rem;
  font-size: 0.85rem;
  font-weight: 900;
  text-decoration: none;
}
.user-center-nav a:hover {
  color: #FFFFFF;
  background: #0F2D5C;
  text-decoration: none;
}
.user-center-section .institutional-section-title {
  margin-bottom: 0;
}
.user-center-data-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 0.75rem;
  margin-top: 0.75rem;
}
.user-center-data-grid > div,
.user-center-notes {
  background: #F8FBFF;
  border: 1px solid #D7ECFF;
  border-radius: 0.85rem;
  padding: 0.8rem 0.9rem;
}
.user-center-data-grid > div.wide {
  grid-column: span 2;
}
.user-center-data-grid span,
.user-center-notes span {
  display: block;
  color: #64748B;
  font-size: 0.73rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .025em;
  margin-bottom: 0.22rem;
}
.user-center-data-grid strong {
  display: block;
  color: #0F2D5C;
  font-size: 0.98rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.user-center-notes p {
  margin-bottom: 0;
  color: #0F172A;
  font-weight: 600;
  line-height: 1.45;
}
.user-center-safe-note {
  color: #475569;
  font-weight: 700;
  line-height: 1.5;
  margin: 0.7rem 0 0.9rem;
}
.user-center-edit-form {
  background: #F8FBFF;
  border: 1px solid #D7ECFF;
  border-radius: 0.95rem;
  padding: 1rem;
}
.user-center-edit-form label {
  color: #0F2D5C;
  font-weight: 900;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: .025em;
}
.user-center-edit-placeholder {
  margin-top: 0.75rem;
  border: 1px dashed #BBD9F5;
  background: #FFFFFF;
  color: #0F2D5C;
  border-radius: 0.85rem;
  padding: 0.8rem 0.9rem;
  cursor: pointer;
  font-weight: 700;
}
.user-center-alert {
  border-radius: 0.85rem;
  font-weight: 800;
}
.user-center-table-wrap {
  border-radius: 0.9rem;
  border: 1px solid #D7ECFF;
  overflow: auto;
}
.user-center-table {
  margin-bottom: 0 !important;
  min-width: 860px;
}
.user-center-table th,
.user-center-table td {
  vertical-align: middle !important;
}
.register-col-actions {
  width: 10% !important;
  min-width: 170px !important;
  white-space: nowrap !important;
}
.register-col-actions .btn {
  margin: 0.1rem;
  font-weight: 800;
}
@media (max-width: 768px) {
  .user-center-page {
    padding-left: 0.65rem !important;
    padding-right: 0.65rem !important;
  }
  .user-center-hero,
  .user-center-topline,
  .user-center-section-header {
    display: block;
  }
  .user-center-top-actions,
  .user-center-hero-actions {
    margin-top: 0.75rem;
  }
  .user-center-hero-actions .btn,
  .user-center-top-actions .btn {
    width: 100%;
  }
  .user-center-data-grid > div.wide {
    grid-column: auto;
  }
  .user-center-name-line h2 {
    font-size: 1.18rem;
  }
  .user-center-summary-card strong {
    font-size: 1.45rem;
  }
}

/* =========================================================
   AcolheMGA v0.83a — edição segura, relatos confidenciais e alerta aguardando
   ========================================================= */
.user-center-confirm-box{
  border:1px solid #BFD5EF;
  background:#FFFFFF;
  border-radius:.85rem;
  padding:.75rem .85rem;
  color:#0F2D5C;
  font-weight:800;
  line-height:1.35;
}
.user-center-confirm-box.compact{
  display:flex;
  align-items:flex-end;
  padding:.85rem;
  margin-top:1.75rem;
}
.user-center-confirm-box input{
  margin-right:.35rem;
  transform:translateY(1px);
}
.user-center-confidential-section{
  border-left:6px solid #7C3AED !important;
}
.user-confidential-list{
  display:grid;
  grid-template-columns:1fr;
  gap:.7rem;
}
.user-confidential-card{
  position:relative;
  background:#FFFFFF;
  border:1px solid #DDD6FE;
  border-left:6px solid #7C3AED;
  border-radius:.95rem;
  padding:.9rem 1rem;
  box-shadow:0 8px 18px rgba(76,29,149,.07);
}
.user-confidential-card.sealed{
  border-left-color:#B91C1C;
  background:#FFF7F7;
}
.user-confidential-meta{
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
  margin-bottom:.5rem;
}
.user-confidential-meta strong{
  color:#3B0764;
  font-weight:900;
}
.user-confidential-meta span{
  color:#64748B;
  font-size:.78rem;
  font-weight:800;
}
.user-confidential-card p{
  margin:0;
  color:#172033;
  font-weight:650;
  line-height:1.45;
  white-space:normal;
}
.confidential-sealed-badge{
  display:inline-flex;
  margin-top:.6rem;
  padding:.25rem .55rem;
  border-radius:999px;
  background:#FEE2E2;
  color:#991B1B;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}
.waiting-alert-toast-container{
  position:fixed;
  right:16px;
  top:86px;
  z-index:99999;
  display:flex;
  flex-direction:column;
  gap:.7rem;
  width:min(360px, calc(100vw - 28px));
  pointer-events:none;
}
.waiting-alert-toast{
  position:relative;
  opacity:0;
  transform:translateY(-10px) scale(.98);
  pointer-events:auto;
  background:linear-gradient(135deg, #0F2D5C 0%, #17477F 100%);
  color:#FFFFFF;
  border-radius:1rem;
  padding:1rem 1rem .95rem;
  box-shadow:0 16px 38px rgba(15,45,92,.26);
  border:1px solid rgba(255,255,255,.22);
  transition:opacity .24s ease, transform .24s ease;
}
.waiting-alert-toast.show{
  opacity:1;
  transform:translateY(0) scale(1);
}
.waiting-alert-kicker{
  display:inline-flex;
  align-items:center;
  padding:.18rem .55rem;
  border-radius:999px;
  background:#FFD54A;
  color:#4A3400;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.04em;
  margin-bottom:.45rem;
}
.waiting-alert-toast strong{
  display:block;
  font-size:1.04rem;
  line-height:1.2;
  font-weight:950;
  margin-right:1.6rem;
}
.waiting-alert-line{
  font-size:.86rem;
  font-weight:700;
  margin-top:.25rem;
  color:#EAF4FF;
}
.waiting-alert-line span{
  color:#FFFFFF;
  font-weight:950;
}
.waiting-alert-close{
  position:absolute;
  top:.45rem;
  right:.5rem;
  border:none;
  background:rgba(255,255,255,.14);
  color:#FFFFFF;
  width:28px;
  height:28px;
  border-radius:50%;
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
}
.waiting-alert-close:hover{
  background:rgba(255,255,255,.25);
}
@media(max-width: 768px){
  .waiting-alert-toast-container{
    top:70px;
    right:10px;
    left:10px;
    width:auto;
  }
  .user-center-confirm-box.compact{
    margin-top:0;
  }
}

/* =========================================================
   AcolheMGA v0.83b — cadastro estruturado da Central do Usuário
   ========================================================= */
.user-center-profile-card{
  border-top:6px solid #0F2D5C !important;
  background:linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
}
.user-center-page .btn-outline-primary,
.user-center-page .btn-outline-secondary{
  color:#FFFFFF !important;
  background:#17477F !important;
  border-color:#17477F !important;
  box-shadow:0 7px 16px rgba(23,71,127,.16);
}
.user-center-page .btn-outline-secondary{
  background:#475569 !important;
  border-color:#475569 !important;
}
.user-center-page .btn-primary,
.user-center-strong-button{
  color:#FFFFFF !important;
  background:#0F2D5C !important;
  border-color:#0F2D5C !important;
  font-weight:900 !important;
  box-shadow:0 8px 18px rgba(15,45,92,.18);
}
.user-center-page .btn-success{
  color:#FFFFFF !important;
  background:#047857 !important;
  border-color:#047857 !important;
  font-weight:900 !important;
  box-shadow:0 8px 18px rgba(4,120,87,.18);
}
.user-center-page .btn-info{
  color:#FFFFFF !important;
  background:#0369A1 !important;
  border-color:#0369A1 !important;
  font-weight:900 !important;
}
.user-center-page .btn-danger{
  color:#FFFFFF !important;
  background:#DC2626 !important;
  border-color:#DC2626 !important;
  font-weight:900 !important;
}
.user-center-page .btn-secondary,
.user-center-page .btn-light{
  color:#FFFFFF !important;
  background:#64748B !important;
  border-color:#64748B !important;
  font-weight:900 !important;
}
.user-center-data-grid-structured{
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
}
.user-center-data-grid-structured > div{
  border-left:5px solid #1D4E89;
  box-shadow:0 8px 18px rgba(15,45,92,.045);
}
.user-center-form-group-title{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin:.25rem 0 .8rem;
  padding:.55rem .8rem;
  color:#FFFFFF;
  background:linear-gradient(135deg, #0F2D5C 0%, #1D4E89 100%);
  border-radius:.8rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.03em;
  font-size:.84rem;
}
.user-center-cadastro-form{
  border:2px solid #BFD5EF;
  box-shadow:0 10px 24px rgba(15,45,92,.08);
}
.user-benefits-checkbox-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:.55rem;
  margin-bottom:.75rem;
}
.user-benefit-check{
  display:flex !important;
  align-items:center;
  gap:.45rem;
  margin:0;
  padding:.62rem .72rem;
  border:1px solid #BFD5EF;
  border-radius:.8rem;
  background:#FFFFFF;
  color:#0F2D5C !important;
  font-size:.8rem !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  cursor:pointer;
}
.user-benefit-check input{
  width:18px;
  height:18px;
}
.user-family-section{
  border-left:6px solid #0369A1 !important;
}
.user-family-summary{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:.7rem;
  margin-top:.75rem;
}
.user-family-summary > div{
  background:#EFF6FF;
  border:1px solid #BFD5EF;
  border-radius:.9rem;
  padding:.8rem .95rem;
}
.user-family-summary span{
  display:block;
  color:#475569;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
}
.user-family-summary strong{
  display:block;
  color:#0F2D5C;
  font-size:1.65rem;
  line-height:1;
  font-weight:950;
  margin-top:.25rem;
}
.user-family-list{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:.7rem;
}
.user-family-card{
  background:#FFFFFF;
  border:1px solid #BFD5EF;
  border-left:6px solid #0369A1;
  border-radius:.9rem;
  padding:.8rem .9rem;
  box-shadow:0 8px 18px rgba(3,105,161,.07);
}
.user-family-card strong{
  display:block;
  color:#0F2D5C;
  font-weight:950;
}
.user-family-card span{
  display:block;
  color:#475569;
  font-weight:750;
  margin-top:.15rem;
}
.family-member-row{
  background:#FFFFFF;
  border:1px solid #D7ECFF;
  border-radius:.85rem;
  padding:.75rem .65rem .15rem;
  margin:0 0 .6rem;
}
.family-member-remove-wrap{
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.family-member-remove-wrap .btn{
  min-width:38px;
  min-height:38px;
  border-radius:.65rem;
  font-size:1.35rem;
  line-height:1;
}
.user-audit-section{
  border-left:6px solid #334155 !important;
  background:#F8FAFC !important;
}
@media(max-width: 768px){
  .user-center-data-grid-structured{
    grid-template-columns:1fr;
  }
  .user-benefits-checkbox-grid{
    grid-template-columns:1fr;
  }
  .family-member-remove-wrap{
    align-items:center;
    justify-content:flex-start;
    padding-bottom:.5rem;
  }
}

/* =========================================================
   AcolheMGA v0.83c — ajustes finos da Central e Cadastros
   ========================================================= */
.user-center-topline{
  margin-bottom:.35rem !important;
}
.user-center-hero{
  padding:.85rem 1rem !important;
}
.user-center-name-line{
  margin-top:0 !important;
}
.user-center-profile-card{
  padding:.55rem .75rem !important;
}
.user-center-profile-card .institutional-section-title{
  padding-bottom:.3rem !important;
  margin-bottom:.35rem !important;
}
.user-center-section-header.compact-title-only{
  display:block !important;
}
.user-center-data-grid{
  gap:.5rem !important;
  margin-top:.45rem !important;
}
.user-center-data-grid > div,
.user-center-notes{
  padding:.48rem .62rem !important;
  border-radius:.72rem !important;
}
.user-center-data-grid span,
.user-center-notes span{
  font-size:.68rem !important;
  margin-bottom:.1rem !important;
}
.user-center-data-grid strong{
  font-size:.9rem !important;
}
.user-center-meta-lines{
  margin-top:.5rem;
  padding:.45rem .65rem;
  border:1px solid #D7ECFF;
  border-radius:.75rem;
  background:#FFFFFF;
  color:#475569;
  font-size:.82rem;
  font-weight:700;
  line-height:1.45;
}
.user-center-meta-lines strong{
  color:#0F2D5C;
  font-weight:950;
}
.user-center-benefits-view{
  margin-top:.6rem;
  padding:.62rem .72rem;
  border:1px solid #BFD5EF;
  border-radius:.85rem;
  background:#EFF6FF;
}
.user-center-benefits-view h3{
  margin:0 0 .45rem;
  color:#0F2D5C;
  font-size:.84rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.025em;
}
.user-center-benefit-pills{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.user-center-benefit-pills span{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.25rem .58rem;
  background:#0F2D5C;
  color:#FFFFFF;
  font-size:.76rem;
  font-weight:900;
}
.user-center-bottom-edit{
  display:flex;
  justify-content:flex-end;
  margin-top:.7rem;
}
.user-center-bottom-edit .btn{
  min-width:180px;
}
.registration-search-card,
.registration-empty-state{
  background:#FFFFFF;
  border:1px solid #D7ECFF;
  border-radius:1rem;
  padding:1rem;
  box-shadow:0 8px 18px rgba(15,45,92,.05);
}
.registration-search-form .form-control{
  min-width:min(420px, 100%);
  flex:1 1 320px;
}
.registration-search-hint,
.registration-empty-state p{
  color:#64748B;
  font-weight:700;
  margin-top:.75rem;
}
.registration-empty-state h2{
  color:#0F2D5C;
  font-size:1.05rem;
  font-weight:950;
  margin:0 0 .35rem;
}
.registration-results-wrap{
  border:1px solid #D7ECFF;
  border-radius:.9rem;
  overflow:auto;
  background:#FFFFFF;
}
@media(max-width:768px){
  .user-center-hero{
    padding:.72rem .78rem !important;
  }
  .user-center-profile-card{
    padding:.45rem .55rem !important;
  }
  .user-center-bottom-edit .btn{
    width:100%;
  }
  .registration-search-form{
    display:block !important;
  }
  .registration-search-form .form-control,
  .registration-search-form .btn{
    width:100%;
    margin:.25rem 0 !important;
  }
}

/* =========================================================
   AcolheMGA v0.83d — Central do Usuário e Cadastros refinados
   ========================================================= */
.user-center-profile-modern{
  border-top:0 !important;
  border-left:6px solid #0F2D5C !important;
  background:linear-gradient(135deg,#FFFFFF 0%,#F3F9FF 100%) !important;
  box-shadow:0 10px 26px rgba(15,45,92,.075) !important;
}
.user-center-data-grid-clean > div{
  background:#FFFFFF !important;
  border:1px solid #CDE5FA !important;
  border-left:4px solid #1D4E89 !important;
}
.user-center-info-panels{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:.65rem;
  margin-top:.65rem;
}
.user-center-cadunico-view{
  padding:.62rem .72rem;
  border:1px solid #BFD5EF;
  border-radius:.85rem;
  background:#FFFFFF;
}
.user-center-cadunico-view h3,
.user-center-benefits-view h3{
  margin:0 0 .45rem;
  color:#0F2D5C;
  font-size:.84rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.025em;
}
.user-center-cadunico-view p{
  margin:0 0 .22rem;
  color:#334155;
  font-weight:750;
}
.user-center-cadunico-view p:last-child{margin-bottom:0;}
.user-copy-cadunico,
.user-action-copy-cadunico{
  color:#3B2F00 !important;
  background:#FFD54A !important;
  border-color:#F8C829 !important;
  font-weight:950 !important;
  box-shadow:0 8px 18px rgba(245,158,11,.2);
}
.bpc-active-search-badge,
.bpc-active-search-callout{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  font-weight:950;
}
.bpc-active-search-badge{
  padding:.25rem .65rem;
  background:#FDE68A;
  color:#713F12;
  border:1px solid #F59E0B;
  font-size:.76rem;
  text-transform:uppercase;
}
.bpc-active-search-callout{
  width:100%;
  justify-content:flex-start;
  gap:.55rem;
  padding:.52rem .72rem;
  margin:.35rem 0 .6rem;
  background:#FFFBEB;
  border:1px solid #FCD34D;
  color:#713F12;
}
.bpc-active-search-callout strong{
  padding:.2rem .5rem;
  border-radius:999px;
  color:#FFFFFF;
  background:#B45309;
  white-space:nowrap;
}
.bpc-active-search-callout span{font-weight:800;}
.autosave-status{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:.3rem .68rem;
  border-radius:999px;
  color:#475569;
  background:#F1F5F9;
  border:1px solid #CBD5E1;
  font-size:.78rem;
  font-weight:900;
}
.autosave-status.saving{color:#92400E;background:#FEF3C7;border-color:#FBBF24;}
.autosave-status.saved{color:#065F46;background:#D1FAE5;border-color:#6EE7B7;}
.autosave-status.error{color:#991B1B;background:#FEE2E2;border-color:#FCA5A5;}
.report-reader-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:.5rem;
}
.report-reader-check{
  display:flex !important;
  align-items:center;
  gap:.5rem;
  margin:0;
  padding:.55rem .65rem;
  border:1px solid #DDD6FE;
  border-radius:.8rem;
  background:#FFFFFF;
  color:#3B0764 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-weight:900 !important;
}
.report-reader-check input{width:17px;height:17px;}
.report-reader-check small{
  display:block;
  color:#64748B;
  font-weight:750;
  font-size:.72rem;
}
.user-center-report-section .institutional-section-title::after{content:'';}
.user-family-summary.single{grid-template-columns:minmax(180px,260px);}
.user-family-card span + span{margin-top:.1rem;}
.family-member-row .form-group{margin-bottom:.55rem;}

.registrations-page-modern{max-width:100% !important;}
.registrations-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  padding:1rem 1.15rem;
  border-radius:1.1rem;
  background:linear-gradient(135deg,#0F2D5C 0%,#1D4E89 100%);
  color:#FFFFFF;
  box-shadow:0 14px 30px rgba(15,45,92,.18);
}
.registrations-hero span{
  display:block;
  opacity:.85;
  font-size:.76rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.registrations-hero h1{
  margin:.1rem 0 .25rem;
  color:#FFFFFF;
  font-size:1.55rem;
  font-weight:950;
}
.registrations-hero p{
  margin:0;
  color:#EAF4FF;
  font-weight:750;
}
.registrations-new-button{
  color:#3B2F00 !important;
  background:#FFD54A !important;
  border-color:#FFD54A !important;
  font-weight:950 !important;
  border-radius:.75rem !important;
  box-shadow:0 10px 20px rgba(0,0,0,.12);
}
.registration-search-card-modern{
  border-top:5px solid #1D4E89;
}
.registration-new-card{
  border:1px solid #BFD5EF;
  border-radius:1rem;
  box-shadow:0 10px 24px rgba(15,45,92,.07);
  overflow:hidden;
}
.registration-new-card .card-header{
  color:#FFFFFF;
  background:#0F2D5C;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.registration-new-card label{
  color:#0F2D5C;
  font-size:.8rem;
  font-weight:900;
  text-transform:uppercase;
}
.registration-results-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  margin:.3rem 0 .8rem;
}
.registration-results-header h2{
  margin:0;
  color:#0F2D5C;
  font-size:1.15rem;
  font-weight:950;
}
.registration-results-header span{
  display:inline-flex;
  padding:.28rem .7rem;
  border-radius:999px;
  background:#EAF4FF;
  color:#0F2D5C;
  font-size:.82rem;
  font-weight:950;
}
.registration-card-results{
  display:grid;
  grid-template-columns:1fr;
  gap:.65rem;
}
.registration-person-card{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:1rem;
  padding:.85rem .95rem;
  border:1px solid #D7ECFF;
  border-left:6px solid #1D4E89;
  border-radius:1rem;
  background:#FFFFFF;
  box-shadow:0 8px 18px rgba(15,45,92,.055);
}
.registration-person-main h3{
  margin:0 0 .35rem;
  font-size:1.05rem;
  font-weight:950;
}
.registration-person-main h3 a{color:#0F2D5C;text-decoration:none;}
.registration-person-main h3 a:hover{text-decoration:underline;}
.registration-person-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
.registration-person-meta span{
  display:inline-flex;
  padding:.2rem .5rem;
  border-radius:999px;
  background:#F1F7FF;
  color:#334155;
  font-size:.78rem;
  font-weight:800;
}
.registration-person-main p{
  margin:.45rem 0 0;
  color:#475569;
  font-weight:650;
}
.registration-person-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:.35rem;
  min-width:145px;
}
.registration-person-actions .btn{width:100%;font-weight:900;}
@media(max-width:768px){
  .bpc-active-search-callout{display:block;border-radius:.9rem;}
  .bpc-active-search-callout strong{display:inline-flex;margin-bottom:.35rem;}
  .registration-person-card{display:block;}
  .registration-person-actions{align-items:stretch;margin-top:.65rem;}
  .registrations-hero{display:block;}
  .registrations-new-button{width:100%;margin-top:.8rem;}
}

/* =========================================================
   AcolheMGA v0.83e — ajustes da Central do Usuário
   ========================================================= */
.institutional-section-title,
.user-center-section .institutional-section-title{
  border-bottom:4px solid #1D4E89 !important;
  padding-bottom:.45rem !important;
}
.user-center-profile-modern{
  background:#FFFFFF !important;
  border-left:1px solid #D7ECFF !important;
}
.user-center-open-form,
.user-family-form{
  background:linear-gradient(135deg,#F8FBFF 0%,#FFFFFF 100%) !important;
  border:1px solid #BFD5EF !important;
  border-radius:.95rem !important;
  padding:.9rem !important;
  box-shadow:0 8px 18px rgba(15,45,92,.055);
}
.user-center-open-form .form-control,
.user-family-form .form-control,
.confidential-report-form .form-control{
  border-color:#BFD5EF;
  font-weight:700;
}
.user-center-open-form .form-control:focus,
.user-family-form .form-control:focus,
.confidential-report-form .form-control:focus{
  border-color:#1D4E89;
  box-shadow:0 0 0 .15rem rgba(29,78,137,.12);
}
.user-center-meta-lines.compact{
  margin-top:.35rem !important;
  padding:.4rem .55rem !important;
  background:#FFFFFF !important;
}
.report-reader-dropdown .report-reader-toggle{
  width:100%;
  text-align:left;
  border:1px solid #BFD5EF !important;
  background:#FFFFFF !important;
  color:#0F2D5C !important;
  font-weight:900 !important;
}
.report-reader-menu{
  width:100%;
  max-height:260px;
  overflow:auto;
  border:1px solid #BFD5EF;
  box-shadow:0 12px 22px rgba(15,45,92,.14);
}
.report-reader-item{
  display:flex !important;
  gap:.5rem;
  align-items:center;
  font-weight:800 !important;
  color:#0F2D5C !important;
  white-space:normal;
}
.report-reader-item input{width:16px;height:16px;}
.report-reader-item small{
  display:block;
  color:#64748B;
  font-weight:750;
}
.user-family-form .user-center-edit-actions{
  justify-content:flex-start;
}
@media(max-width:768px){
  .user-center-open-form,
  .user-family-form{padding:.7rem !important;}
}


/* =========================================================
   AcolheMGA v0.83f — ajustes visuais pontuais
   ========================================================= */
.registration-search-title{
  margin:.15rem 0 .55rem;
  color:#0F2D5C;
  font-size:1.18rem;
  font-weight:950;
  letter-spacing:.01em;
}
.registration-search-card-modern{
  margin-top:0;
}
.registration-results-header h2{
  border-bottom:4px solid #0F2D5C;
  padding-bottom:.35rem;
}
.user-center-section .institutional-section-title{
  display:block;
  width:100%;
  color:#0F2D5C !important;
  font-size:1.12rem !important;
  font-weight:950 !important;
  background:#F1F7FF;
  border-left:5px solid #0F2D5C;
  border-bottom:5px solid #0F2D5C !important;
  border-radius:.65rem .65rem .35rem .35rem;
  padding:.48rem .7rem .5rem !important;
  margin-bottom:.75rem !important;
}
.user-center-section-header .institutional-section-title{
  margin-bottom:0 !important;
}

.concession-control-box {
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 12px;
    border-radius: 12px;
    border: 1px solid #b8c9df;
    background: #f6f9fd;
    color: #12365f;
    font-size: 0.82rem;
    margin-right: 10px;
}
.concession-control-box strong { font-size: 0.92rem; font-weight: 800; }
.concession-control-box span { color: #52627a; font-weight: 700; }

/* =========================================================
   AcolheMGA v0.84f — contrarreferência RMA por Nº de Controle
   ========================================================= */
.rma-control-transition-note{
  margin:.75rem 0 .5rem;
  padding:.58rem .75rem;
  border-left:4px solid #0F6FBF;
  background:#F4F9FF;
  color:#123A5E;
  border-radius:10px;
  font-size:.82rem;
  font-weight:700;
}
.rma-control-reference-wrap{margin-top:.85rem;}
.institutional-section-title.compact-title{font-size:.9rem!important;margin-top:.55rem!important;}
.rma-control-reference-table th,
.rma-control-reference-table td{font-size:.78rem!important;vertical-align:middle!important;}
.rma-control-reference-table small{color:#5d6b7c;font-weight:700;}
.rma-ref-col-code{width:70px;}
.rma-ref-col-control{width:190px;}
.rma-ref-col-benefit{width:auto;}
.rma-ref-col-qty{width:64px;}
.rma-ref-col-date{width:95px;}
.rma-ref-col-responsible{width:170px;}
@media(max-width:768px){
  .rma-control-reference-table{min-width:760px;}
  .rma-control-transition-note{font-size:.78rem;}
}


/* =========================================================
   AcolheMGA v0.84h — fix rápido cadastro e autocomplete agenda
   ========================================================= */
.user-center-section .institutional-section-title,
.user-center-section-header .institutional-section-title{
  display:block !important;
  width:auto !important;
  color:#0F2D5C !important;
  font-size:1rem !important;
  font-weight:900 !important;
  background:transparent !important;
  border-left:0 !important;
  border-radius:0 !important;
  border-bottom:2px solid #D7ECFF !important;
  padding:0 0 .3rem !important;
  margin-bottom:.45rem !important;
}
.agenda-autocomplete-line{
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  align-items:center;
  padding:.15rem 0;
  color:#0F2D5C;
  line-height:1.2;
}
.agenda-autocomplete-line strong{
  font-size:.86rem;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.agenda-autocomplete-line span{
  font-size:.78rem;
  font-weight:800;
  color:#475569;
  white-space:nowrap;
}

/* =========================================================
   AcolheMGA v0.85 — ajustes benefícios/RMA/PDF
   ========================================================= */
.benefits-concession-table tbody tr:nth-child(odd),
.benefit-stream-table tbody tr:nth-child(odd),
.benefit-rma-reference-table tbody tr:nth-child(odd){
  background:#FAFAFA!important;
}
.benefits-concession-table tbody tr:nth-child(even),
.benefit-stream-table tbody tr:nth-child(even),
.benefit-rma-reference-table tbody tr:nth-child(even){
  background:#FFFFFF!important;
}
.benefits-concession-table tbody tr:hover,
.benefit-stream-table tbody tr:hover,
.benefit-rma-reference-table tbody tr:hover{
  background:#F2F7FF!important;
}
.benefit-stream-units-select{
  min-height:86px;
  max-width:520px;
  font-weight:700;
}
.benefit-stream-col-unit{
  width:5.5%!important;
  min-width:62px!important;
  max-width:82px!important;
  font-size:.78rem;
}
.benefit-stream-col-action{
  width:9%!important;
  min-width:118px!important;
  text-align:center;
}
.benefit-stream-col-control{
  width:15%!important;
  min-width:165px!important;
}
.benefit-stream-table .btn-sm{
  font-size:.72rem;
  font-weight:800;
  padding:.2rem .42rem;
  white-space:nowrap;
}
.benefit-rma-reference-table th,
.benefit-rma-reference-table td{
  vertical-align:middle!important;
  font-size:.82rem!important;
}
.benefit-rma-reference-wrap{
  border:1px solid #D8E4F2;
  border-radius:14px;
  overflow:hidden;
}

/* AcolheMGA v0.85b — painel de suporte */
.support-admin-table td {
    vertical-align: top;
    background-clip: padding-box;
}
.support-admin-table tbody tr:nth-child(even) td {
    background: #f8fafc;
}
.support-admin-table tbody tr:nth-child(odd) td {
    background: #ffffff;
}
.support-admin-table small {
    color: #667085;
}

/* =========================================================
   AcolheMGA v0.85c — ajustes cadastrais e relatos
   ========================================================= */
.user-center-box-check{
  display:flex;
  align-items:center;
  gap:.45rem;
  width:100%;
  min-height:42px;
  padding:.55rem .7rem;
  border:1px solid #BFD5EF;
  border-radius:.75rem;
  background:#FFFFFF;
  color:#0F2D5C;
  font-weight:900;
}
.user-center-box-check input{width:18px;height:18px;}
.user-center-check-row .form-group{margin-bottom:.65rem;}
.family-member-action-wrap{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  gap:.4rem;
  padding-bottom:.55rem;
}
.family-member-action-wrap .btn{
  min-width:38px;
  min-height:38px;
  border-radius:.65rem;
  font-weight:900;
}
.family-profile-link.disabled{
  pointer-events:none;
  opacity:.38;
}
.confidential-report-form{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:.2rem 0 0 !important;
  box-shadow:none !important;
}
.user-center-report-section{
  border-left:0 !important;
}
.report-restricted-check{
  display:flex;
  align-items:flex-end;
}
.report-content-large{
  min-height:245px !important;
  line-height:1.45;
}
.user-audit-section .user-center-table th,
.user-audit-section .user-center-table td{
  font-size:.74rem !important;
  line-height:1.2 !important;
  padding:.32rem .38rem !important;
}
.user-audit-section .user-center-table th:first-child,
.user-audit-section .user-center-table td:first-child{
  width:112px !important;
  min-width:112px !important;
  max-width:112px !important;
  white-space:nowrap;
}
@media(max-width:768px){
  .report-content-large{min-height:285px !important;}
  .family-member-action-wrap{align-items:center;padding-bottom:.5rem;}
}

/* =========================================================
   AcolheMGA v0.86 — ajustes de cadastro, agenda e visitas
   ========================================================= */
.inline-agenda-table .col-tech,
.agenda-table .col-tech,
.col-tech {
  width: 3.8% !important;
  min-width: 62px !important;
}
.inline-agenda-table .technician-name-cell,
td.technician-name-cell,
.technician-name-cell {
  color: #1f2937 !important;
  font-weight: 500 !important;
}
.registration-search-card-swapped .card-header {
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.registration-search-card-swapped .card-body {
  padding: 1rem 1.1rem;
}
.registration-add-card-swapped {
  padding: 1rem;
}
.registration-add-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
}
.registration-add-header h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: #0f2d5c;
}
.registration-new-card-inner {
  margin-top: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid #dbe7f5;
}
.registration-card-results-clickable .registration-person-card {
  border-bottom: 1px solid #d7e1ee;
  cursor: pointer;
  transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.registration-card-results-clickable .registration-person-card:hover,
.registration-card-results-clickable .registration-person-card:focus {
  background: #f8fbff;
  box-shadow: 0 8px 20px rgba(15,45,92,.08);
  transform: translateY(-1px);
  outline: none;
}
.registration-person-meta-copy {
  gap: 0.55rem 1rem;
}
.registration-copy-field {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  cursor: default;
}
.registration-copy-field strong {
  font-weight: 600;
}
.registration-copy-btn {
  border: 0;
  background: #e8f1fb;
  color: #0f2d5c;
  border-radius: 999px;
  width: 22px;
  height: 22px;
  line-height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.76rem;
  cursor: pointer;
  padding: 0;
}
.registration-copy-btn:hover,
.registration-copy-btn.copied {
  background: #0f3d75;
  color: #fff;
}
.registration-copy-address {
  max-width: 100%;
}
.visit-quick-actions {
  display: flex;
  justify-content: flex-start;
}
.visit-toggle-new-btn {
  font-weight: 800;
  border-radius: 0.7rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
.visit-new-panel[hidden] {
  display: none !important;
}
.visit-filter-subtitle {
  margin: 0 0 0.7rem 0;
  font-size: 0.92rem;
  font-weight: 800;
  color: #0f2d5c;
}
@media (max-width: 768px) {
  .registration-add-header {
    align-items: flex-start;
    flex-direction: column;
  }
  .registration-person-meta-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}

/* =========================================================
   AcolheMGA v0.86a — cadastro e nome social
   ========================================================= */
.registration-main-card{
  display:block;
  padding:1.05rem 1.15rem;
  border-radius:1.15rem;
  background:linear-gradient(135deg,#0F2D5C 0%,#1D4E89 100%);
  color:#FFFFFF;
  box-shadow:0 14px 30px rgba(15,45,92,.18);
}
.registration-main-card-header{margin-bottom:.85rem;}
.registration-main-card-header span{
  display:block;
  opacity:.9;
  font-size:.76rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.registration-main-card-header h1{
  margin:.12rem 0 0;
  color:#FFFFFF;
  font-size:1.5rem;
  font-weight:950;
}
.registration-main-search-card{
  border:1px solid rgba(255,255,255,.28);
  border-radius:.95rem;
  background:rgba(255,255,255,.12);
  padding:.88rem;
}
.registration-main-search-title{
  margin:0 0 .55rem;
  color:#FFFFFF;
  font-size:.98rem;
  font-weight:900;
}
.registration-search-primary{
  color:#3B2F00 !important;
  background:#FFD54A !important;
  border-color:#FFD54A !important;
  font-weight:950 !important;
  border-radius:.72rem !important;
  box-shadow:0 8px 18px rgba(0,0,0,.16);
}
.registration-search-primary:hover,
.registration-search-primary:focus{
  background:#FFC928 !important;
  border-color:#FFC928 !important;
}
.registration-new-primary,
.registrations-new-button.registration-new-primary{
  color:#FFFFFF !important;
  background:#1D4E89 !important;
  border-color:#1D4E89 !important;
  font-weight:900 !important;
  border-radius:.75rem !important;
  box-shadow:0 8px 18px rgba(29,78,137,.18) !important;
}
.registration-add-blue-card{
  border-left:5px solid #1D4E89;
}
.social-name-primary-input{
  font-weight:850;
  color:#0F2D5C;
}
.social-name-locked-box{
  cursor:pointer;
  background:#F6FAFF;
}
.legal-name-hidden-row{
  margin-top:-.2rem;
}
.legal-name-reveal{
  display:flex;
  align-items:center;
  gap:.45rem;
}
.legal-name-reveal .legal-name-view{
  margin-left:.25rem;
  font-size:.86rem;
}
@media(max-width:768px){
  .registration-main-card{padding:.9rem;}
  .registration-main-card-header h1{font-size:1.25rem;}
  .registration-main-search-card{padding:.75rem;}
}

/* =========================================================
   AcolheMGA v0.86b — segurança, termos e ícones de ação
   ========================================================= */
.navbar-nav .password-icon-link,
.navbar-nav .password-icon-link:hover,
.navbar-nav .password-icon-link.active{
  background-color:transparent !important;
  box-shadow:none !important;
}
.password-icon-link{
  border:none !important;
  background:transparent !important;
}
.logout-power-icon.password-menu-icon{
  width:25px !important;
  height:25px !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 2px 4px rgba(255,181,0,.22)) !important;
}
.password-icon-link:hover .password-menu-icon{
  transform:translateY(-1px) scale(1.04);
}
.registration-copy-icon{
  width:14px;
  height:14px;
  display:block;
  object-fit:contain;
}
.registration-copy-btn:hover .registration-copy-icon,
.registration-copy-btn.copied .registration-copy-icon{
  filter:brightness(0) invert(1);
}
.waiting-alert-ok{
  width:auto !important;
  min-width:44px !important;
  height:28px !important;
  padding:0 .62rem !important;
  border-radius:999px !important;
  font-size:.76rem !important;
  font-weight:950 !important;
  line-height:1 !important;
}
.first-access-term-step ul.first-access-term-list{
  padding-left:1.2rem;
  margin:.4rem 0 .85rem;
}
.first-access-term-step ul.first-access-term-list li{
  margin-bottom:.3rem;
  line-height:1.45;
}
.privacy-acceptance-box a{
  font-weight:800;
}

/* =========================================================
   AcolheMGA v0.86c — páginas institucionais e menu Documentações
   ========================================================= */
.docs-menu-item{
  position:relative;
}
.docs-menu-toggle{
  border:0;
  cursor:pointer;
  font-family:'Montserrat', Arial, Helvetica, sans-serif;
}
.docs-menu-dropdown{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:255px;
  background:#FFFFFF;
  border:1px solid rgba(15,45,92,.16);
  border-radius:.75rem;
  box-shadow:0 14px 32px rgba(15,45,92,.18);
  padding:.45rem;
  z-index:1060;
}
.docs-menu-item.open .docs-menu-dropdown{
  display:block;
}
.docs-menu-link{
  display:block;
  padding:.58rem .72rem;
  color:#0F2D5C;
  text-decoration:none;
  border-radius:.55rem;
  font-weight:700;
  font-size:.86rem;
  line-height:1.25;
}
.docs-menu-link:hover,
.docs-menu-link.active{
  color:#0F2D5C;
  background:#D7ECFF;
  text-decoration:none;
}
.documentation-page{
  max-width:1120px;
  margin:0 auto;
  color:#24364A;
}
.documentation-hero,
.documentation-card,
.roadmap-step{
  background:#FFFFFF;
  border:1px solid #D7ECFF;
  border-radius:1.1rem;
  box-shadow:0 10px 26px rgba(15,45,92,.07);
  padding:1.25rem;
  margin-bottom:1rem;
}
.documentation-hero h1,
.documentation-card h2,
.roadmap-step h2{
  color:#0F2D5C;
  font-weight:900;
  letter-spacing:-.035em;
}
.documentation-hero h1{
  font-size:2rem;
  margin:.25rem 0 .8rem;
}
.documentation-card h2,
.roadmap-step h2{
  font-size:1.28rem;
  margin-bottom:.7rem;
}
.documentation-card h3,
.term-text-card h3{
  color:#0F2D5C;
  font-size:1.05rem;
  font-weight:900;
  margin-top:1rem;
}
.documentation-kicker{
  display:inline-block;
  color:#0F2D5C;
  background:#D7ECFF;
  border-radius:999px;
  padding:.32rem .75rem;
  font-weight:800;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.about-hero-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:1.5rem;
  align-items:center;
  overflow:hidden;
}
.about-hero-logo{
  display:flex;
  align-items:center;
  justify-content:center;
}
.about-hero-logo img{
  max-width:260px;
  width:100%;
  border-radius:1.25rem;
  box-shadow:0 14px 30px rgba(15,45,92,.12);
}
.documentation-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1rem;
}
.documentation-card ul,
.roadmap-step ul,
.term-text-card ul{
  margin-bottom:0;
  padding-left:1.15rem;
}
.documentation-card li,
.roadmap-step li,
.term-text-card li{
  margin-bottom:.35rem;
}
.documentation-actions{
  display:flex;
  gap:.55rem;
  flex-wrap:wrap;
  margin:1rem 0;
}
.roadmap-timeline{
  position:relative;
}
.roadmap-step{
  position:relative;
  padding-left:4rem;
}
.roadmap-step-badge{
  position:absolute;
  left:1.15rem;
  top:1.25rem;
  width:2rem;
  height:2rem;
  border-radius:999px;
  background:#0F2D5C;
  color:#FFFFFF;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  box-shadow:0 8px 18px rgba(15,45,92,.18);
}
.term-signature-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.65rem 1rem;
  background:#F5F7FA;
  border:1px solid #D7ECFF;
  border-radius:.8rem;
  padding:.9rem;
  margin:1rem 0;
}
.term-signatures{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
  margin:1.25rem 0;
  text-align:center;
}
.term-note{
  background:#EAF4FF;
  border:1px solid #D7ECFF;
  border-radius:.7rem;
  padding:.8rem;
  font-size:.9rem;
}
@media(max-width:991px){
  .docs-menu-dropdown{
    position:static;
    width:100%;
    min-width:0;
    margin:.25rem 0 .55rem;
    box-shadow:none;
  }
  .docs-menu-toggle{
    width:100%;
    text-align:left;
  }
  .about-hero-card,
  .documentation-grid,
  .term-signature-grid,
  .term-signatures{
    grid-template-columns:1fr;
  }
  .about-hero-logo img{
    max-width:210px;
  }
  .documentation-hero h1{
    font-size:1.55rem;
  }
  .roadmap-step{
    padding-left:1.25rem;
    padding-top:3.5rem;
  }
  .roadmap-step-badge{
    top:1.05rem;
  }
}

/* =========================================================
   AcolheMGA v0.86e — primeiro acesso, documentações e visitas
   ========================================================= */
.docs-menu-toggle,
.navbar-nav .docs-menu-toggle{
  background:transparent !important;
  color:#EAF4FF !important;
  appearance:none;
  -webkit-appearance:none;
}
.docs-menu-toggle.active,
.docs-menu-toggle:hover,
.docs-menu-item.open .docs-menu-toggle,
.navbar-nav .docs-menu-toggle.active,
.navbar-nav .docs-menu-toggle:hover{
  background-color:#4FA3FF !important;
  color:#0F2D5C !important;
}
.docs-menu-dropdown{
  background:#FFFFFF !important;
}
.first-access-link-btn,
.first-access-term-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
  border-radius:.85rem;
  font-weight:800;
  letter-spacing:.01em;
}
.first-access-link-btn{
  background:#EAF4FF;
  color:#0F2D5C !important;
  border:1px solid #D7ECFF;
  padding:.62rem .9rem;
}
.first-access-term-primary{
  width:100%;
  background:#F5B400;
  color:#0F2D5C !important;
  border:1px solid #D99A00;
  box-shadow:0 10px 22px rgba(245,180,0,.22);
  padding:.9rem 1rem;
  font-size:1rem;
}
.first-access-term-primary:hover,
.first-access-link-btn:hover{
  filter:brightness(.97);
}
.first-access-term-confirm{
  margin-top:1rem !important;
  background:#FFF8E3;
  border:1px solid #F5B400;
  border-radius:.9rem;
  padding:.9rem 1rem !important;
  font-weight:800;
}
.visit-quick-actions{
  gap:.65rem;
  flex-wrap:wrap;
}
.visit-toggle-search-btn{
  font-weight:800;
  border-radius:.7rem;
  padding-left:1rem;
  padding-right:1rem;
}
.visit-search-panel[hidden]{
  display:none !important;
}
.visit-filter-card .visit-filter-subtitle{
  font-size:1.08rem;
  letter-spacing:.01em;
  padding-bottom:.35rem;
  border-bottom:2px solid #D7ECFF;
}
.visit-filter-form .visit-filter-field{
  display:flex;
  flex-direction:column;
  gap:.2rem;
}
.visit-filter-form .visit-filter-field label,
.visit-sheet-form-grid label{
  font-weight:800;
  color:#0F2D5C;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.inline-agenda-table{
  min-width:1210px !important;
}

/* =========================================================
   AcolheMGA v0.86f — cadastro, telefone, PCD e hierarquia visual
   ========================================================= */
.registration-person-meta-copy span,
.registration-person-meta-copy strong{
  font-size:calc(.78rem + 1px) !important;
}
.user-center-hero-meta{
  display:flex;
  align-items:center;
  gap:.55rem;
  flex-wrap:wrap;
  margin-top:.35rem;
  color:#EAF4FF;
  font-weight:750;
}
.user-center-hero-cpf{
  background:rgba(255,255,255,.14) !important;
  color:#FFFFFF !important;
  border:1px solid rgba(255,255,255,.22);
  padding:.28rem .58rem !important;
}
.user-center-hero-cpf strong{
  color:#FFFFFF;
  font-weight:900;
}
.user-center-hero-cpf .registration-copy-btn{
  background:rgba(255,255,255,.22);
}
.user-center-hero-actions .btn-success{
  background:#0A8F63 !important;
  border-color:#087B56 !important;
  color:#FFFFFF !important;
}
.user-center-hero-actions .btn-primary{
  background:#123F7A !important;
  border-color:#0F2D5C !important;
  color:#FFFFFF !important;
}
.user-center-hero-actions .btn-warning{
  background:#F5C84B !important;
  border-color:#DDAA16 !important;
  color:#1F2937 !important;
}
.legal-name-inline-toggle{
  cursor:pointer;
  text-decoration:underline dotted rgba(15,45,92,.35);
  text-underline-offset:3px;
}
.legal-name-inline-view{
  margin-top:.45rem;
  padding:.55rem .65rem;
  border:1px solid #D7ECFF;
  border-radius:.7rem;
  background:#F8FBFF;
}
.legal-name-inline-view label{
  margin-bottom:.25rem;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.035em;
  font-weight:900;
  color:#64748B;
}
.name-input-wrap .inline-name-input,
.name-input-wrap input[name="name"]{
  padding-right:3.65rem !important;
}
.pcd-agenda-badge{
  position:absolute;
  right:1.75rem;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  display:inline-flex;
  width:1.15rem;
  height:1.15rem;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#E0F2FE;
  color:#075985;
  border:1px solid #7DD3FC;
  font-size:.76rem;
  line-height:1;
  box-shadow:0 1px 2px rgba(15,45,92,.12);
}
input.money-input{
  font-weight:800;
  color:#0F2D5C;
}
@media(max-width:768px){
  .user-center-hero-actions .btn{
    width:100%;
  }
  .user-center-hero-meta{
    align-items:flex-start;
  }
}

/* =========================================================
   AcolheMGA v0.87 — Saúde do Sistema e Painel reorganizados
   ========================================================= */
.admin-page-heading,
.page-heading-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:1rem;
}
.admin-version-pill,
.health-unit-box{
  background:#F4F8FC;
  border:1px solid #D7E6F5;
  border-radius:14px;
  padding:.7rem .9rem;
  color:#0F3D75;
  font-weight:800;
  box-shadow:0 5px 16px rgba(15,61,117,.06);
}
.health-unit-box span{
  display:block;
  color:#64748B;
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:800;
}
.admin-overview-grid,
.health-overview-grid,
.health-summary-mini-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
  gap:.85rem;
  margin:1rem 0;
}
.admin-overview-card,
.health-overview-card,
.health-summary-mini-grid > div{
  display:flex;
  flex-direction:column;
  gap:.18rem;
  background:#FFFFFF;
  border:1px solid #D8E6F5;
  border-left:5px solid #0F3D75;
  border-radius:16px;
  padding:.95rem 1rem;
  box-shadow:0 6px 18px rgba(15,61,117,.07);
  color:#1F3349;
  text-decoration:none !important;
}
.admin-overview-card:hover{
  transform:translateY(-1px);
  box-shadow:0 9px 22px rgba(15,61,117,.12);
}
.admin-overview-card span,
.health-overview-card span,
.health-summary-mini-grid span{
  color:#64748B;
  font-size:.75rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.admin-overview-card strong,
.health-overview-card strong,
.health-summary-mini-grid strong{
  color:#0F3D75;
  font-size:1.55rem;
  line-height:1.05;
  font-weight:900;
}
.admin-overview-card small,
.health-overview-card small{
  color:#607089;
  font-weight:700;
}
.health-overview-alert,
.health-overview-card.health-overview-alert{
  border-left-color:#B42318;
  background:#FFF7F7;
}
.health-overview-warn,
.health-overview-card.health-overview-warn,
.health-overview-low,
.health-overview-card.health-overview-low{
  border-left-color:#D97706;
  background:#FFF9ED;
}
.health-overview-ok,
.health-overview-card.health-overview-ok{
  border-left-color:#15803D;
  background:#F2FBF5;
}
.health-status-pill{
  white-space:nowrap;
  border-radius:999px;
  padding:.55rem .85rem;
  font-weight:900;
  font-size:.83rem;
  border:1px solid #D8E6F5;
  background:#F4F8FC;
  color:#0F3D75;
}
.health-status-alert{background:#FFF3F5;border-color:#FFC3CB;color:#B51D34;}
.health-status-warn,.health-status-low{background:#FFF9ED;border-color:#FFE0A3;color:#9A5A00;}
.health-status-ok{background:#F2FBF5;border-color:#BFE6C9;color:#16823A;}
.admin-section-title{
  margin:1.25rem 0 .65rem;
  color:#0F3D75;
  font-size:1.05rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.admin-details-form{
  background:#F8FBFF;
  border:1px solid #D9E8F8;
  border-radius:14px;
  padding:.75rem .9rem;
  margin-bottom:.85rem;
}
.admin-details-form summary{
  cursor:pointer;
  color:#0F3D75;
  font-weight:900;
  list-style:none;
}
.admin-details-form summary::-webkit-details-marker{display:none;}
.admin-details-form summary:before{
  content:'+';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:50%;
  margin-right:.45rem;
  background:#0F3D75;
  color:#fff;
  font-weight:900;
}
.admin-details-form[open] summary:before{content:'–';}
.central-section-priority-high{border-left:5px solid #B42318;}
.central-section-priority-medium{border-left:5px solid #D97706;}
.central-section-priority-low{border-left:5px solid #0F6CBD;}
.central-pendencias-compact .central-pendencias-sections{display:none;}
.central-pendencias-compact .central-pendencias-header{margin-bottom:.35rem;}
.health-summary-mini-grid{
  grid-template-columns:repeat(3, minmax(120px, 1fr));
  margin:.55rem 0 .2rem;
}
.health-summary-mini-grid > div{
  min-height:auto;
  padding:.7rem .8rem;
}
.health-summary-mini-grid strong{font-size:1.35rem;}
.cesta-audit-box{
  background:#F8FAFC;
  border:1px solid #D9E4F2;
  border-radius:16px;
  padding:.85rem;
  margin-bottom:.85rem;
}
.cesta-audit-heading{
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  align-items:center;
  margin-bottom:.7rem;
  color:#0F3D75;
}
.cesta-audit-heading span{
  background:#EAF4FF;
  color:#0F3D75;
  border-radius:999px;
  padding:.25rem .55rem;
  font-weight:900;
  font-size:.78rem;
}
.cesta-audit-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
  gap:.6rem;
}
.cesta-audit-metric{
  background:#fff;
  border:1px solid #E0E8F2;
  border-radius:12px;
  padding:.65rem;
}
.cesta-audit-metric span{
  display:block;
  color:#64748B;
  font-size:.75rem;
  font-weight:800;
  line-height:1.25;
}
.cesta-audit-metric strong{
  display:block;
  color:#0F3D75;
  font-size:1.7rem;
  line-height:1;
  margin-top:.35rem;
  font-weight:900;
}
.cesta-audit-result{
  margin-top:.7rem;
  border-radius:12px;
  padding:.55rem .7rem;
  font-weight:900;
  font-size:.84rem;
}
.cesta-audit-ok{background:#F2FBF5;color:#16823A;border:1px solid #BFE6C9;}
.cesta-audit-mismatch{background:#FFF3F5;color:#B51D34;border:1px solid #FFC3CB;}
.health-tools-section .admin-tool-card h3{font-size:.98rem;}
.health-tools-grid .btn{font-weight:800;}
@media (max-width:768px){
  .admin-page-heading,
  .page-heading-row,
  .central-pendencias-header,
  .cesta-audit-heading{
    flex-direction:column;
    align-items:stretch;
  }
  .health-status-pill{white-space:normal;}
  .health-summary-mini-grid{grid-template-columns:1fr 1fr 1fr;}
}

/* =========================================================
   AcolheMGA v0.87a - PDF concessão e rolagem benefícios
   ========================================================= */
.benefits-table-wrap,
.benefit-stream-table-wrap,
.benefits-page-table-scroll {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior-x:contain;
}
.benefits-table-wrap > table,
.benefit-stream-table-wrap > table {
  width:max-content !important;
  max-width:none !important;
  table-layout:auto !important;
  border-collapse:collapse;
}
.benefits-table-wrap > .benefits-concession-table {
  min-width:1060px !important;
}
.benefit-stream-table-wrap > .benefit-stream-table {
  min-width:1420px !important;
}
.benefits-concession-table th,
.benefits-concession-table td,
.benefit-stream-table th,
.benefit-stream-table td {
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.benefit-stream-col-name { min-width:190px !important; }
.benefit-stream-col-cpf { min-width:130px !important; }
.benefit-stream-col-date { min-width:105px !important; }
.benefit-stream-col-type { min-width:160px !important; }
.benefit-stream-col-unit { min-width:130px !important; }
.benefit-stream-col-responsible { min-width:165px !important; }
.benefit-stream-col-observation { min-width:280px !important; }
.benefit-stream-col-action { min-width:128px !important; }
.benefit-stream-col-control { min-width:190px !important; }
@media(max-width:768px){
  .benefits-content-wide,
  .benefit-stream-page {
    width:100% !important;
    max-width:100% !important;
    padding-left:.7rem !important;
    padding-right:.7rem !important;
    overflow-x:hidden !important;
  }
  .benefits-table-wrap,
  .benefit-stream-table-wrap {
    border:1px solid #D8E4F2;
    border-radius:12px;
  }
}



/* =========================================================
   AcolheMGA v0.87b — saúde, RMA, logo e documentações
   ========================================================= */
.brand-icon{
  object-fit:contain !important;
  object-position:center center !important;
  padding:3px !important;
  background:#FFFFFF !important;
  border-radius:.65rem !important;
  transform:none !important;
}
.docs-menu-item{
  position:relative;
}
.docs-menu-toggle,
.navbar-nav .docs-menu-toggle{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:row !important;
  gap:.28rem !important;
  white-space:nowrap !important;
  line-height:1.2 !important;
  width:auto !important;
}
.docs-menu-caret{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  margin-left:.15rem !important;
  transform:translateY(-1px);
}
.health-page .central-pendencias-sections-standalone{
  margin-top:1rem;
}
.health-fix-actions-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1rem;
  margin-top:1rem;
}
.health-fix-action-card{
  background:#FFFFFF;
  border:1px solid #D8E4F2;
  border-left:6px solid #F5B400;
  border-radius:1rem;
  padding:1rem;
  box-shadow:0 8px 22px rgba(15,45,92,.08);
}
.health-fix-action-card h3{
  color:#0F2D5C;
  font-size:1rem;
  font-weight:900;
  margin-bottom:.4rem;
}
.health-fix-action-card p{
  color:#526174;
  font-weight:650;
  font-size:.86rem;
  margin-bottom:.85rem;
}
.benefit-rma-reference-page,
.benefits-content-wide.benefit-rma-reference-page{
  overflow-x:auto !important;
}
.benefit-rma-reference-page .report-table-wrap,
.benefit-rma-reference-page .benefit-rma-reference-wrap{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  -webkit-overflow-scrolling:touch !important;
  border-radius:14px;
}
.benefit-rma-reference-page .benefit-rma-reference-table,
.benefit-rma-reference-page .rma-control-reference-table{
  min-width:920px !important;
  width:max-content !important;
  table-layout:auto !important;
}
.benefit-rma-reference-page .benefit-rma-reference-table th,
.benefit-rma-reference-page .benefit-rma-reference-table td{
  white-space:nowrap !important;
}
@media (max-width: 991.98px){
  .docs-menu-dropdown{
    position:static !important;
    width:100% !important;
    margin-top:.25rem !important;
    box-shadow:none !important;
  }
  .navbar-nav .docs-menu-toggle{
    justify-content:flex-start !important;
  }
}

/* =========================================================
   AcolheMGA v0.87c — manutenção/backups revamp e conferência sem concessão
   ========================================================= */
.maintenance-revamp-section{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid #dbeafe;
}
.maintenance-revamp-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.85rem;
}
.maintenance-revamp-title h2{margin-bottom:.2rem;}
.maintenance-revamp-title .btn{font-weight:900;white-space:nowrap;}
.maintenance-status-strip{
  border:1px solid #d7ecff;
  background:#f8fbff;
  border-radius:.9rem;
  padding:.8rem .95rem;
  margin:1rem 0;
  color:#0f2d5c;
}
.maintenance-status-strip>strong{
  display:block;
  font-size:.92rem;
  font-weight:900;
  margin-bottom:.45rem;
}
.maintenance-status-items{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem .75rem;
}
.maintenance-status-items span{
  background:#fff;
  border:1px solid #e5eef8;
  border-radius:999px;
  padding:.32rem .62rem;
  font-size:.82rem;
  color:#475569;
}
.maintenance-status-items b{color:#0f2d5c;}
.maintenance-groups{
  display:grid;
  gap:1rem;
}
.maintenance-group{
  background:#fff;
  border:1px solid #e5eef8;
  border-radius:1rem;
  padding:1rem;
  box-shadow:0 8px 20px rgba(15,45,92,.045);
}
.maintenance-group-safe{border-left:7px solid #2563eb;}
.maintenance-group-import{border-left:7px solid #0ea5e9;}
.maintenance-group-treatment{border-left:7px solid #f59e0b;}
.maintenance-group-logs{border-left:7px solid #64748b;}
.maintenance-group-test{border-left:7px solid #7c3aed;}
.maintenance-group-header{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  margin-bottom:.85rem;
}
.maintenance-group-icon{
  width:2.25rem;
  height:2.25rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:.75rem;
  background:#eef6ff;
  font-size:1.1rem;
  flex:0 0 auto;
}
.maintenance-group-header h3{
  margin:0 0 .15rem;
  color:#0f2d5c;
  font-size:1.03rem;
  font-weight:900;
}
.maintenance-group-header p{
  margin:0;
  color:#64748b;
  font-size:.88rem;
}
.maintenance-action-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:.75rem;
}
.maintenance-action-card{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  min-height:118px;
  padding:.85rem;
  border-radius:.85rem;
  border:1px solid #dbeafe;
  background:#f8fbff;
  color:#0f2d5c;
  text-decoration:none !important;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.maintenance-action-card:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(15,45,92,.09);
}
.maintenance-action-card strong{
  color:#0f2d5c;
  font-size:.95rem;
  font-weight:900;
}
.maintenance-action-card span{
  color:#64748b;
  font-size:.82rem;
  line-height:1.35;
}
.maintenance-action-card.action-primary{border-left:6px solid #2563eb;background:#eff6ff;}
.maintenance-action-card.action-safe{border-left:6px solid #059669;background:#ecfdf5;}
.maintenance-action-card.action-caution{border-left:6px solid #f59e0b;background:#fffbeb;}
.maintenance-action-card.action-danger{border-left:6px solid #dc2626;background:#fff1f2;}
.maintenance-action-card.action-neutral{border-left:6px solid #64748b;background:#f8fafc;}
.maintenance-action-card.action-danger strong{color:#991b1b;}
.maintenance-action-card.action-caution strong{color:#92400e;}
.maintenance-action-card.action-safe strong{color:#065f46;}
.maintenance-action-card.action-card-form button{margin-top:auto;align-self:flex-start;font-weight:800;}
.maintenance-import-form{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  gap:.65rem;
  align-items:center;
  padding:.85rem;
  border:1px solid #dbeafe;
  border-radius:.85rem;
  background:#f8fbff;
}
.maintenance-import-form .btn{font-weight:900;}
.maintenance-logs-grid .action-danger{background:#fff1f2;}
.cesta-audit-grid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
@media (max-width:768px){
  .maintenance-revamp-title{display:block;}
  .maintenance-revamp-title .btn{width:100%;margin-top:.65rem;}
  .maintenance-status-items{display:grid;grid-template-columns:1fr;}
  .maintenance-status-items span{border-radius:.7rem;}
  .maintenance-group{padding:.85rem;}
  .maintenance-action-grid{grid-template-columns:1fr;}
  .maintenance-import-form{grid-template-columns:1fr;}
  .maintenance-import-form .btn{width:100%;}
}

/* =========================================================
   AcolheMGA v0.87g — ajustes finos da Central do Usuário
   ========================================================= */
.user-center-hero-meta,
.user-center-hero-meta span,
.user-center-hero-unit,
.user-center-hero-cpf{
  font-weight:600 !important;
}
.user-center-hero-cpf{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  line-height:1.25;
}
.user-center-hero-cpf strong{font-weight:600 !important;}
.user-center-hero-actions .user-action-sascweb{
  background:#38BDF8 !important;
  border-color:#0EA5E9 !important;
  color:#FFFFFF !important;
}
.user-center-hero-actions .user-action-sascweb:hover{
  background:#0EA5E9 !important;
  border-color:#0284C7 !important;
}
.user-center-hero-actions .user-action-whatsapp{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
}
.user-action-whatsapp-icon{
  width:1.25rem;
  height:1.25rem;
  flex:0 0 auto;
}
.user-center-summary-card strong{
  font-size:1.58rem !important;
}
.user-center-summary-card small{
  font-size:.88rem !important;
}
.user-center-flat-section{
  background:transparent !important;
  border:0 !important;
  border-left:0 !important;
  border-top:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin-bottom:1.15rem !important;
}
.user-center-flat-section.user-center-profile-modern{
  background:transparent !important;
  border:0 !important;
}
.user-center-flat-section .user-center-section-header{
  margin-bottom:.45rem;
}
.user-confidential-meta span{
  color:#334155 !important;
  font-size:.84rem !important;
  font-weight:800 !important;
}
.user-center-footer-actions{
  display:flex;
  align-items:center;
  gap:.8rem;
  flex-wrap:wrap;
}
.user-center-page .user-center-back-button{
  font-weight:500 !important;
}
.user-center-top-link{
  color:#0F2D5C !important;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(15,45,92,.35);
}
.user-center-top-link:hover{
  color:#1D4E89 !important;
  text-decoration:none;
  border-bottom-color:#1D4E89;
}
@media(max-width:768px){
  .user-center-summary-card strong{
    font-size:1.32rem !important;
  }
  .user-center-summary-card small{
    font-size:.84rem !important;
  }
  .user-center-flat-section{
    margin-bottom:1rem !important;
  }
}

/* v0.88d - Diagnóstico pós-migração */
.diagnostics-page .diagnostics-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.diagnostics-filter{display:flex;align-items:end;gap:18px;flex-wrap:wrap}
.diagnostics-filter>div{min-width:190px}
.diagnostics-muted-label{display:block;font-size:.84rem;color:#536173;margin-bottom:4px}
.diagnostics-summary-row .summary-card strong{font-size:1.6rem}
.diagnostics-critical-card strong{color:#b42318}
.diagnostics-warn-card strong{color:#9a6700}
.diagnostics-ok-card strong{color:#027a48}
.diagnostic-section-card h2{margin-bottom:0}
.diagnostics-table th{font-size:.86rem;color:#344054;white-space:nowrap}
.diagnostics-table td{vertical-align:top;font-size:.9rem}
.diagnostics-detail{color:#344054;max-width:620px}
.diagnostic-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:700;white-space:nowrap}
.diagnostic-badge-ok{background:#dcfae6;color:#027a48}
.diagnostic-badge-warn{background:#fef0c7;color:#93370d}
.diagnostic-badge-critical{background:#fee4e2;color:#b42318}
.diagnostic-badge-info{background:#e0f2fe;color:#075985}
.diagnostic-row-critical td{background:#fff6f5}
.diagnostic-row-warn td{background:#fffbeb}
@media (max-width: 768px){.diagnostics-filter{align-items:stretch}.diagnostics-filter>div,.diagnostics-filter button{width:100%}.diagnostics-page .diagnostics-actions{width:100%;justify-content:flex-start}.diagnostics-table{min-width:760px}}

/* v0.88e - Base de Documentação */
.documentation-base-page{max-width:1180px}
.documentation-base-hero p{max-width:880px}
.documentation-base-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0}
.documentation-base-summary>div{background:#f8fbff;border:1px solid #d7ecff;border-radius:.9rem;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.2rem}
.documentation-base-summary strong{font-size:1.55rem;line-height:1;color:#0f2d5c;font-weight:900}
.documentation-base-summary span{font-size:.82rem;color:#536173;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.documentation-base-section h2{margin-bottom:1rem}
.documentation-base-list{display:grid;gap:.85rem}
.documentation-base-item{border:1px solid #dbe7f4;border-radius:1rem;background:#ffffff;padding:1rem;box-shadow:0 6px 18px rgba(15,45,92,.045)}
.documentation-base-item.doc-missing{background:#fbfcfe;border-style:dashed}
.documentation-base-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}
.documentation-base-item h3{margin:0;color:#0f2d5c;font-size:1rem;font-weight:900;letter-spacing:-.01em}
.documentation-base-item p{margin-bottom:.45rem;color:#334155;font-size:.93rem;line-height:1.45}
.documentation-base-item .doc-use{font-size:.88rem;color:#475569}
.doc-status{border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:900;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em}
.doc-status-found{background:#dcfae6;color:#027a48}
.doc-status-missing{background:#fef0c7;color:#93370d}
.doc-link-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.65rem}
.doc-link-card{display:flex;flex-direction:column;gap:.18rem;border:1px solid #cfe2ff;border-left:5px solid #2563eb;background:#f8fbff;border-radius:.8rem;padding:.7rem .8rem;text-decoration:none;color:#0f2d5c;transition:.16s ease}
.doc-link-card:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(37,99,235,.12);text-decoration:none;color:#0f2d5c;background:#eef6ff}
.doc-link-card strong{font-size:.9rem;font-weight:900}
.doc-link-card span{font-size:.82rem;color:#334155;word-break:break-word}
.doc-link-card small{font-size:.76rem;color:#64748b;line-height:1.35}
.doc-missing-note{background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;border-radius:.75rem;padding:.65rem .75rem;font-size:.84rem;font-weight:700;margin-top:.5rem}
@media(max-width:768px){.documentation-base-summary{grid-template-columns:1fr}.documentation-base-item-head{display:block}.doc-status{display:inline-flex;margin-top:.45rem}.doc-link-list{grid-template-columns:1fr}}

/* v0.88f - auditoria de escopo */
.scope-audit-table code{white-space:normal;color:#1e293b;background:#f8fafc;border-radius:6px;padding:2px 4px;display:block;max-width:760px;line-height:1.45}
.scope-audit-page .diagnostics-detail{max-width:780px}
@media (max-width:768px){.scope-audit-table{min-width:980px}}

/* v0.88i - documentos de segurança e lista inicial da Base de Documentação */
.documentation-index-card h2{margin-bottom:.35rem;color:#0f2d5c;font-weight:900}
.documentation-index-intro{color:#475569;font-size:.92rem;margin-bottom:1rem;max-width:900px}
.documentation-index-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.documentation-index-group{border:1px solid #dbe7f4;background:#f8fbff;border-radius:1rem;padding:.85rem .95rem}
.documentation-index-group h3{font-size:.88rem;font-weight:900;color:#0f2d5c;margin:0 0 .55rem;text-transform:uppercase;letter-spacing:.02em}
.documentation-index-group ul{list-style:none;margin:0;padding:0;display:grid;gap:.38rem}
.documentation-index-group li{display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-size:.86rem;line-height:1.3}
.documentation-index-group a{font-weight:700;color:#1e3a8a;text-decoration:none}
.documentation-index-group a:hover{text-decoration:underline;color:#0f2d5c}
.doc-index-status{border-radius:999px;padding:.18rem .48rem;font-size:.68rem;font-weight:900;text-transform:uppercase;white-space:nowrap}
.doc-index-status.found{background:#dcfae6;color:#027a48}
.doc-index-status.missing{background:#fef0c7;color:#93370d}
.documentation-doc-page{max-width:1040px}
.legal-document-card{padding:1.35rem 1.5rem;border-radius:1.1rem;box-shadow:0 8px 24px rgba(15,45,92,.06)}
.legal-document-card h2{font-size:1.05rem;color:#0f2d5c;font-weight:900;margin:1.35rem 0 .55rem;padding-top:.35rem;border-top:1px solid #e5eef8}
.legal-document-card h2:first-child{border-top:0;margin-top:0;padding-top:0}
.legal-document-card p,.legal-document-card li{font-size:.95rem;line-height:1.65;color:#243244}
.legal-document-card ol{padding-left:1.35rem;margin-bottom:1rem}
.legal-document-card li{margin-bottom:.28rem}
@media(max-width:900px){.documentation-index-list{grid-template-columns:1fr}.documentation-index-group li{align-items:flex-start;flex-direction:column;gap:.25rem}.legal-document-card{padding:1rem}.legal-document-card p,.legal-document-card li{font-size:.9rem}}

/* v0.89 - diagnóstico ampliado, base documental para todos e suporte resiliente */
.doc-restricted-note{
  background:#eef6ff;
  border:1px solid #bfdbfe;
  color:#1e3a8a;
  border-radius:.75rem;
  padding:.65rem .75rem;
  font-size:.84rem;
  font-weight:700;
  margin-top:.5rem;
}
.diagnostics-rma-logic-table th,
.diagnostics-status-table th{
  white-space:nowrap;
}
.diagnostics-rma-logic-table td:nth-child(3),
.diagnostics-status-table td:not(:first-child){
  text-align:center;
  font-weight:700;
  color:#0f2d5c;
}
.diagnostics-status-table td:first-child{
  min-width:180px;
}
@media(max-width:768px){
  .diagnostics-rma-logic-table{min-width:980px}
  .diagnostics-status-table{min-width:980px}
}

/* v0.89b - Base de Documentação catalogada */
.documentation-index-table {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(15, 56, 105, .12);
}
.documentation-index-table th {
    background: #123766;
    color: #fff;
    font-weight: 800;
    border-color: rgba(255,255,255,.18) !important;
}
.documentation-index-table td {
    vertical-align: middle;
    color: #223044;
    font-weight: 600;
    border-color: rgba(15, 56, 105, .10) !important;
}
.documentation-index-table a {
    font-weight: 800;
    color: #123766;
    text-decoration: none;
}
.doc-section-row td {
    background: #eef6ff !important;
    color: #123766 !important;
    font-weight: 900 !important;
    letter-spacing: .02em;
}
.doc-public-pill {
    display: inline-flex;
    align-items: center;
    padding: .28rem .55rem;
    border-radius: 999px;
    background: #eef6ff;
    color: #123766;
    font-weight: 800;
    font-size: .82rem;
}
.doc-base-note,
.doc-public-assessment,
.doc-restricted-note,
.doc-missing-note {
    border-radius: 16px;
    padding: .85rem 1rem;
    margin-top: .8rem;
    font-weight: 600;
}
.doc-base-note {
    background: rgba(255, 243, 205, .78);
    border: 1px solid rgba(245, 194, 66, .55);
    color: #5c4210;
}
.doc-public-assessment {
    background: #f7fbff;
    border: 1px solid rgba(15, 56, 105, .12);
    color: #24364d;
}
.doc-public-assessment span {
    display: inline-flex;
    margin-left: .25rem;
    color: #123766;
    font-weight: 900;
}
.doc-public-assessment small {
    display: block;
    margin-top: .35rem;
    color: #3f4d61;
    font-weight: 600;
    line-height: 1.45;
}
.doc-file-meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: .85rem;
}
.doc-file-meta-grid div {
    border: 1px solid rgba(15, 56, 105, .12);
    border-radius: 16px;
    padding: .85rem 1rem;
    background: #f7fbff;
}
.doc-file-meta-grid strong,
.doc-file-meta-grid span {
    display: block;
}
.doc-file-meta-grid strong {
    color: #123766;
    font-weight: 900;
    margin-bottom: .25rem;
}
.doc-file-meta-grid span {
    color: #24364d;
    font-weight: 650;
    overflow-wrap: anywhere;
}
.doc-pdf-frame {
    width: 100%;
    min-height: 78vh;
    border: 1px solid rgba(15, 56, 105, .16);
    border-radius: 18px;
    background: #fff;
}
@media (max-width: 768px) {
    .documentation-index-table th,
    .documentation-index-table td {
        font-size: .82rem;
        min-width: 150px;
    }
    .doc-pdf-frame {
        min-height: 68vh;
    }
}
.doc-text-frame {
    width: 100%;
    max-height: 72vh;
    overflow: auto;
    white-space: pre-wrap;
    border: 1px solid rgba(15, 56, 105, .16);
    border-radius: 18px;
    background: #f8fbff;
    color: #20344d;
    padding: 1rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: .9rem;
    line-height: 1.55;
}


/* v0.89c - menu superior e documentação textual */
.unit-switch-form{
  padding:.25rem .38rem !important;
  gap:.35rem !important;
  max-width:205px !important;
}
.unit-switch-label{
  font-size:.7rem !important;
  letter-spacing:.01em !important;
}
.unit-switch-select{
  width:112px !important;
  min-width:96px !important;
  max-width:116px !important;
  height:40px !important;
  padding:.32rem 1.45rem .32rem .62rem !important;
  font-size:.9rem !important;
  line-height:1.1 !important;
}
@media (max-width: 991.98px){
  .unit-switch-form{max-width:185px !important;}
  .unit-switch-label{font-size:.68rem !important;}
  .unit-switch-select{width:104px !important;max-width:108px !important;height:38px !important;font-size:.86rem !important;}
}
.doc-text-document-card{
  max-width: 980px;
  margin-left:auto;
  margin-right:auto;
}
.doc-text-document-card h3{
  color:#11376d;
  font-size:1.08rem;
  font-weight:800;
  margin-top:1.35rem;
  margin-bottom:.65rem;
  padding-bottom:.35rem;
  border-bottom:1px solid rgba(17,55,109,.12);
}
.doc-text-document-card p{
  color:#2f3747;
  font-size:.98rem;
  line-height:1.75;
  margin-bottom:1rem;
}

/* =========================================================
   AcolheMGA v0.89d — ajustes agenda, popup e base documental
   ========================================================= */
/* Agenda: filtros padronizados e botões leves */
.agenda-date-control-card{width:100% !important;}
.agenda-date-line{display:flex !important;align-items:center !important;gap:.45rem !important;flex-wrap:wrap !important;}
.agenda-date-line label{font-weight:500 !important;margin-bottom:0 !important;color:#26394f !important;}
.agenda-date-line input[type="date"]{max-width:190px !important;min-width:160px !important;}
.agenda-date-line .btn,
.cadunico-action-buttons .btn,
.educator-social-action-buttons .btn{font-weight:500 !important;white-space:nowrap !important;}
.cadunico-tools-row-after-table{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:.7rem !important;flex-wrap:wrap !important;}
.cadunico-tools-row-after-table .cadunico-date-form{display:flex !important;align-items:center !important;gap:.45rem !important;flex-wrap:wrap !important;margin-bottom:0 !important;}
.cadunico-tools-row-after-table .cadunico-date-form label{font-weight:500 !important;margin-bottom:0 !important;color:#26394f !important;}
.cadunico-tools-row-after-table .cadunico-date-form input[type="date"]{max-width:190px !important;min-width:160px !important;}

/* Agenda: colunas e tipografia */
.inline-agenda-table{width:100% !important;min-width:1280px !important;table-layout:fixed !important;}
.inline-agenda-table .col-time{width:5.35% !important;min-width:72px !important;max-width:82px !important;}
.inline-agenda-table .col-time select,
.inline-agenda-table .col-time input{font-weight:500 !important;text-align:left !important;text-align-last:left !important;padding-left:.45rem !important;}
.inline-agenda-table .col-status{width:9.6% !important;min-width:118px !important;}
.inline-agenda-table .col-name{width:31% !important;min-width:330px !important;}
.inline-agenda-table .col-cpf{width:12% !important;min-width:158px !important;}
.inline-agenda-table .col-phone{width:12% !important;min-width:150px !important;}
.inline-agenda-table .col-service{width:14.5% !important;min-width:176px !important;}
.inline-agenda-table .col-observation,
.inline-agenda-table th.col-observation{width:18% !important;min-width:245px !important;}
.inline-agenda-table input,
.inline-agenda-table select{font-weight:500 !important;}
.inline-agenda-table .status-select-pill,
.inline-agenda-table .type-service-select{font-weight:500 !important;}
.status-pill-select,.status-pill{font-weight:500 !important;}
.status-pill-select select{font-weight:500 !important;}
.status-pill-select.status-prioridade select,
.status-pill-select.status-sem-documentacao select,
.status-pill-select.status-marcado-visita select,
.status-pill-select.status-encaixe select,
.status-pill-select.status-reagendado select{font-weight:600 !important;}

.cadunico-table .col-phone,
.educator-social-table .col-phone,
.inline-agenda-table:not(.cadunico-table):not(.educator-social-table) .col-phone{width:12% !important;min-width:150px !important;}
.cadunico-table .col-cpf,.educator-social-table .col-cpf{width:12% !important;min-width:158px !important;}
.cadunico-table .col-observation{width:17% !important;min-width:225px !important;}
.educator-social-table .col-observation{width:19% !important;min-width:260px !important;}

.agenda-cpf-cell{display:flex !important;align-items:center !important;gap:.32rem !important;min-width:150px !important;}
.agenda-cpf-cell input{min-width:112px !important;flex:1 1 auto !important;}
.agenda-copy-cpf-btn{flex:0 0 28px !important;width:28px !important;height:28px !important;border:1px solid #BBD9F5 !important;background:#EAF6FF !important;color:#0F3D75 !important;border-radius:8px !important;font-size:.83rem !important;line-height:1 !important;font-weight:500 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;cursor:pointer !important;}
.agenda-copy-cpf-btn:hover,.agenda-copy-cpf-btn.copied{background:#0F3D75 !important;color:#FFFFFF !important;border-color:#0F3D75 !important;}
.agenda-copy-cpf-btn.copy-error{background:#FEE2E2 !important;color:#991B1B !important;border-color:#FCA5A5 !important;}

/* Popup aguardando: hierarquia mais leve e largura controlada */
.waiting-alert-toast-container{width:auto !important;max-width:none !important;}
.waiting-alert-toast{width:min(460px, 95vw) !important;max-width:95vw !important;padding:1rem 1.1rem !important;}
.waiting-alert-toast strong{font-weight:750 !important;font-size:1rem !important;line-height:1.25 !important;margin-right:0 !important;}
.waiting-alert-line{font-weight:500 !important;color:#EAF4FF !important;}
.waiting-alert-line span{font-weight:650 !important;}
.waiting-alert-actions{position:absolute;top:.45rem;right:.5rem;display:flex;gap:.4rem;align-items:center;}
.waiting-alert-actions .waiting-alert-close{position:static !important;}
.waiting-alert-set-service{border:0;background:rgba(255,255,255,.16);color:#fff;border-radius:999px;min-height:28px;padding:0 .7rem;font-size:.74rem;font-weight:650;cursor:pointer;}
.waiting-alert-set-service:hover{background:rgba(255,255,255,.28);}
.waiting-alert-set-service:disabled{opacity:.7;cursor:wait;}
.waiting-alert-kicker{font-weight:750 !important;margin-right:10.5rem !important;}
@media(max-width:768px){
  .agenda-date-line,.cadunico-tools-row-after-table .cadunico-date-form{display:grid !important;grid-template-columns:auto minmax(150px,1fr) auto !important;gap:.45rem !important;}
  .agenda-date-line .add-weekdays-btn,.agenda-date-line .add-month-btn{grid-column:1 / -1;margin-left:0 !important;width:100%;}
  .cadunico-action-buttons,.educator-social-action-buttons{display:grid !important;grid-template-columns:1fr !important;width:100%;gap:.45rem !important;margin-top:.45rem !important;}
  .waiting-alert-toast-container{left:50% !important;right:auto !important;transform:translateX(-50%) !important;top:72px !important;width:auto !important;}
  .waiting-alert-toast{width:min(420px, 95vw) !important;}
}
@media(orientation:landscape) and (max-width:980px){
  .waiting-alert-toast-container{left:50% !important;right:auto !important;transform:translateX(-50%) !important;width:auto !important;}
  .waiting-alert-toast{width:min(520px, 95vw) !important;}
}

/* Base de documentação: tabela de status e publicidade recolhível. */
.doc-public-details{border:1px solid #D7ECFF;border-radius:.65rem;background:#F8FBFF;padding:.35rem .55rem;color:#34465d;}
.doc-public-details summary{cursor:pointer;color:#0F3D75;font-weight:750;list-style:none;}
.doc-public-details summary::-webkit-details-marker{display:none;}
.doc-public-details summary::after{content:' ▾';font-size:.82em;color:#607386;}
.doc-public-details[open] summary::after{content:' ▴';}
.doc-public-details span{display:block;margin-top:.35rem;font-weight:750;color:#243a53;}
.doc-public-details small{display:block;margin-top:.25rem;color:#516476;font-weight:500;line-height:1.35;}
.doc-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;}
.doc-status-grid div{background:#F8FBFF;border:1px solid #D7ECFF;border-radius:1rem;padding:.85rem;box-shadow:0 6px 16px rgba(15,45,92,.06);}
.doc-status-grid strong{display:block;color:#0F3D75;font-weight:850;font-size:1.35rem;}
.doc-status-grid span{color:#52667c;font-weight:600;}

/* =========================================================
   AcolheMGA v0.89f — Manual mobile e agenda JS externo
   ========================================================= */
.manual-mobile-index{
  display:none;
  border:1px solid #D7E6F5;
  border-left:5px solid #0F3D75;
  border-radius:18px;
  background:#F7FBFF;
  padding:1rem;
  margin:0 0 1rem;
  box-shadow:0 8px 22px rgba(15,61,117,.06);
}
.manual-mobile-index strong{
  display:block;
  color:#0F3D75;
  font-size:1.05rem;
  font-weight:850;
  margin-bottom:.15rem;
}
.manual-mobile-index span{
  display:block;
  color:#4E647A;
  font-size:.92rem;
  margin-bottom:.75rem;
}
.manual-mobile-links{
  display:grid;
  grid-template-columns:1fr;
  gap:.45rem;
  max-height:360px;
  overflow:auto;
  padding-right:.15rem;
}
.manual-mobile-links a{
  display:block;
  border:1px solid #D7E6F5;
  border-radius:12px;
  padding:.65rem .75rem;
  background:#FFFFFF;
  color:#0F3D75;
  text-decoration:none;
  font-weight:700;
  line-height:1.25;
}
.manual-mobile-links a:hover,
.manual-mobile-links a:focus{
  background:#EAF4FF;
  text-decoration:none;
}
@media(max-width:768px){
  .manual-index{display:none !important;}
  .manual-mobile-index{display:block;}
  .manual-document{font-size:.96rem;}
  .manual-section{padding:1rem !important;border-radius:14px !important;margin-bottom:.9rem !important;scroll-margin-top:82px;}
  .manual-section h2{font-size:1.08rem !important;line-height:1.25 !important;margin-bottom:.65rem !important;}
  .manual-section p{font-size:.95rem !important;line-height:1.55 !important;}
  .manual-return-top{text-align:left;font-size:.82rem;margin-top:.5rem;}
}


/* =========================================================
   AcolheMGA v0.89h — correções visuais agenda/RMA
   ========================================================= */
/* Reequilíbrio de colunas: restaura Horário/Status e amplia Atendimento. */
.inline-agenda-table{
  width:100% !important;
  min-width:1380px !important;
  table-layout:fixed !important;
}
.inline-agenda-table .col-time{
  width:7% !important;
  min-width:92px !important;
  max-width:104px !important;
}
.inline-agenda-table .col-status{
  width:12% !important;
  min-width:150px !important;
}
.inline-agenda-table .col-name{
  width:28% !important;
  min-width:330px !important;
}
.inline-agenda-table .col-cpf{
  width:13.5% !important;
  min-width:184px !important;
}
.inline-agenda-table .col-phone{
  width:12% !important;
  min-width:150px !important;
}
.inline-agenda-table .col-service{
  width:17.5% !important;
  min-width:230px !important;
}
.inline-agenda-table .col-observation,
.inline-agenda-table th.col-observation{
  width:17% !important;
  min-width:245px !important;
}
.inline-agenda-table .col-time select,
.inline-agenda-table .col-time input{
  font-weight:600 !important;
  text-align:left !important;
  text-align-last:left !important;
  padding-left:.48rem !important;
}
.inline-agenda-table .status-select-pill,
.status-pill-select,
.status-pill-select select{
  font-weight:700 !important;
}
.inline-agenda-table .type-service-select{
  font-weight:600 !important;
}
.cadunico-table .col-service,
.educator-social-table .col-service{
  width:17.5% !important;
  min-width:230px !important;
}
.cadunico-table .col-cpf,
.educator-social-table .col-cpf{
  width:13.5% !important;
  min-width:184px !important;
}
.cadunico-table .col-phone,
.educator-social-table .col-phone,
.inline-agenda-table:not(.cadunico-table):not(.educator-social-table) .col-phone{
  width:12% !important;
  min-width:150px !important;
}

/* CPF com botão de copiar dentro do campo, no mesmo padrão visual da Central/Cadastros. */
.agenda-cpf-cell{
  position:relative !important;
  display:block !important;
  min-width:170px !important;
}
.agenda-cpf-cell input{
  width:100% !important;
  min-width:0 !important;
  padding-right:2.35rem !important;
}
.agenda-copy-cpf-btn{
  position:absolute !important;
  right:.38rem !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:24px !important;
  min-width:24px !important;
  height:24px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#e8f1fb !important;
  color:#0f2d5c !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  box-shadow:none !important;
}
.agenda-copy-cpf-icon{
  width:14px !important;
  height:14px !important;
  display:block !important;
  object-fit:contain !important;
}
.agenda-copy-cpf-btn:hover,
.agenda-copy-cpf-btn.copied{
  background:#0f3d75 !important;
}
.agenda-copy-cpf-btn:hover .agenda-copy-cpf-icon,
.agenda-copy-cpf-btn.copied .agenda-copy-cpf-icon{
  filter:brightness(0) invert(1) !important;
}
.agenda-copy-cpf-btn.copy-error{background:#fee2e2 !important;}

/* Seletor de data técnico, CadÚnico e Educador: mesmo padrão, sem sobreposição. */
.technical-tools-row-after-table,
.cadunico-tools-row-after-table,
.educator-social-tools-row-after-table{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:.7rem !important;
  flex-wrap:wrap !important;
}
.technical-tools-row-after-table .cadunico-date-form,
.cadunico-tools-row-after-table .cadunico-date-form,
.educator-social-tools-row-after-table .cadunico-date-form{
  display:flex !important;
  align-items:center !important;
  gap:.45rem !important;
  flex-wrap:nowrap !important;
  margin-bottom:.35rem !important;
}
.technical-tools-row-after-table .cadunico-date-form label,
.cadunico-tools-row-after-table .cadunico-date-form label,
.educator-social-tools-row-after-table .cadunico-date-form label{
  font-weight:500 !important;
  margin-bottom:0 !important;
  color:#26394f !important;
  white-space:normal !important;
  max-width:95px !important;
  line-height:1.15 !important;
}
.technical-tools-row-after-table input[type="date"],
.cadunico-tools-row-after-table input[type="date"],
.educator-social-tools-row-after-table input[type="date"]{
  width:150px !important;
  min-width:138px !important;
  max-width:155px !important;
}
.technical-action-buttons,
.cadunico-action-buttons,
.educator-social-action-buttons{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:.5rem !important;
  align-items:center !important;
}
.technical-action-buttons .btn,
.cadunico-action-buttons .btn,
.educator-social-action-buttons .btn{
  font-weight:500 !important;
  white-space:normal !important;
  margin-left:0 !important;
}
@media(max-width:768px){
  .technical-tools-row-after-table,
  .cadunico-tools-row-after-table,
  .educator-social-tools-row-after-table{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.65rem !important;
  }
  .technical-tools-row-after-table .cadunico-date-form,
  .cadunico-tools-row-after-table .cadunico-date-form,
  .educator-social-tools-row-after-table .cadunico-date-form{
    display:grid !important;
    grid-template-columns:auto 138px auto !important;
    gap:.45rem !important;
    align-items:center !important;
  }
  .technical-tools-row-after-table input[type="date"],
  .cadunico-tools-row-after-table input[type="date"],
  .educator-social-tools-row-after-table input[type="date"]{
    width:138px !important;
    min-width:132px !important;
    max-width:140px !important;
  }
  .technical-action-buttons,
  .cadunico-action-buttons,
  .educator-social-action-buttons{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    gap:.48rem !important;
    margin-top:0 !important;
  }
  .technical-action-buttons .btn,
  .cadunico-action-buttons .btn,
  .educator-social-action-buttons .btn{
    width:100% !important;
  }
}

/* Popup Aguardando: conteúdo semibold, menos pesado que antes, sem hora no status. */
.waiting-alert-toast{
  width:min(470px, 95vw) !important;
  max-width:95vw !important;
  padding:1rem 1.1rem !important;
}
.waiting-alert-kicker{
  font-weight:700 !important;
  font-size:.82rem !important;
  margin-right:10.5rem !important;
}
.waiting-alert-name,
.waiting-alert-toast strong{
  font-weight:650 !important;
  font-size:1.06rem !important;
  line-height:1.28 !important;
}
.waiting-alert-line{
  font-weight:600 !important;
  font-size:.96rem !important;
  color:#EAF4FF !important;
}
.waiting-alert-line span{
  font-weight:650 !important;
}
.waiting-alert-set-service,
.waiting-alert-ok{
  font-weight:700 !important;
}
@media(orientation:landscape) and (max-width:980px){
  .waiting-alert-toast{width:min(520px, 95vw) !important;}
}


/* =========================================================
   AcolheMGA v0.89j — ajustes finos agenda, documentação e Central
   ========================================================= */
/* Agenda: reequilíbrio de colunas sem perder legibilidade. */
.inline-agenda-table{
  min-width:1380px !important;
  table-layout:fixed !important;
}
.inline-agenda-table .col-time{
  width:7% !important;
  min-width:92px !important;
  max-width:104px !important;
}
.inline-agenda-table .col-time select,
.inline-agenda-table .col-time input{
  padding:.34rem .36rem !important;
  font-weight:600 !important;
  line-height:1.15 !important;
}
.inline-agenda-table .col-status{
  width:10.8% !important;
  min-width:138px !important;
}
.inline-agenda-table .col-name{
  width:25.2% !important;
  min-width:300px !important;
}
.inline-agenda-table .col-cpf,
.cadunico-table .col-cpf,
.educator-social-table .col-cpf{
  width:14.1% !important;
  min-width:192px !important;
}
.inline-agenda-table .col-phone,
.cadunico-table .col-phone,
.educator-social-table .col-phone{
  width:12% !important;
  min-width:150px !important;
}
.inline-agenda-table .col-service,
.cadunico-table .col-service,
.educator-social-table .col-service{
  width:18.5% !important;
  min-width:245px !important;
}
.inline-agenda-table .col-observation,
.inline-agenda-table th.col-observation,
.cadunico-table .col-observation,
.educator-social-table .col-observation{
  width:16% !important;
  min-width:230px !important;
}
.inline-agenda-table .col-action,
.cadunico-table .col-action,
.educator-social-table .col-action{
  width:128px !important;
  min-width:128px !important;
  max-width:140px !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:visible !important;
}
.inline-agenda-table .col-action .autosave-state,
.cadunico-table .col-action .autosave-state,
.educator-social-table .col-action .autosave-state{
  display:block !important;
  width:100% !important;
  margin-top:2px !important;
  text-align:center !important;
  font-size:.68rem !important;
}
.inline-agenda-table .status-select-pill,
.status-pill-select,
.status-pill-select select{
  font-weight:700 !important;
}
.inline-agenda-table .type-service-select{
  font-weight:600 !important;
  font-size:.88rem !important;
}
.agenda-cpf-cell{
  position:relative !important;
  display:block !important;
  width:96% !important;
  min-width:0 !important;
}
.agenda-cpf-cell input,
.inline-agenda-table input[name="cpf"],
.cpf-input{
  font-weight:700 !important;
}
.agenda-cpf-cell input{
  width:100% !important;
  height:calc(1.5em + .65rem + 2px) !important;
  padding-right:2.15rem !important;
  padding-left:.48rem !important;
}
.agenda-copy-cpf-btn{
  background:#0F5C46 !important;
  border:1px solid #0B4938 !important;
  color:#FFFFFF !important;
  box-shadow:0 2px 6px rgba(15,92,70,.18) !important;
}
.agenda-copy-cpf-btn:hover,
.agenda-copy-cpf-btn.copied{
  background:#0B4938 !important;
  border-color:#06392C !important;
}
.agenda-copy-cpf-icon{
  filter:brightness(0) invert(1) !important;
}
.inline-icon-btn.inline-save-pretty,
.inline-save-btn,
.inline-icon-btn.inline-delete-pretty,
.inline-delete-btn,
.inline-concession-btn{
  width:30px !important;
  min-width:30px !important;
  height:30px !important;
  margin:0 1px !important;
  vertical-align:middle !important;
}
.inline-concession-btn{
  display:inline-flex !important;
  position:static !important;
}
@media(max-width:768px){
  .inline-agenda-table .col-time,
  .cadunico-table .col-time,
  .educator-social-table .col-time{min-width:92px !important;}
  .inline-agenda-table .col-status,
  .cadunico-table .col-status,
  .educator-social-table .col-status{min-width:138px !important;}
  .inline-agenda-table .col-name,
  .cadunico-table .col-name,
  .educator-social-table .col-name{min-width:300px !important;}
  .inline-agenda-table .col-service,
  .cadunico-table .col-service,
  .educator-social-table .col-service{min-width:245px !important;}
  .inline-agenda-table .col-action,
  .cadunico-table .col-action,
  .educator-social-table .col-action{min-width:128px !important;}
}

/* Base de Documentação: quadro repetido removido no PHP; cards sem data técnica. */
.documentation-status-card{display:none !important;}

/* Central do Usuário: hierarquia mais leve, nome em maiúsculas e botões ajustados. */
.user-center-name-line h2,
.user-center-open-form input[name="name"],
.user-center-open-form input[name="social_name"],
.family-member-name{
  text-transform:uppercase !important;
}
.user-center-hero-actions .user-action-sascweb{
  background:#14549C !important;
  border-color:#0F3D75 !important;
  color:#FFFFFF !important;
}
.user-center-hero-actions .user-action-sascweb:hover,
.user-center-hero-actions .user-action-sascweb:focus{
  background:#0F3D75 !important;
  border-color:#0A2B54 !important;
}
.user-action-whatsapp-icon{
  width:1.18rem !important;
  height:1.18rem !important;
  filter:none !important;
}
.user-center-nav a{
  font-weight:600 !important;
}
.user-center-section .institutional-section-title,
.user-center-section-header .institutional-section-title{
  font-weight:600 !important;
}
.user-center-summary-card span{
  font-weight:700 !important;
}

/* v0.90 - Autocomplete robusto da agenda e busca global */
.ui-autocomplete,
.acolhe-autocomplete-fallback{
  z-index: 99999 !important;
  max-height: 260px;
  overflow-y: auto;
  overflow-x: hidden;
  background: #ffffff;
  border: 1px solid #b9d7f2;
  border-radius: 14px;
  box-shadow: 0 14px 32px rgba(15,45,92,.18);
  padding: .35rem;
  font-family: Montserrat, Arial, sans-serif;
}
.ui-autocomplete .ui-menu-item-wrapper{
  border-radius: 10px;
  padding: .45rem .55rem;
}
.ui-autocomplete .ui-menu-item-wrapper.ui-state-active,
.ui-autocomplete .ui-menu-item-wrapper:hover{
  border: 0;
  background: #eaf6ff;
  color: #0f2d5c;
}
.acolhe-autocomplete-fallback-item{
  display:block;
  width:100%;
  border:0;
  background:transparent;
  text-align:left;
  border-radius:10px;
  padding:.45rem .55rem;
  cursor:pointer;
}
.acolhe-autocomplete-fallback-item:hover,
.acolhe-autocomplete-fallback-item:focus{
  background:#eaf6ff;
  outline:none;
}

/* =========================================================
   AcolheMGA v0.90b — ajustes visuais e compactação segura
   ========================================================= */
/* Agenda: pequenos ajustes de largura solicitados em todas as agendas. */
.inline-agenda-table .col-status,
.cadunico-table .col-status,
.educator-social-table .col-status{
  width:10.35% !important;
  min-width:132px !important;
}
.inline-agenda-table .col-cpf,
.cadunico-table .col-cpf,
.educator-social-table .col-cpf{
  width:13% !important;
  min-width:178px !important;
}
.inline-agenda-table .col-action,
.cadunico-table .col-action,
.educator-social-table .col-action{
  width:115px !important;
  min-width:115px !important;
  max-width:124px !important;
}
.inline-agenda-table .col-phone input,
.cadunico-table .col-phone input,
.educator-social-table .col-phone input,
.inline-agenda-table input[name="phone"],
.cadunico-table input[name="phone"],
.educator-social-table input[name="phone"]{
  font-weight:600 !important;
}

/* Base de documentação: menos caixas dentro de caixas e links úteis para páginas do sistema. */
.documentation-base-compact-page .documentation-base-hero-compact{
  padding:1.05rem 1.15rem !important;
  margin-bottom:.9rem !important;
}
.documentation-base-compact-page .documentation-base-hero-compact h1{
  font-size:1.45rem !important;
  margin-bottom:.35rem !important;
}
.documentation-base-compact-page .documentation-base-hero-compact p{
  margin-bottom:.75rem !important;
}
.documentation-base-summary-compact{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(112px,1fr)) !important;
  gap:.45rem !important;
}
.documentation-base-summary-compact div{
  padding:.5rem .55rem !important;
  border-radius:10px !important;
  min-height:auto !important;
}
.documentation-base-summary-compact strong{
  font-size:1.05rem !important;
}
.documentation-card-compact{
  padding:.85rem .95rem !important;
  margin-bottom:.85rem !important;
  border-radius:14px !important;
}
.documentation-card-compact h2{
  font-size:1.05rem !important;
  margin-bottom:.7rem !important;
}
.documentation-base-list-compact{
  display:block !important;
}
.documentation-base-item-compact{
  padding:.65rem .75rem !important;
  margin-bottom:.55rem !important;
  border-radius:12px !important;
  box-shadow:none !important;
}
.documentation-base-item-compact .documentation-base-item-head{
  margin-bottom:.35rem !important;
}
.documentation-base-item-compact h3{
  font-size:.94rem !important;
  line-height:1.25 !important;
}
.documentation-base-item-compact p{
  font-size:.84rem !important;
  margin-bottom:.45rem !important;
}
.doc-link-list-compact{
  gap:.4rem !important;
}
.doc-link-card-compact{
  padding:.48rem .55rem !important;
  border-radius:10px !important;
}
.doc-link-card-compact strong{
  font-size:.84rem !important;
}
.doc-link-card-compact span,
.doc-link-card-compact small{
  font-size:.72rem !important;
}
.doc-note-compact{
  padding:.45rem .55rem !important;
  border-radius:10px !important;
  font-size:.78rem !important;
}

/* Novo cadastro: visual mais próximo dos cards/formulários institucionais do cadastro existente. */
.registration-add-card-swapped.registration-add-blue-card{
  background:#ffffff !important;
  border:1px solid #D8E5F2 !important;
  color:#173A60 !important;
  border-radius:18px !important;
  box-shadow:0 8px 22px rgba(15,61,117,.08) !important;
}
.registration-add-card-swapped .registration-add-header{
  border-bottom:1px solid #E4EEF8 !important;
  padding-bottom:.65rem !important;
  margin-bottom:.75rem !important;
}
.registration-add-card-swapped .registration-add-header h2{
  color:#0F3D75 !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
}
.registration-new-card-inner{
  background:#F8FBFE !important;
  border:1px solid #DDE9F6 !important;
  border-radius:16px !important;
  padding:1rem !important;
}
.registration-new-card-inner label{
  color:#24476D !important;
  font-weight:600 !important;
  font-size:.82rem !important;
}
.registration-new-card-inner .form-control{
  border-color:#C9DDF3 !important;
  border-radius:10px !important;
  color:#172E49 !important;
}
.registration-new-card-inner .btn-success{
  border-radius:10px !important;
  font-weight:700 !important;
}


/* =========================================================
   AcolheMGA v0.90c — ajustes pontuais Base de Documentação e Manual
   ========================================================= */
.documentation-base-section-flat{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:1.15rem 0 1.35rem !important;
  border-radius:0 !important;
}
.documentation-base-section-flat>h2{
  margin:0 0 .85rem !important;
  padding:.1rem .15rem 0 !important;
  color:#0f2d5c !important;
  font-weight:900 !important;
}
.documentation-index-table{
  width:100% !important;
  table-layout:fixed !important;
}
.documentation-index-table .doc-col-document{width:30% !important;}
.documentation-index-table .doc-col-status{width:16% !important;}
.documentation-index-table .doc-col-publicity{width:24% !important;}
.documentation-index-table .doc-col-origin{width:30% !important;}
.documentation-index-table th,
.documentation-index-table td{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
.documentation-index-table th:nth-child(2),
.documentation-index-table td:nth-child(2){text-align:center !important;}
.documentation-index-table th:nth-child(3),
.documentation-index-table td:nth-child(3){text-align:center !important;}
.documentation-index-table td:nth-child(4){font-size:.82rem !important;line-height:1.25 !important;}
.manual-page-subtitle{
  color:#3f5269;
  font-size:.98rem;
  font-weight:600;
  line-height:1.45;
  max-width:920px;
  margin:0 0 .35rem;
}
.manual-section h2{margin-bottom:.25rem !important;}
.manual-section-subtitle{
  color:#52667c;
  font-size:.92rem;
  font-weight:700;
  line-height:1.45;
  margin:0 0 .85rem !important;
}
.manual-quick-index{
  display:none;
  border:1px solid #D7E6F5;
  border-left:5px solid #0F3D75;
  border-radius:18px;
  background:#F7FBFF;
  padding:1rem;
  margin:0 0 1rem;
  box-shadow:0 8px 22px rgba(15,61,117,.06);
}
.manual-quick-index strong{
  display:block;
  color:#0F3D75;
  font-size:1.05rem;
  font-weight:850;
  margin-bottom:.15rem;
}
.manual-quick-index span{
  display:block;
  color:#4E647A;
  font-size:.92rem;
  margin-bottom:.75rem;
}
.manual-quick-links{
  display:grid;
  grid-template-columns:1fr;
  gap:.45rem;
  max-height:360px;
  overflow:auto;
  padding-right:.15rem;
}
.manual-quick-links a{
  display:block;
  border:1px solid #D7E6F5;
  border-radius:12px;
  padding:.65rem .75rem;
  background:#FFFFFF;
  color:#0F3D75;
  text-decoration:none;
  font-weight:700;
  line-height:1.25;
}
.manual-quick-links a:hover,
.manual-quick-links a:focus{
  background:#EAF4FF;
  text-decoration:none;
}
@media(max-width:768px){
  .documentation-index-table th,
  .documentation-index-table td{
    min-width:0 !important;
    font-size:.74rem !important;
    padding:.42rem .32rem !important;
  }
  .documentation-index-table .doc-col-document{width:30% !important;}
  .documentation-index-table .doc-col-status{width:16% !important;}
  .documentation-index-table .doc-col-publicity{width:24% !important;}
  .documentation-index-table .doc-col-origin{width:30% !important;}
  .doc-index-status{font-size:.56rem !important;padding:.14rem .32rem !important;}
  .doc-public-details{padding:.24rem .32rem !important;border-radius:.55rem !important;}
  .doc-public-details summary{font-size:.72rem !important;line-height:1.15 !important;}
  .documentation-base-section-flat{margin:1rem 0 1.2rem !important;}
  .manual-index{display:none !important;}
  .manual-quick-index{display:block !important;}
  .manual-section-subtitle{font-size:.86rem !important;margin-bottom:.65rem !important;}
}


/* =========================================================
   AcolheMGA v0.90d — ajustes visuais finos da Agenda
   ========================================================= */
/* Colunas: compactação pontual solicitada, mantendo leitura horizontal no mobile. */
.inline-agenda-table .col-time,
.cadunico-table .col-time,
.educator-social-table .col-time{
  width:6.65% !important;
  min-width:87px !important;
  max-width:99px !important;
}
.inline-agenda-table .col-cpf,
.cadunico-table .col-cpf,
.educator-social-table .col-cpf{
  width:12.35% !important;
  min-width:169px !important;
}
.inline-agenda-table .col-phone,
.cadunico-table .col-phone,
.educator-social-table .col-phone{
  width:10.8% !important;
  min-width:135px !important;
}
.inline-agenda-table .col-service,
.cadunico-table .col-service,
.educator-social-table .col-service{
  width:19.6% !important;
  min-width:260px !important;
}
.inline-agenda-table .col-action,
.educator-social-table .col-action{
  width:109px !important;
  min-width:109px !important;
  max-width:118px !important;
}
.cadunico-table .col-action{
  width:98px !important;
  min-width:98px !important;
  max-width:106px !important;
}
.inline-agenda-table .type-service-select,
.cadunico-table .type-service-select,
.educator-social-table .type-service-select{
  font-size:13px !important;
  font-weight:700 !important;
  padding-left:.42rem !important;
}

/* PCD: mesmo porte visual da lupa, com contorno de destaque dentro da paleta institucional. */
.pcd-agenda-badge{
  right:1.92rem !important;
  width:1.35rem !important;
  min-width:1.35rem !important;
  height:1.35rem !important;
  min-height:1.35rem !important;
  background:#FFF7ED !important;
  color:#0F3D75 !important;
  border:2px solid #F59E0B !important;
  font-size:.92rem !important;
  font-weight:800 !important;
  box-shadow:0 2px 6px rgba(245,158,11,.24) !important;
}
.name-input-wrap .inline-name-input,
.name-input-wrap input[name="name"]{
  padding-right:4.05rem !important;
}

/* Lupa: tooltip menos poluído e mais legível em tela pequena. */
.history-icon-link{
  width:1.35rem !important;
  height:1.35rem !important;
  min-width:1.35rem !important;
  min-height:1.35rem !important;
  font-size:.9rem !important;
}
.tooltip.show{opacity:.96 !important;}
.tooltip-inner{
  max-width:min(360px, 86vw) !important;
  background:#0F2D5C !important;
  color:#FFFFFF !important;
  border-radius:.85rem !important;
  padding:.65rem .78rem !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:.82rem !important;
  line-height:1.42 !important;
  font-weight:600 !important;
  text-align:left !important;
  box-shadow:0 10px 24px rgba(15,45,92,.25) !important;
}
.bs-tooltip-auto[x-placement^="top"] .arrow::before,
.bs-tooltip-top .arrow::before{border-top-color:#0F2D5C !important;}
.bs-tooltip-auto[x-placement^="bottom"] .arrow::before,
.bs-tooltip-bottom .arrow::before{border-bottom-color:#0F2D5C !important;}

/* Botões de expansão: padronizados para Agenda Técnica, CadÚnico e Educador Social. */
.add-weekdays-btn{
  background:#EAF4FF !important;
  border-color:#BBD9F5 !important;
  color:#0F3D75 !important;
  font-weight:700 !important;
}
.add-weekdays-btn:hover,
.add-weekdays-btn:focus{
  background:#D7ECFF !important;
  border-color:#8FC3F2 !important;
  color:#0A2B54 !important;
}
.add-month-btn{
  background:#EAFBF7 !important;
  border-color:#A7E3D2 !important;
  color:#0F5C46 !important;
  font-weight:700 !important;
}
.add-month-btn:hover,
.add-month-btn:focus{
  background:#D7F4EC !important;
  border-color:#76D3BC !important;
  color:#0B4938 !important;
}

/* Espaçamento: linha branca apenas entre técnicos; módulos principais mais próximos. */
.technical-agenda-white-gap{
  height:14px !important;
  background:#FFFFFF !important;
  border:0 !important;
  margin:-.65rem 0 .85rem !important;
}
.agenda-between-modules{
  margin-top:.65rem !important;
  margin-bottom:.75rem !important;
}
.cadunico-main-title{
  margin-top:.35rem !important;
}
.educator-social-agenda-module{
  margin-top:.25rem !important;
}

@media(max-width:768px){
  .inline-agenda-table .col-time,
  .cadunico-table .col-time,
  .educator-social-table .col-time{min-width:87px !important;}
  .inline-agenda-table .col-cpf,
  .cadunico-table .col-cpf,
  .educator-social-table .col-cpf{min-width:169px !important;}
  .inline-agenda-table .col-phone,
  .cadunico-table .col-phone,
  .educator-social-table .col-phone{min-width:135px !important;}
  .inline-agenda-table .col-service,
  .cadunico-table .col-service,
  .educator-social-table .col-service{min-width:260px !important;}
  .inline-agenda-table .col-action,
  .educator-social-table .col-action{min-width:109px !important;}
  .cadunico-table .col-action{min-width:98px !important;}
  .tooltip-inner{
    max-width:82vw !important;
    font-size:.78rem !important;
    line-height:1.36 !important;
    padding:.58rem .68rem !important;
  }
  .technical-agenda-white-gap{
    height:12px !important;
    margin:-.55rem 0 .75rem !important;
  }
}


/* =========================================================
   AcolheMGA v0.90e — ajustes visuais Visitas Domiciliares
   ========================================================= */
/* Página de visitas: título e texto institucional mais limpos. */
.visits-page .content{
  overflow-x:hidden !important;
  box-sizing:border-box !important;
}
.visits-page .visit-main-title{
  font-size:clamp(1.65rem, 4.4vw, 2.25rem) !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.018em !important;
  color:#0F2D5C !important;
  margin-bottom:1rem !important;
}
.visits-page .visit-intro-professional{
  padding:1rem 1.15rem !important;
}
.visits-page .visit-intro-professional h2{
  font-size:1.18rem !important;
  line-height:1.18 !important;
  text-transform:none !important;
  letter-spacing:.005em !important;
}
.visits-page .visit-intro-professional p{
  font-size:.92rem !important;
  line-height:1.42 !important;
  max-width:980px !important;
}

/* Margem direita: evita a tabela terminar colada na borda da tela, especialmente no mobile. */
.visits-page .visit-table-section{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:.85rem !important;
  box-sizing:border-box !important;
}
.visits-page .visit-ajax-table-container{
  overflow-x:auto !important;
  padding-right:.85rem !important;
  box-sizing:border-box !important;
}

/* Colunas de CPF e telefone alinhadas visualmente ao porte das agendas da página inicial. */
.visits-page .visit-table-section .visit-col-cpf{
  width:12.35% !important;
  min-width:169px !important;
  max-width:190px !important;
}
.visits-page .visit-table-section .visit-col-phone{
  width:10.8% !important;
  min-width:135px !important;
  max-width:160px !important;
}
.visits-page .visit-table-section .visit-col-cpf input{
  min-width:150px !important;
  height:34px !important;
  min-height:34px !important;
  background:#E6F7EC !important;
  border-color:#B6E5C4 !important;
  color:#145C2E !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
  font-family:Montserrat, Arial, Helvetica, sans-serif !important;
}
.visits-page .visit-table-section .visit-col-phone input{
  min-width:122px !important;
  height:34px !important;
  min-height:34px !important;
  background:#EAF4FF !important;
  border-color:#B8DFFF !important;
  color:#0F3D75 !important;
  font-weight:600 !important;
}

/* Inclusão fica mais compacta sem afetar as colunas de tentativa. */
.visits-page .visit-table-section .visit-col-inclusion{
  width:7.2% !important;
  min-width:97px !important;
  max-width:104px !important;
}
.visits-page .visit-table-section .visit-col-inclusion input[type="date"]{
  min-width:92px !important;
  max-width:100px !important;
  font-size:.72rem !important;
  padding-left:.18rem !important;
  padding-right:.08rem !important;
}

/* Ação reduzida em torno de 6%, preservando os três ícones sem quebra. */
.visits-page .visit-table-section .visit-col-action,
.visits-page .visit-table-section .visit-action-icons{
  width:130px !important;
  min-width:130px !important;
  max-width:130px !important;
  overflow:visible !important;
  white-space:nowrap !important;
}

/* Mantém o bom padrão visual da lupa de visitas. */
.visits-page .visit-table-section .history-icon-link{
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  background:#EAF4FF !important;
  border:1px solid #BBD9F5 !important;
  color:#0F2D5C !important;
  box-shadow:0 1px 3px rgba(15,45,92,.10) !important;
}

/* Nome nas visitas como referência visual para futura harmonização com a agenda inicial. */
.visits-page .visit-table-section .name-input-wrap input[name="name"],
.visits-page .visit-table-section .name-input-wrap .inline-name-input{
  height:34px !important;
  min-height:34px !important;
  font-size:.82rem !important;
  font-weight:700 !important;
  border-color:#BBD9F5 !important;
  color:#0F2D5C !important;
}

@media(max-width:768px){
  .visits-page .content{
    padding-left:1.35rem !important;
    padding-right:1.35rem !important;
  }
  .visits-page .visit-table-section{
    padding-right:.85rem !important;
  }
  .visits-page .visit-ajax-table-container{
    padding-right:.85rem !important;
  }
  .visits-page .visit-main-title{
    font-size:1.72rem !important;
  }
  .visits-page .visit-table-section .visit-col-cpf{
    min-width:169px !important;
  }
  .visits-page .visit-table-section .visit-col-phone{
    min-width:135px !important;
  }
  .visits-page .visit-table-section .visit-col-action,
  .visits-page .visit-table-section .visit-action-icons{
    width:120px !important;
    min-width:120px !important;
    max-width:120px !important;
  }
}


/* =========================================================
   AcolheMGA v0.90f — Visitas: vinculação a cadastros e runtime
   ========================================================= */
.visits-page .visit-sync-card,
.visits-page .visit-runtime-card{
  background:#FFFFFF !important;
  border:1px solid #D7ECFF !important;
  border-radius:16px !important;
  padding:1rem 1.15rem !important;
  margin:0 0 1rem 0 !important;
  box-shadow:0 7px 18px rgba(15,61,117,.07) !important;
}
.visits-page .visit-sync-header{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:1rem !important;
  flex-wrap:wrap !important;
}
.visits-page .visit-sync-header h2,
.visits-page .visit-runtime-card h2{
  color:#0F2D5C !important;
  font-size:1rem !important;
  font-weight:900 !important;
  margin:0 0 .25rem 0 !important;
}
.visits-page .visit-sync-header p{
  margin:0 !important;
  color:#52687F !important;
  font-size:.84rem !important;
  font-weight:600 !important;
  line-height:1.35 !important;
}
.visits-page .visit-sync-actions{
  display:flex !important;
  gap:.45rem !important;
  flex-wrap:wrap !important;
}
.visits-page .visit-sync-grid,
.visits-page .visit-runtime-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(135px, 1fr)) !important;
  gap:.65rem !important;
  margin-top:.85rem !important;
}
.visits-page .visit-sync-grid > div,
.visits-page .visit-runtime-item{
  background:#F8FBFF !important;
  border:1px solid #D7ECFF !important;
  border-radius:12px !important;
  padding:.7rem .78rem !important;
}
.visits-page .visit-sync-grid strong,
.visits-page .visit-runtime-item strong{
  display:block !important;
  color:#0F2D5C !important;
  font-size:1.35rem !important;
  font-weight:900 !important;
  line-height:1 !important;
}
.visits-page .visit-sync-grid span,
.visits-page .visit-runtime-item span{
  display:block !important;
  margin-top:.32rem !important;
  color:#52687F !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.025em !important;
}
.visits-page .visit-sync-executed{
  margin-top:.85rem !important;
  padding:.65rem .8rem !important;
  border-radius:12px !important;
  background:#EAFBF7 !important;
  border:1px solid #A7E3D2 !important;
  color:#0F5C46 !important;
  font-size:.82rem !important;
  font-weight:700 !important;
}
.visits-page .visit-sync-pending{
  margin-top:.85rem !important;
  border:1px solid #F4C7C7 !important;
  background:#FFF7F7 !important;
  border-radius:12px !important;
  padding:.65rem .78rem !important;
}
.visits-page .visit-sync-pending summary{
  cursor:pointer !important;
  color:#8B1D17 !important;
  font-weight:900 !important;
  font-size:.86rem !important;
}
.visits-page .visit-sync-pending-list{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)) !important;
  gap:.55rem !important;
  margin-top:.65rem !important;
}
.visits-page .visit-sync-pending-item{
  background:#FFFFFF !important;
  border:1px solid #F5D0D0 !important;
  border-radius:10px !important;
  padding:.55rem .62rem !important;
}
.visits-page .visit-sync-pending-item strong,
.visits-page .visit-sync-pending-item span,
.visits-page .visit-sync-pending-item small{
  display:block !important;
}
.visits-page .visit-sync-pending-item strong{
  color:#0F2D5C !important;
  font-size:.78rem !important;
  font-weight:900 !important;
}
.visits-page .visit-sync-pending-item span{
  color:#52687F !important;
  font-size:.74rem !important;
  font-weight:700 !important;
  margin-top:.18rem !important;
}
.visits-page .visit-sync-pending-item small{
  color:#8B1D17 !important;
  font-size:.72rem !important;
  font-weight:700 !important;
  margin-top:.18rem !important;
}
.visits-page .visit-sync-more{
  margin:.55rem 0 0 0 !important;
  color:#52687F !important;
  font-size:.76rem !important;
  font-weight:700 !important;
}
.visits-page .visit-runtime-card{
  margin-top:.8rem !important;
  background:linear-gradient(135deg,#F8FBFF,#EEF6FF) !important;
}
.visits-page .visit-runtime-item strong{
  font-size:1.05rem !important;
}
.visits-page .visit-runtime-item span{
  text-transform:none !important;
  letter-spacing:0 !important;
  font-size:.74rem !important;
}
@media(max-width:768px){
  .visits-page .visit-sync-actions{
    width:100% !important;
  }
  .visits-page .visit-sync-actions .btn{
    flex:1 1 100% !important;
  }
}


/* =========================================================
   AcolheMGA v0.90h — ajustes pontuais agenda, visitas e saúde
   ========================================================= */

/* Agenda inicial — nome mais leve. Observação: 0.0815rem seria ilegível; aplicado 0.815rem. */
.inline-agenda-table .col-name input,
.inline-agenda-table input[name="name"],
.cadunico-table .col-name input,
.cadunico-table input[name="name"],
.educator-social-table .col-name input,
.educator-social-table input[name="name"]{
  font-size:0.815rem !important;
  font-weight:500 !important;
  letter-spacing:.008em !important;
}

/* Somente Agenda Técnica: telefone 15% mais compacto, sem afetar CadÚnico/Educador. */
.inline-agenda-table:not(.cadunico-table):not(.educator-social-table) .col-phone{
  width:9.18% !important;
  min-width:115px !important;
  max-width:128px !important;
}
.inline-agenda-table:not(.cadunico-table):not(.educator-social-table) .col-phone input{
  min-width:104px !important;
  padding-left:.28rem !important;
  padding-right:.20rem !important;
}

/* PCD com imagem própria, sem fundo laranja. */
.pcd-agenda-badge{
  right:1.92rem !important;
  width:1.36rem !important;
  min-width:1.36rem !important;
  height:1.36rem !important;
  min-height:1.36rem !important;
  background:transparent !important;
  border:0 !important;
  border-radius:.25rem !important;
  padding:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.pcd-agenda-icon{
  display:block !important;
  width:1.36rem !important;
  height:1.36rem !important;
  object-fit:contain !important;
  background:transparent !important;
  filter:drop-shadow(0 1px 2px rgba(15,45,92,.22)) !important;
}

/* Tooltip da lupa com quebras de linha reais e leitura mais limpa. */
.tooltip-inner{
  white-space:normal !important;
}
.history-icon-link[data-toggle="tooltip"] + .tooltip,
.tooltip{
  line-break:auto !important;
}

/* Card de data do CadÚnico padronizado ao Educador Social. */
.cadunico-tools-row-after-table.cadunico-tools-row-padronizado{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:.7rem !important;
  flex-wrap:wrap !important;
  margin-top:.45rem !important;
  margin-bottom:1rem !important;
  background:linear-gradient(180deg,#f8fbff,#edf5ff) !important;
  border:1px solid #cfe3ff !important;
  border-radius:14px !important;
  padding:12px !important;
  box-shadow:0 8px 18px rgba(15,45,92,.06) !important;
}
.cadunico-tools-row-after-table.cadunico-tools-row-padronizado .cadunico-date-form{
  display:flex !important;
  align-items:center !important;
  gap:.45rem !important;
  flex-wrap:nowrap !important;
  margin-bottom:.35rem !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}

/* Botões semana/mês um pouco mais escuros, mantendo hierarquia suave. */
.add-weekdays-btn{
  background:#D1E9FF !important;
  border-color:#8FC3F2 !important;
  color:#0A2B54 !important;
}
.add-weekdays-btn:hover,
.add-weekdays-btn:focus{
  background:#BBD9F5 !important;
  border-color:#67AEEB !important;
  color:#082344 !important;
}
.add-month-btn{
  background:#D2F0E7 !important;
  border-color:#76D3BC !important;
  color:#0B4938 !important;
}
.add-month-btn:hover,
.add-month-btn:focus{
  background:#BDE6DA !important;
  border-color:#4ABCA3 !important;
  color:#07372B !important;
}

/* Visitas: título 30% menor em relação ao ajuste anterior. */
.visits-page .visit-main-title{
  font-size:clamp(1.15rem, 3.05vw, 1.58rem) !important;
  line-height:1.08 !important;
  margin-bottom:.8rem !important;
}

/* Visitas: botões principais menos pesados. */
.visits-page .visit-toggle-new-btn,
.visits-page .visit-toggle-search-btn{
  font-weight:600 !important;
}

/* Visitas: remover padding lateral que roubava área útil da tabela. */
.visits-page .visit-table-section{
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.visits-page .visit-ajax-table-container{
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Visitas: CPF 8% menor e com botão de copiar. */
.visits-page .visit-table-section .visit-col-cpf{
  width:11.36% !important;
  min-width:156px !important;
  max-width:174px !important;
}
.visits-page .visit-table-section .visit-cpf-cell{
  display:flex !important;
  align-items:center !important;
  gap:.22rem !important;
  min-width:0 !important;
  width:100% !important;
}
.visits-page .visit-table-section .visit-cpf-cell input{
  min-width:112px !important;
  flex:1 1 auto !important;
  padding-right:1.85rem !important;
}
.visits-page .visit-table-section .visit-copy-cpf-btn{
  flex:0 0 24px !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  border-radius:7px !important;
  padding:0 !important;
}
.visits-page .visit-table-section .visit-copy-cpf-btn .agenda-copy-cpf-icon{
  width:13px !important;
  height:13px !important;
}

/* Visitas: reduzir padding nas colunas Motivo e Inclusão, especialmente à direita. */
.visits-page .visit-table-section .visit-col-reason,
.visits-page .visit-table-section .visit-col-inclusion{
  padding-left:.12rem !important;
  padding-right:.08rem !important;
}
.visits-page .visit-table-section .visit-col-reason input,
.visits-page .visit-table-section .visit-col-inclusion input{
  padding-left:.16rem !important;
  padding-right:.06rem !important;
}
.visits-page .visit-table-section .visit-col-inclusion input[type="date"]{
  min-width:86px !important;
  max-width:96px !important;
}

/* Saúde: estilos reaproveitados para vinculação de visitas e runtime por página. */
.health-page .visit-sync-card,
.health-page .health-runtime-section{
  background:#FFFFFF !important;
  border:1px solid #D7ECFF !important;
  border-radius:16px !important;
  padding:1rem 1.15rem !important;
  box-shadow:0 7px 18px rgba(15,61,117,.07) !important;
}
.health-page .visit-sync-header{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:1rem !important;
  flex-wrap:wrap !important;
}
.health-page .visit-sync-header h2,
.health-page .health-runtime-section h2{
  color:#0F2D5C !important;
  font-size:1rem !important;
  font-weight:900 !important;
  margin:0 0 .25rem 0 !important;
}
.health-page .visit-sync-actions,
.health-page .health-runtime-form{
  display:flex !important;
  align-items:center !important;
  gap:.45rem !important;
  flex-wrap:wrap !important;
}
.health-page .health-runtime-form{
  margin-top:.85rem !important;
}
.health-page .health-runtime-form label{
  font-size:.76rem !important;
  font-weight:900 !important;
  color:#0F2D5C !important;
  text-transform:uppercase !important;
  margin:0 !important;
}
.health-page .health-runtime-form select{
  max-width:240px !important;
}
.health-page .visit-sync-grid,
.health-page .health-runtime-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(135px, 1fr)) !important;
  gap:.65rem !important;
  margin-top:.85rem !important;
}
.health-page .visit-sync-grid > div,
.health-page .visit-runtime-item{
  background:#F8FBFF !important;
  border:1px solid #D7ECFF !important;
  border-radius:12px !important;
  padding:.7rem .78rem !important;
}
.health-page .visit-sync-grid strong,
.health-page .visit-runtime-item strong{
  display:block !important;
  color:#0F2D5C !important;
  font-size:1.15rem !important;
  font-weight:900 !important;
  line-height:1 !important;
}
.health-page .visit-sync-grid span,
.health-page .visit-runtime-item span{
  display:block !important;
  margin-top:.32rem !important;
  color:#52687F !important;
  font-size:.72rem !important;
  font-weight:800 !important;
}
.health-page .visit-sync-executed{
  margin-top:.85rem !important;
  padding:.65rem .8rem !important;
  border-radius:12px !important;
  background:#EAFBF7 !important;
  border:1px solid #A7E3D2 !important;
  color:#0F5C46 !important;
  font-size:.82rem !important;
  font-weight:700 !important;
}
.health-page .visit-sync-pending{
  margin-top:.85rem !important;
  border:1px solid #F4C7C7 !important;
  background:#FFF7F7 !important;
  border-radius:12px !important;
  padding:.65rem .78rem !important;
}
.health-page .visit-sync-pending summary{
  cursor:pointer !important;
  color:#8B1D17 !important;
  font-weight:900 !important;
}
.health-page .visit-sync-pending-list{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)) !important;
  gap:.55rem !important;
  margin-top:.65rem !important;
}
.health-page .visit-sync-pending-item{
  background:#FFFFFF !important;
  border:1px solid #F5D0D0 !important;
  border-radius:10px !important;
  padding:.55rem .62rem !important;
}
.health-page .visit-sync-pending-item strong,
.health-page .visit-sync-pending-item span,
.health-page .visit-sync-pending-item small{
  display:block !important;
}
.health-page .visit-sync-pending-item strong{color:#0F2D5C !important;font-size:.78rem !important;font-weight:900 !important;}
.health-page .visit-sync-pending-item span{color:#52687F !important;font-size:.74rem !important;font-weight:700 !important;margin-top:.18rem !important;}
.health-page .visit-sync-pending-item small{color:#8B1D17 !important;font-size:.72rem !important;font-weight:700 !important;margin-top:.18rem !important;}
.health-page .health-runtime-captured{
  margin:.6rem 0 0 0 !important;
  color:#52687F !important;
  font-size:.78rem !important;
  font-weight:700 !important;
}

@media(max-width:768px){
  .visits-page .visit-main-title{
    font-size:1.2rem !important;
  }
  .visits-page .visit-table-section,
  .visits-page .visit-ajax-table-container{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .visits-page .visit-table-section .visit-col-cpf{
    min-width:156px !important;
  }
  .health-page .visit-sync-actions,
  .health-page .health-runtime-form{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
  .health-page .health-runtime-form select,
  .health-page .health-runtime-form .btn{
    max-width:none !important;
    width:100% !important;
  }
}


/* =========================================================
   AcolheMGA v0.90i — ajustes pontuais Visitas e Index
   ========================================================= */

/* Visitas: título 12% maior que o ajuste v0.90h. */
.visits-page .visit-main-title{
  font-size:clamp(1.29rem, 3.42vw, 1.77rem) !important;
  line-height:1.08 !important;
}

/* Visitas: remover padding lateral da página inteira para recuperar área útil. */
.visits-page .content,
.visits-page .content.p-4{
  padding-left:0 !important;
  padding-right:0 !important;
}
.visits-page .visit-table-section,
.visits-page .visit-ajax-table-container{
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Visitas: botões +15% e peso 700. */
.visits-page .visit-toggle-new-btn,
.visits-page .visit-toggle-search-btn{
  font-weight:700 !important;
  font-size:1.15em !important;
  padding:.55rem 1rem !important;
  min-height:calc(2.25rem * 1.15) !important;
}

/* Visitas: CPF igual ao padrão visual do Index/Agenda Técnica, com botão copiar embutido. */
.visits-page .visit-table-section .visit-col-cpf{
  width:12.35% !important;
  min-width:169px !important;
  max-width:190px !important;
}
.visits-page .visit-table-section .visit-cpf-cell,
.visits-page .visit-table-section .agenda-cpf-cell.visit-cpf-cell{
  position:relative !important;
  display:block !important;
  width:96% !important;
  min-width:0 !important;
  gap:0 !important;
}
.visits-page .visit-table-section .visit-cpf-cell input,
.visits-page .visit-table-section .agenda-cpf-cell.visit-cpf-cell input{
  width:100% !important;
  min-width:112px !important;
  height:calc(1.5em + .65rem + 2px) !important;
  padding-right:2.15rem !important;
  padding-left:.48rem !important;
  background:#E6F7EC !important;
  border-color:#B6E5C4 !important;
  color:#145C2E !important;
  font-weight:700 !important;
}
.visits-page .visit-table-section .visit-copy-cpf-btn,
.visits-page .visit-table-section .agenda-copy-cpf-btn.visit-copy-cpf-btn{
  position:absolute !important;
  right:.38rem !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  flex:0 0 24px !important;
  width:24px !important;
  min-width:24px !important;
  height:24px !important;
  min-height:24px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#0F5C46 !important;
  color:#FFFFFF !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  box-shadow:0 2px 6px rgba(15,92,70,.18) !important;
}
.visits-page .visit-table-section .visit-copy-cpf-btn:hover,
.visits-page .visit-table-section .visit-copy-cpf-btn.copied{
  background:#0B4938 !important;
}
.visits-page .visit-table-section .visit-copy-cpf-btn.copy-error{
  background:#FEE2E2 !important;
}
.visits-page .visit-table-section .visit-copy-cpf-btn .agenda-copy-cpf-icon{
  width:14px !important;
  height:14px !important;
  filter:brightness(0) invert(1) !important;
}

/* Index/Agenda Técnica: diminuir o box/coluna HORÁRIO em 15%, sem afetar CadÚnico e Educador Social. */
.inline-agenda-table:not(.cadunico-table):not(.educator-social-table) .col-time{
  width:5.65% !important;
  min-width:74px !important;
  max-width:84px !important;
}
.inline-agenda-table:not(.cadunico-table):not(.educator-social-table) .col-time select,
.inline-agenda-table:not(.cadunico-table):not(.educator-social-table) .col-time input{
  min-width:64px !important;
  max-width:76px !important;
  padding-left:.28rem !important;
  padding-right:.18rem !important;
  font-size:.78rem !important;
}

@media(max-width:768px){
  .visits-page .visit-main-title{
    font-size:1.34rem !important;
  }
  .visits-page .content,
  .visits-page .content.p-4{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .visits-page .visit-toggle-new-btn,
  .visits-page .visit-toggle-search-btn{
    font-size:1.08em !important;
    padding:.52rem .9rem !important;
  }
  .visits-page .visit-table-section .visit-col-cpf{
    min-width:169px !important;
  }
  .inline-agenda-table:not(.cadunico-table):not(.educator-social-table) .col-time{
    min-width:74px !important;
  }
}


/* =========================================================
   AcolheMGA v0.90j — coluna HORÁRIO reduzida em todas as agendas
   ========================================================= */
/* Aplica a redução de aproximadamente 15% ao box/coluna HORÁRIO na Agenda Técnica, CadÚnico e Educador Social. */
.inline-agenda-table .col-time,
.cadunico-table .col-time,
.educator-social-table .col-time{
  width:5.65% !important;
  min-width:74px !important;
  max-width:84px !important;
}

.inline-agenda-table .col-time select,
.inline-agenda-table .col-time input,
.cadunico-table .col-time select,
.cadunico-table .col-time input,
.educator-social-table .col-time select,
.educator-social-table .col-time input{
  min-width:64px !important;
  max-width:76px !important;
  padding-left:.28rem !important;
  padding-right:.18rem !important;
  font-size:.78rem !important;
}

@media(max-width:768px){
  .inline-agenda-table .col-time,
  .cadunico-table .col-time,
  .educator-social-table .col-time{
    min-width:74px !important;
    max-width:84px !important;
  }
}


/* =========================================================
   AcolheMGA v0.90k — ajustes pontuais Index e Benefícios
   ========================================================= */

/* Agenda Técnica: reduzir coluna AÇÃO em ~15%, alinhando ao porte do CadÚnico/Educador Social. */
.inline-agenda-table:not(.cadunico-table):not(.educator-social-table) .col-action{
  width:109px !important;
  min-width:109px !important;
  max-width:119px !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:visible !important;
}

/* Agenda: reserva vertical de 1–2px e espaço fixo para o texto "Salvo", evitando salto de linha. */
.inline-agenda-table .autosave-row td,
.cadunico-table .autosave-row td,
.educator-social-table .autosave-row td{
  padding-top:.32rem !important;
  padding-bottom:.34rem !important;
}
.inline-agenda-table .col-action .autosave-state,
.cadunico-table .col-action .autosave-state,
.educator-social-table .col-action .autosave-state{
  min-height:15px !important;
  line-height:1.15 !important;
  margin-top:1px !important;
}
.inline-agenda-table:not(.cadunico-table):not(.educator-social-table) .col-action .inline-icon-btn{
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Benefícios: aviso integrado ao card de Cesta Básica, abaixo dos nomes dos técnicos. */
.benefits-deadline-card-inline{
  margin:-.15rem 0 1rem 0 !important;
  padding:14px 16px !important;
  font-size:.92rem !important;
}
.benefits-deadline-card-inline .benefits-deadline-icon{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  font-size:1rem !important;
}
.benefits-deadline-card-inline span{
  color:#0F3D75 !important;
}

@media(max-width:768px){
  .inline-agenda-table:not(.cadunico-table):not(.educator-social-table) .col-action{
    min-width:109px !important;
    max-width:119px !important;
  }
}


/* =========================================================
   AcolheMGA v0.91 — Guardião de linguagem técnica
   ========================================================= */
.content-guard-blocked{
  border-color:#DC2626 !important;
  background:#FFF1F2 !important;
  box-shadow:0 0 0 .14rem rgba(220,38,38,.15) !important;
}
.content-guard-message{
  display:none;
  margin:.28rem 0 .1rem 0;
  padding:.4rem .5rem;
  border:1px solid #FCA5A5;
  border-radius:.55rem;
  background:#FEF2F2;
  color:#991B1B;
  font-size:.76rem;
  font-weight:700;
  line-height:1.25;
}
.autosave-state.autosave-error{
  white-space:normal !important;
}


/* =========================================================
   AcolheMGA v0.91d — Central do Usuário, recepção e suporte
   ========================================================= */

/* Manual: textos longos com alinhamento justificado. */
.manual-card p,
.manual-section p{
  text-align:justify !important;
}

/* Fluxo rápido de status para perfil Recepção na Agenda Técnica. */
.reception-status-flow-btn{
  position:relative !important;
  width:37px !important;
  height:37px !important;
  min-width:37px !important;
  border-radius:12px !important;
  font-weight:900 !important;
  font-size:1.05rem !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(15,61,117,.16) !important;
  box-shadow:0 5px 12px rgba(15,61,117,.16) !important;
  transition:transform .12s ease, box-shadow .12s ease, filter .12s ease !important;
}
.reception-status-flow-btn:hover{
  transform:translateY(-1px) !important;
  filter:saturate(1.06) !important;
  box-shadow:0 8px 18px rgba(15,61,117,.28) !important;
}
.reception-status-flow-btn:hover::after{
  content:attr(title);
  position:absolute;
  right:0;
  bottom:calc(100% + 8px);
  z-index:50;
  min-width:176px;
  max-width:220px;
  padding:.42rem .55rem;
  border-radius:.65rem;
  background:#0F3D75;
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  line-height:1.2;
  text-align:center;
  box-shadow:0 8px 18px rgba(15,61,117,.25);
  white-space:normal;
  pointer-events:none;
}
.reception-flow-waiting{
  background:#FEF3C7 !important;
  color:#92400E !important;
  border-color:#F59E0B !important;
}
.reception-flow-service{
  background:#DBEAFE !important;
  color:#0F3D75 !important;
  border-color:#60A5FA !important;
}
.reception-flow-finish{
  background:#DCFCE7 !important;
  color:#166534 !important;
  border-color:#22C55E !important;
}
.agenda-created-highlight td{
  animation:agendaCreatedPulse 1.1s ease-in-out 0s 6;
}
@keyframes agendaCreatedPulse{
  0%,100%{box-shadow:inset 0 0 0 0 rgba(220,38,38,0);}
  50%{box-shadow:inset 0 0 0 2px rgba(220,38,38,.35);}
}
.agenda-highlight-dot{
  display:inline-block;
  width:11px;
  height:11px;
  border-radius:999px;
  background:#DC2626;
  box-shadow:0 0 0 4px rgba(220,38,38,.16);
  margin-right:5px;
  vertical-align:middle;
}

/* Central do Usuário: hierarquia visual solicitada. */
.user-center-page .user-center-topline .page-title{
  font-size:2.08rem !important;
  line-height:1.08 !important;
}
.user-center-page #cadastro .institutional-section-title,
.user-center-page #relatos .institutional-section-title{
  font-size:1.43rem !important;
  line-height:1.12 !important;
}
.user-center-nav a{
  font-size:.9rem !important;
  font-weight:600 !important;
  padding:.48rem .72rem !important;
}
.user-center-nav a.user-center-nav-relatos{
  background:#F59E0B !important;
  border-color:#D97706 !important;
  color:#fff !important;
  box-shadow:0 5px 12px rgba(217,119,6,.18);
}
.user-center-nav a.user-center-nav-relatos:hover{
  background:#D97706 !important;
  color:#fff !important;
}
.user-confidential-meta span{
  display:block;
  color:#7A8795 !important;
  font-size:.78rem !important;
  font-weight:400 !important;
  line-height:1.25 !important;
  padding:0 !important;
  margin-top:.12rem !important;
}
.user-schedule-dropdown{
  display:inline-block;
}
.user-schedule-menu{
  width:280px;
  border:1px solid #CFE0F2;
  border-radius:14px;
  box-shadow:0 12px 26px rgba(15,61,117,.18);
}
.user-schedule-menu label{
  color:#0F2D5C;
  font-size:.76rem;
  font-weight:800;
  margin-bottom:.2rem;
}
.user-action-schedule{
  font-weight:800 !important;
}
@media(max-width:768px){
  .user-center-page .user-center-topline .page-title{
    font-size:1.65rem !important;
  }
  .user-center-page #cadastro .institutional-section-title,
  .user-center-page #relatos .institutional-section-title{
    font-size:1.26rem !important;
  }
  .user-center-hero-actions .dropdown,
  .user-schedule-dropdown,
  .user-schedule-dropdown .btn{
    width:100% !important;
  }
  .user-schedule-menu{
    width:100%;
    min-width:0;
  }
}

/* Suporte: proteção extra contra estouro horizontal em URLs e mensagens longas. */
.support-ticket-row,
.support-ticket-title,
.support-message,
.support-muted{
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}


/* =========================================================
   AcolheMGA v0.91e — ajustes finos Cadastro do Usuário
   ========================================================= */

/* Títulos da Central: menos peso visual e seção Cadastro 10% menor. */
.user-center-page .user-center-topline .page-title{
  font-weight:600 !important;
}
.user-center-page #cadastro .institutional-section-title{
  font-size:1.29rem !important;
  font-weight:600 !important;
  line-height:1.12 !important;
}
.user-center-page #relatos .institutional-section-title{
  font-weight:600 !important;
}

/* Botão Agendar Atendimento: roxo escuro e abertura interna no card. */
.user-action-schedule{
  color:#FFFFFF !important;
  background:#4C1D95 !important;
  border-color:#4C1D95 !important;
  font-weight:700 !important;
  box-shadow:0 8px 18px rgba(76,29,149,.22) !important;
}
.user-action-schedule:hover,
.user-action-schedule:focus{
  color:#FFFFFF !important;
  background:#3B0764 !important;
  border-color:#3B0764 !important;
}
.user-schedule-inline-panel{
  flex-basis:100%;
  width:100%;
  margin-top:.35rem;
}
.user-schedule-inline-form{
  width:100% !important;
  display:grid;
  grid-template-columns:minmax(190px, 1.3fr) minmax(145px, .75fr) auto;
  gap:.65rem;
  align-items:end;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.32);
  border-radius:1rem;
  padding:.75rem !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.user-schedule-inline-form label{
  display:block;
  color:#FFFFFF !important;
  font-size:.74rem;
  font-weight:700;
  margin-bottom:.22rem;
}
.user-schedule-inline-form .form-control{
  border-color:rgba(255,255,255,.42);
}
.user-schedule-ok-wrap .btn{
  min-width:72px;
  background:#0F2D5C !important;
  border-color:#0F2D5C !important;
  font-weight:700 !important;
}

/* Relatos no índice: destaque azul, alinhado aos subtítulos de Identificação/Endereço. */
.user-center-nav a.user-center-nav-relatos{
  background:#EAF4FF !important;
  border-color:#1D4E89 !important;
  color:#0F2D5C !important;
  box-shadow:0 5px 12px rgba(29,78,137,.14) !important;
}
.user-center-nav a.user-center-nav-relatos:hover{
  background:#D7ECFF !important;
  color:#0F2D5C !important;
}

/* Botões de composição familiar: reduzir peso sem alterar cor. */
#addFamilyMember,
.user-family-section button[type="submit"].user-center-strong-button{
  font-weight:700 !important;
}

/* Cards de relato: sublinhar tipo de atendimento e aproximar metadados. */
.user-confidential-meta{
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:.05rem !important;
  margin-bottom:.35rem !important;
}
.user-confidential-meta strong{
  font-weight:700 !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
  text-decoration-thickness:1px !important;
}
.user-confidential-meta span{
  margin-top:0 !important;
  line-height:1.12 !important;
  font-size:.76rem !important;
  font-weight:400 !important;
  color:#7A8795 !important;
}

@media(max-width:768px){
  .user-center-page #cadastro .institutional-section-title{
    font-size:1.13rem !important;
  }
  .user-schedule-inline-form{
    grid-template-columns:1fr;
  }
  .user-schedule-ok-wrap .btn{
    width:100%;
  }
}


/* =========================================================
   AcolheMGA v0.91f — reversões e pesos da Central do Usuário
   ========================================================= */

/* Fazer: títulos principais com peso 800. */
.user-center-page .user-center-topline .page-title,
.user-center-page #cadastro .institutional-section-title,
.user-center-page #relatos .institutional-section-title{
  font-weight:800 !important;
}

/* Manter o Cadastro da pessoa menor, conforme ajuste anterior, mas com peso 800. */
.user-center-page #cadastro .institutional-section-title{
  font-size:1.29rem !important;
}

/* Fazer: aumentar peso dos itens do índice da Central. */
.user-center-nav a{
  font-weight:800 !important;
}

/* Reverter: Relatos sem sublinhado e metadados sem aproximação excessiva. */
.user-confidential-meta{
  flex-direction:row !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:.75rem !important;
  flex-wrap:wrap !important;
  margin-bottom:.5rem !important;
}
.user-confidential-meta strong{
  text-decoration:none !important;
  text-underline-offset:initial !important;
  text-decoration-thickness:initial !important;
  font-weight:900 !important;
}
.user-confidential-meta span{
  margin-top:.12rem !important;
  line-height:1.25 !important;
  font-size:.78rem !important;
  font-weight:400 !important;
  color:#7A8795 !important;
}

/* Reverter: botão Agendar atendimento volta ao azul institucional, mantendo abertura interna no card. */
.user-action-schedule{
  color:#FFFFFF !important;
  background:#0369A1 !important;
  border-color:#0369A1 !important;
  font-weight:800 !important;
  box-shadow:0 8px 18px rgba(3,105,161,.18) !important;
}
.user-action-schedule:hover,
.user-action-schedule:focus{
  color:#FFFFFF !important;
  background:#0F3D75 !important;
  border-color:#0F3D75 !important;
}

/* Reverter: botões de composição familiar voltam ao peso anterior. */
#addFamilyMember,
.user-family-section button[type="submit"].user-center-strong-button{
  font-weight:900 !important;
}

/* Reverter: destaque de Relatos continua azul, mas com peso maior no índice. */
.user-center-nav a.user-center-nav-relatos{
  font-weight:850 !important;
}


/* =========================================================
   AcolheMGA v0.91g — pesquisa de cadastro e Central
   ========================================================= */

/* Pesquisa de cadastro: card mais enxuto, sem observação e com menor recuo à esquerda. */
.registration-person-card{
  padding-left:.76rem !important;
}
.registration-person-main p{
  display:none !important;
}
.registration-copy-address strong{
  max-width:100%;
  overflow-wrap:anywhere;
}

/* Central: Composição na casa solta na página, sem card dentro de card. */
#familia.user-family-section,
#familia.institutional-section.user-center-section{
  background:transparent !important;
  border:0 !important;
  border-left:0 !important;
  box-shadow:none !important;
  padding:.25rem 0 .35rem !important;
  border-radius:0 !important;
}
#familia .institutional-section-title{
  margin-left:0 !important;
}
#familia .user-family-form{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:.35rem 0 0 !important;
  border-radius:0 !important;
}
#familia .family-member-row{
  background:#FFFFFF !important;
  border:1px solid #D7ECFF !important;
  border-left:4px solid #1D4E89 !important;
  border-radius:.7rem !important;
  box-shadow:none !important;
  padding:.55rem .55rem .05rem !important;
}

/* Relatos: metadados abaixo do tipo, com pequena distância e ordem revisada no PHP. */
.user-confidential-meta{
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:.18rem !important;
  margin-bottom:.45rem !important;
}
.user-confidential-meta strong{
  text-decoration:none !important;
}
.user-confidential-meta span{
  display:block !important;
  margin-top:.08rem !important;
  line-height:1.2 !important;
  color:#7A8795 !important;
  font-weight:400 !important;
}

/* Ajuste visual do grid quando o card Próximo atendimento não existir. */
.user-center-summary-grid{
  align-items:stretch;
}


/* =========================================================
   AcolheMGA v0.91h — refinamentos pesquisa e Central
   ========================================================= */

/* Pesquisa de cadastro: telefone sem botão copiar e endereço sem fundo destacado. */
.registration-phone-field{
  cursor:default !important;
}
.registration-copy-address{
  background:transparent !important;
  padding-left:0 !important;
  padding-right:0 !important;
  border-radius:0 !important;
}

/* Central: seta discreta no botão Agendar atendimento. */
.user-action-schedule-arrow{
  display:inline-block;
  margin-left:.28rem;
  font-weight:900;
  font-size:.9em;
  transform:translateY(-1px);
}

/* Composição na casa: subtítulo com peso 800 e número em card. */
#familia .institutional-section-title{
  font-weight:800 !important;
}
.user-household-count-card{
  background:#FFFFFF !important;
  border:1px solid #D7ECFF !important;
  border-left:5px solid #1D4E89 !important;
  border-radius:.85rem !important;
  padding:.72rem .8rem .8rem !important;
  box-shadow:0 6px 14px rgba(15,45,92,.055);
}
.user-household-count-card label{
  color:#475569 !important;
  font-size:.74rem !important;
  font-weight:900 !important;
  text-transform:uppercase;
}
.user-household-count-card .form-control{
  font-weight:900 !important;
  font-size:1.15rem !important;
  color:#0F2D5C !important;
  text-align:center;
}

/* =========================================================
   AcolheMGA v0.91i — pesquisa, composição e agendamento
   ========================================================= */

.registration-person-meta-copy{
  display:grid !important;
  grid-template-columns:max-content max-content !important;
  align-items:center !important;
  gap:.45rem .55rem !important;
}
.registration-person-meta-copy .registration-copy-field,
.registration-person-meta-copy .registration-phone-field{
  white-space:nowrap !important;
}
.registration-copy-address{
  grid-column:1 / -1 !important;
}
.registration-copy-address-plain{
  background:#F3F7FB !important;
  padding:.45rem .65rem !important;
  border-radius:999px !important;
}
.registration-family-badge{
  grid-column:1 / -1 !important;
  justify-self:start;
  border:0 !important;
  background:#DFF4E7 !important;
  color:#1F7A45 !important;
  border-radius:999px !important;
  padding:.38rem .78rem !important;
  font-weight:800 !important;
  font-size:.84rem !important;
  cursor:pointer;
}
.registration-family-names{
  grid-column:1 / -1 !important;
  margin-top:-.15rem;
  color:#35526D;
  font-size:.9rem;
  line-height:1.35;
}
@media (max-width: 768px){
  .registration-person-card{
    padding:.85rem .75rem !important;
  }
  .registration-person-meta-copy{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:.42rem .45rem !important;
  }
  .registration-person-meta-copy .registration-copy-field strong,
  .registration-person-meta-copy .registration-phone-field strong{
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

.user-center-hero-unit{
  display:none !important;
}
.user-household-count-box{
  border:1px solid #D7ECFF;
  border-radius:1rem;
  background:#FFFFFF;
  padding:.9rem 1rem .45rem;
  margin-bottom:.85rem;
}
.user-household-count-field{
  margin-bottom:0 !important;
}
.user-household-count-field label{
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.02em;
  color:#0F2D5C;
}
.user-household-count-field .form-control{
  font-size:1.05rem;
  font-weight:700;
}

.agenda-created-highlight td{
  background:#FFF6F6 !important;
}
.agenda-created-highlight .col-time select,
.agenda-created-highlight .col-time input,
.agenda-created-highlight-field{
  border-color:#D63C2F !important;
  box-shadow:0 0 0 .15rem rgba(214,60,47,.16) !important;
  background:#FFF0EF !important;
}


/* =========================================================
   AcolheMGA v0.91j — colapsos da Central e telefone compacto
   ========================================================= */

/* Mantém aparência dos subtítulos, mas transforma em controle clicável. */
.user-center-collapse-toggle{
  display:flex !important;
  width:100% !important;
  align-items:center !important;
  justify-content:space-between !important;
  border:0 !important;
  background:transparent !important;
  text-align:left !important;
  cursor:pointer !important;
  appearance:none !important;
}
.user-center-collapse-toggle span,
.user-center-collapse-title span{
  margin-left:.45rem;
  font-weight:900;
  transition:transform .15s ease;
}
.user-center-collapse-toggle[aria-expanded="true"] span,
.user-center-collapse-title[aria-expanded="true"] span{
  transform:rotate(180deg);
}
.user-center-collapse-title{
  display:flex !important;
  width:100% !important;
  align-items:center !important;
  justify-content:space-between !important;
  border:0 !important;
  background:transparent !important;
  text-align:left !important;
  cursor:pointer !important;
  appearance:none !important;
}
.user-center-collapse-toggle:focus,
.user-center-collapse-title:focus{
  outline:2px solid rgba(29,78,137,.18);
  outline-offset:2px;
}

/* Seções recolhíveis: manter espaçamento sem mudar a formatação visual dos campos. */
#centralContatoEnderecoFields,
#centralBeneficiosFields,
#centralFamiliaFields{
  margin-top:.35rem;
}


/* =========================================================
   AcolheMGA v0.91k — correção de busca e estilo recolhível
   ========================================================= */

/* Recolhível continua, mas volta a aparência visível do subtítulo anterior. */
.user-center-form-group-title.user-center-collapse-toggle{
  display:flex !important;
  width:100% !important;
  align-items:center !important;
  justify-content:space-between !important;
  margin:.25rem 0 .8rem !important;
  padding:.55rem .8rem !important;
  color:#FFFFFF !important;
  background:linear-gradient(135deg, #0F2D5C 0%, #1D4E89 100%) !important;
  border:0 !important;
  border-radius:.8rem !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
  font-size:.84rem !important;
  text-align:left !important;
  cursor:pointer !important;
  appearance:none !important;
}
.user-center-form-group-title.user-center-collapse-toggle span{
  color:#FFFFFF !important;
}
.user-center-collapse-title{
  color:#0F2D5C !important;
  font-weight:800 !important;
}

/* Badges do resultado da busca. */
.registration-status-badge{
  grid-column:1 / -1 !important;
  justify-self:start;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.36rem .78rem;
  font-weight:850;
  font-size:.82rem;
  line-height:1.1;
}
.registration-status-visit{
  background:#FEE2E2;
  color:#B91C1C;
  border:1px solid #FCA5A5;
}
.registration-status-appointment{
  background:#FEF3C7;
  color:#92400E;
  border:1px solid #FCD34D;
}


/* =========================================================
   AcolheMGA v0.91l — refinamentos busca e Benefícios/Observações
   ========================================================= */

/* Pesquisa de cadastro: telefone com sombra/fundo apenas no limite do conteúdo. */
.registration-person-meta-copy .registration-phone-field{
  justify-self:start !important;
  width:max-content !important;
  max-width:100% !important;
  padding-right:.62rem !important;
}

/* Pesquisa de cadastro: endereço sem fundo sombreado, preservando leitura e espaçamento leve. */
.registration-copy-address,
.registration-copy-address-plain{
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.registration-copy-address-plain{
  padding:.18rem .1rem !important;
}

/* Composição na casa usa o mesmo padrão visual de Identificação/Contato/Benefícios. */
#familia .user-center-form-group-title.user-center-collapse-toggle{
  margin:.25rem 0 .8rem !important;
  padding:.55rem .8rem !important;
  color:#FFFFFF !important;
  background:linear-gradient(135deg, #0F2D5C 0%, #1D4E89 100%) !important;
  border-radius:.8rem !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
  font-size:.84rem !important;
}
#familia .user-center-form-group-title.user-center-collapse-toggle span{
  color:#FFFFFF !important;
}



/* =========================================================
   AcolheMGA v0.91l — refinos pesquisa e benefícios
   ========================================================= */

/* Pesquisa de cadastro: telefone mais compacto e endereço sem tarja. */
.registration-phone-field{
  max-width:100% !important;
  padding-right:.35rem !important;
  padding-left:.45rem !important;
  gap:.22rem !important;
}
.registration-phone-field strong{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.registration-copy-address{
  background:transparent !important;
  border-radius:0 !important;
  padding:.12rem 0 .05rem 0 !important;
  box-shadow:none !important;
}
.registration-copy-address strong{
  font-weight:600 !important;
}
@media (max-width: 768px){
  .registration-person-meta-copy{
    grid-template-columns:minmax(0,1fr) minmax(0,.92fr) !important;
    gap:.42rem .4rem !important;
  }
  .registration-phone-field{
    padding-left:.38rem !important;
    padding-right:.28rem !important;
  }
  .registration-copy-address{
    margin-top:.02rem !important;
  }
}

/* Central do Usuário: benefícios e observações. */
.user-benefits-observations-summary{
  margin-bottom:.2rem;
}
.user-benefits-observations-summary .form-control[readonly]{
  background:#F8FBFF !important;
  border:1px solid #D7ECFF !important;
  color:#334155 !important;
  font-weight:600;
}
#familia .user-center-form-group-title.user-center-collapse-toggle{
  margin-bottom:.8rem !important;
}


/* =========================================================
   AcolheMGA v0.91m — refinos pesquisa e família
   ========================================================= */

/* Pesquisa: CPF e telefone sem vão lateral excessivo. */
.registration-person-meta-copy{
  grid-template-columns:max-content max-content !important;
  column-gap:.28rem !important;
  row-gap:.36rem !important;
  align-items:center !important;
}
.registration-person-meta-copy .registration-copy-field,
.registration-person-meta-copy .registration-phone-field{
  justify-self:start !important;
  width:max-content !important;
  max-width:100% !important;
}
.registration-person-meta-copy .registration-copy-cpf{
  padding-right:.38rem !important;
}
.registration-person-meta-copy .registration-phone-field{
  padding-left:.38rem !important;
  padding-right:.42rem !important;
}

/* Família: nomes devem aparecer abaixo do badge ao clicar. */
.registration-family-names[hidden]{
  display:none !important;
}
.registration-family-names:not([hidden]){
  display:block !important;
  grid-column:1 / -1 !important;
  width:100% !important;
  margin:.15rem 0 .05rem !important;
  padding:.45rem .65rem !important;
  border-radius:.7rem !important;
  background:#F6FBFF !important;
  color:#334155 !important;
  font-weight:650 !important;
  line-height:1.35 !important;
}

/* Visita pendente passa para amarelo, conforme pedido. */
.registration-status-visit{
  background:#FEF3C7 !important;
  color:#92400E !important;
  border:1px solid #FCD34D !important;
}

/* Composição familiar: campos com aparência mais próxima do cadastro normal. */
#familyMembersRows{
  margin-top:.25rem !important;
}
.family-member-row{
  background:transparent !important;
  border:0 !important;
  border-top:1px solid #D7ECFF !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:.75rem 0 .15rem !important;
  margin:0 !important;
}
.family-member-row:first-child{
  border-top:0 !important;
  padding-top:.35rem !important;
}
.family-member-row label{
  color:#0F2D5C !important;
  font-size:.78rem !important;
  font-weight:850 !important;
  letter-spacing:.01em !important;
  text-transform:uppercase !important;
}
.family-member-row .form-control{
  border-color:#C9D8EA !important;
  border-radius:.55rem !important;
  font-weight:650 !important;
}
.family-remove-row{
  min-width:38px !important;
  min-height:38px !important;
  border-radius:.55rem !important;
  font-weight:900 !important;
}

/* Remove sobras do bloco removido de Benefícios e Observações. */
.user-benefits-observations-summary{
  display:none !important;
}

@media(max-width:768px){
  .registration-person-meta-copy{
    grid-template-columns:max-content max-content !important;
    column-gap:.25rem !important;
  }
  .registration-person-meta-copy .registration-copy-field strong,
  .registration-person-meta-copy .registration-phone-field strong{
    max-width:9.3rem !important;
  }
  .registration-person-card{
    padding-left:.7rem !important;
    padding-right:.65rem !important;
  }
}

/* =========================================================
   AcolheMGA v0.91n — agenda e endereço da pesquisa
   ========================================================= */

/* Pesquisa de cadastro: endereço inteiro, sem ellipsis visual, mantendo CPF/tel compactos. */
.registration-copy-address,
.registration-copy-address-plain{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.registration-copy-address strong,
.registration-copy-address-plain strong{
  max-width:none !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
}
@media(max-width:768px){
  .registration-copy-address strong,
  .registration-copy-address-plain strong{
    max-width:none !important;
  }
}


/* =========================================================
   AcolheMGA v0.91o — agenda, pesquisa e Central
   ========================================================= */

/* Index: reduz a coluna de ação em ~10% e deixa 1px entre os botões. */
.inline-agenda-table:not(.cadunico-table):not(.educator-social-table) .col-action{
  width:98px !important;
  min-width:98px !important;
  max-width:106px !important;
}
.inline-agenda-table .col-action .inline-icon-btn,
.inline-agenda-table .col-action .inline-concession-btn,
.inline-agenda-table .col-action .inline-save-btn,
.inline-agenda-table .col-action .inline-delete-btn{
  margin:0 1px !important;
}
.inline-agenda-table .col-action .autosave-state{
  margin-top:2px !important;
}

/* Pesquisa de cadastro: endereço pode ocupar até 95% do card e quebrar linha sem corte. */
.registration-copy-address,
.registration-copy-address-plain{
  width:95% !important;
  max-width:95% !important;
}
.registration-copy-address strong,
.registration-copy-address-plain strong{
  display:inline !important;
  max-width:none !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

/* Badge azul para último atendimento finalizado até 15 dias. */
.registration-status-last-attendance{
  background:#DBEAFE !important;
  color:#1D4ED8 !important;
  border:1px solid #93C5FD !important;
}

@media (max-width: 768px){
  .inline-agenda-table:not(.cadunico-table):not(.educator-social-table) .col-action{
    width:98px !important;
    min-width:98px !important;
    max-width:106px !important;
  }
  .registration-copy-address,
  .registration-copy-address-plain{
    width:95% !important;
    max-width:95% !important;
  }
  .registration-person-meta-copy .registration-copy-field strong,
  .registration-person-meta-copy .registration-phone-field strong{
    max-width:none !important;
  }
}


/* =========================================================
   AcolheMGA v0.91p — pesquisa, Central e Saúde do Sistema
   ========================================================= */

/* Pesquisa cadastro: endereço ocupa até 60% do card. */
.registration-copy-address,
.registration-copy-address-plain{
  width:60% !important;
  max-width:60% !important;
}

/* Saúde: card informativo de horários repetidos. */
.health-overview-duplicate-slots strong{
  color:#0F3D75 !important;
}
.health-duplicate-slots-counter{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:92px;
  padding:.45rem .65rem;
  border-radius:.85rem;
  background:#F3F8FF;
  border:1px solid #D7ECFF;
  color:#0F2D5C;
}
.health-duplicate-slots-counter strong{
  font-size:1.45rem;
  line-height:1;
  font-weight:900;
}
.health-duplicate-slots-counter span{
  font-size:.76rem;
  font-weight:800;
  text-transform:uppercase;
}
.health-duplicate-slots-table th{
  background:#0F4A86 !important;
  color:#FFFFFF !important;
  font-weight:900 !important;
}
.health-duplicate-slots-table td{
  font-weight:650;
}

@media (max-width: 768px){
  .registration-copy-address,
  .registration-copy-address-plain{
    width:60% !important;
    max-width:60% !important;
  }
  .health-duplicate-slots-counter{
    align-items:flex-start;
    width:100%;
  }
}


/* =========================================================
   AcolheMGA v0.92 — pesquisa cadastro e autocomplete da agenda
   ========================================================= */

/* Resultado da busca: CPF, telefone, endereço e badges em fluxo flexível. */
.registration-person-meta-copy{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:.36rem .45rem !important;
  grid-template-columns:none !important;
}

.registration-person-meta-copy .registration-copy-field,
.registration-person-meta-copy .registration-phone-field{
  flex:0 0 auto !important;
  width:auto !important;
  max-width:100% !important;
}

/* Endereço: ocupar no máximo 50% da tela, principalmente no mobile. */
.registration-copy-address,
.registration-copy-address-plain{
  flex:0 1 50vw !important;
  width:auto !important;
  max-width:50vw !important;
  min-width:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.registration-copy-address strong,
.registration-copy-address-plain strong{
  display:inline-block !important;
  max-width:calc(50vw - 92px) !important;
  min-width:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  vertical-align:bottom !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

/* Badges podem ficar na mesma linha e quebram apenas quando faltar espaço. */
.registration-family-badge,
.registration-status-badge{
  grid-column:auto !important;
  flex:0 0 auto !important;
  justify-self:auto !important;
  white-space:nowrap !important;
  margin:0 !important;
}

.registration-family-names:not([hidden]){
  flex:1 0 100% !important;
  width:100% !important;
}

/* Autocomplete próprio da agenda: reforço visual e posição acima da tabela. */
.acolhe-autocomplete-fallback{
  z-index:2147483000 !important;
  max-width:min(92vw, 420px) !important;
}
.agenda-autocomplete-line{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.agenda-autocomplete-line strong{
  color:#0F2D5C;
  font-weight:900;
}
.agenda-autocomplete-line span{
  color:#42566E;
  font-weight:700;
  font-size:.82rem;
}

@media (max-width: 768px){
  .registration-copy-address,
  .registration-copy-address-plain{
    flex-basis:50vw !important;
    max-width:50vw !important;
  }
  .registration-copy-address strong,
  .registration-copy-address-plain strong{
    max-width:calc(50vw - 86px) !important;
  }
  .registration-family-badge,
  .registration-status-badge{
    font-size:.8rem !important;
    padding:.34rem .62rem !important;
  }
}


/* =========================================================
   AcolheMGA v0.92a — restauração da pesquisa v0.91l e dropdown da agenda
   ========================================================= */

/* Pesquisa de cadastro: restaura o layout do card da v0.91l. */
.registration-person-card{
  padding-left:.76rem !important;
}
.registration-person-meta-copy{
  display:grid !important;
  grid-template-columns:max-content max-content !important;
  align-items:center !important;
  gap:.45rem .55rem !important;
}
.registration-person-meta-copy .registration-copy-field,
.registration-person-meta-copy .registration-phone-field{
  justify-self:start !important;
  width:max-content !important;
  max-width:100% !important;
  white-space:nowrap !important;
}
.registration-person-meta-copy .registration-phone-field{
  padding-left:.38rem !important;
  padding-right:.42rem !important;
  gap:.22rem !important;
}
.registration-phone-field strong{
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.registration-copy-address,
.registration-copy-address-plain{
  grid-column:1 / -1 !important;
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  flex:initial !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:.12rem 0 .05rem 0 !important;
  margin-top:.02rem !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.registration-copy-address strong,
.registration-copy-address-plain strong{
  display:inline !important;
  max-width:none !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  font-weight:600 !important;
}
.registration-family-badge{
  grid-column:1 / -1 !important;
  justify-self:start !important;
  flex:initial !important;
  border:0 !important;
  background:#DFF4E7 !important;
  color:#1F7A45 !important;
  border-radius:999px !important;
  padding:.38rem .78rem !important;
  font-weight:800 !important;
  font-size:.84rem !important;
  cursor:pointer !important;
  margin:0 !important;
}
.registration-status-badge{
  grid-column:1 / -1 !important;
  justify-self:start !important;
  flex:initial !important;
  display:inline-flex !important;
  align-items:center !important;
  border-radius:999px !important;
  padding:.36rem .78rem !important;
  font-weight:850 !important;
  font-size:.82rem !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  margin:0 !important;
}
.registration-family-names:not([hidden]){
  display:block !important;
  grid-column:1 / -1 !important;
  width:100% !important;
  margin:.15rem 0 .05rem !important;
  padding:.45rem .65rem !important;
  border-radius:.7rem !important;
  background:#F6FBFF !important;
  color:#334155 !important;
  font-weight:650 !important;
  line-height:1.35 !important;
}

/* Dropdown nativo do autocomplete da agenda. */
.acolhe-agenda-name-dropdown{
  z-index:2147483000 !important;
  background:#FFFFFF !important;
  border:1px solid #B9D7F2 !important;
  border-radius:14px !important;
  box-shadow:0 14px 32px rgba(15,45,92,.22) !important;
  padding:.35rem !important;
  font-family:Montserrat, Arial, sans-serif !important;
  max-height:260px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}
.acolhe-agenda-name-option{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  width:100% !important;
  border:0 !important;
  background:transparent !important;
  border-radius:10px !important;
  padding:.48rem .58rem !important;
  text-align:left !important;
  cursor:pointer !important;
}
.acolhe-agenda-name-option:hover,
.acolhe-agenda-name-option.active,
.acolhe-agenda-name-option:focus{
  background:#EAF6FF !important;
  outline:none !important;
}
.acolhe-agenda-name-option strong{
  color:#0F2D5C !important;
  font-weight:900 !important;
  font-size:.9rem !important;
  line-height:1.2 !important;
}
.acolhe-agenda-name-option span{
  color:#42566E !important;
  font-weight:750 !important;
  font-size:.78rem !important;
  line-height:1.2 !important;
  margin-top:2px !important;
}

@media (max-width: 768px){
  .registration-person-card{
    padding:.85rem .75rem !important;
  }
  .registration-person-meta-copy{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,.92fr) !important;
    gap:.42rem .4rem !important;
  }
  .registration-person-meta-copy .registration-copy-field strong,
  .registration-person-meta-copy .registration-phone-field strong{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .registration-phone-field{
    padding-left:.38rem !important;
    padding-right:.28rem !important;
  }
  .registration-copy-address,
  .registration-copy-address-plain{
    width:auto !important;
    max-width:100% !important;
    flex:initial !important;
  }
}

/* =========================================================
   AcolheMGA v0.92b — autocomplete local da Agenda
   ========================================================= */
.acolhe-agenda-name-empty{
  padding:.55rem .65rem !important;
  color:#64748B !important;
  font-weight:800 !important;
  font-size:.84rem !important;
  text-align:left !important;
}
.acolhe-agenda-name-dropdown{
  min-width:260px !important;
  pointer-events:auto !important;
}
.name-input-wrap{
  overflow:visible !important;
}


/* =========================================================
   AcolheMGA v0.92c — novo cadastro e CPF completo
   ========================================================= */

/* Pesquisa cadastro: CPF deve aparecer inteiro nos resultados, inclusive no mobile. */
.registration-person-meta-copy .registration-copy-cpf{
  width:max-content !important;
  min-width:max-content !important;
  max-width:none !important;
  overflow:visible !important;
  white-space:nowrap !important;
}
.registration-person-meta-copy .registration-copy-cpf strong{
  display:inline !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:nowrap !important;
}
.registration-person-meta-copy .registration-copy-cpf .registration-copy-btn{
  flex:0 0 auto !important;
}

/* Novo cadastro: quando Bootstrap/JS externo falhar, a classe show deve abrir o formulário. */
#newRegistrationForm.show{
  display:block !important;
}

@media (max-width: 768px){
  .registration-person-meta-copy .registration-copy-cpf,
  .registration-person-meta-copy .registration-copy-cpf strong{
    max-width:none !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
}


/* =========================================================
   AcolheMGA v0.92d — ajustes cadastro, benefícios, relatórios e privacidade
   ========================================================= */

/* Benefícios Eventuais: técnicos em todos na mesma linha no PC e 2 por linha no mobile. */
.benefit-source-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:.65rem !important;
  align-items:stretch !important;
}
.benefit-source-toggle{
  width:100% !important;
  min-width:0 !important;
}
@media(max-width:768px){
  .benefit-source-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:.5rem !important;
  }
  .benefit-source-toggle{
    padding:.68rem .72rem !important;
  }
  .benefit-source-name{font-size:.92rem !important;}
  .benefit-source-subtitle{font-size:.66rem !important;}
  .benefit-source-count{font-size:.72rem !important;padding:.18rem .45rem !important;}
}

/* Relatórios: contrarreferência do RMA como bloco recolhível no final. */
.rma-control-reference-last{margin-top:1.2rem !important;}
.rma-reference-toggle{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  border:0 !important;
  cursor:pointer !important;
  text-align:left !important;
}
.rma-reference-toggle::after{
  content:'Mostrar';
  font-size:.76rem;
  font-weight:900;
  background:#EAF3FF;
  color:#0F3D75;
  border-radius:999px;
  padding:.2rem .6rem;
  margin-left:.8rem;
}
.rma-reference-toggle[aria-expanded="true"]::after{content:'Ocultar';}
.rma-control-reference-wrap[hidden]{display:none !important;}

/* Política de Privacidade com leitura no padrão visual do Manual. */
.privacy-document.manual-document{margin-top:1rem !important;}
.privacy-manual-section{scroll-margin-top:86px;}
.privacy-acceptance-box + .manual-index{margin-top:1rem;}

/* =========================================================
   AcolheMGA v0.92e — badges rápidos da pesquisa de cadastro
   ========================================================= */

/* Evita sobreposição entre CPF e telefone e mantém espaçamento simples. */
.registration-person-meta-copy{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:.42rem .78rem !important;
  grid-template-columns:none !important;
}
.registration-person-meta-copy .registration-copy-cpf,
.registration-person-meta-copy .registration-phone-field{
  flex:0 0 auto !important;
  width:max-content !important;
  min-width:max-content !important;
  max-width:none !important;
  white-space:nowrap !important;
}
.registration-person-meta-copy .registration-copy-cpf{
  margin-right:.12rem !important;
}
.registration-person-meta-copy .registration-phone-field{
  margin-left:.12rem !important;
}

/* Endereço permanece em linha própria, no padrão restaurado da pesquisa. */
.registration-copy-address,
.registration-copy-address-plain{
  flex:1 0 100% !important;
  width:100% !important;
  max-width:100% !important;
}

/* Avisos rápidos na mesma linha, com espaço simples entre eles. */
.registration-quick-badges{
  flex:1 0 100% !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:.35rem !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:.05rem 0 .08rem !important;
  scrollbar-width:thin;
}
.registration-quick-badges .registration-family-badge,
.registration-quick-badges .registration-status-badge{
  grid-column:auto !important;
  flex:0 0 auto !important;
  justify-self:auto !important;
  margin:0 !important;
  white-space:nowrap !important;
  font-size:.78rem !important;
  padding:.34rem .58rem !important;
  line-height:1.08 !important;
}

/* Família com borda explícita. */
.registration-quick-badges .registration-family-badge,
.registration-family-badge{
  border:1px solid #A7E0BD !important;
  background:#DFF4E7 !important;
  color:#1F7A45 !important;
}

/* Próximo atendimento em azul levemente escuro. */
.registration-status-appointment{
  background:#DBEAFE !important;
  color:#1E40AF !important;
  border:1px solid #60A5FA !important;
}
.registration-status-last-attendance{
  background:#DBEAFE !important;
  color:#1D4ED8 !important;
  border:1px solid #93C5FD !important;
}
.registration-family-names:not([hidden]){
  flex:1 0 100% !important;
  width:100% !important;
}

@media (max-width: 768px){
  .registration-person-meta-copy{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:.4rem .68rem !important;
    grid-template-columns:none !important;
  }
  .registration-person-meta-copy .registration-copy-cpf,
  .registration-person-meta-copy .registration-copy-cpf strong,
  .registration-person-meta-copy .registration-phone-field,
  .registration-person-meta-copy .registration-phone-field strong{
    max-width:none !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
  }
  .registration-quick-badges .registration-family-badge,
  .registration-quick-badges .registration-status-badge{
    font-size:.76rem !important;
    padding:.32rem .52rem !important;
  }
}

/* =========================================================
   AcolheMGA v0.92s — contenção mobile do card de pesquisa
   ========================================================= */

/* A página de resultados não deve gerar rolagem horizontal no mobile. */
.registrations-page-modern,
.registration-card-results,
.registration-person-card,
.registration-person-main,
.registration-person-meta-copy{
  box-sizing:border-box !important;
  min-width:0 !important;
}

.registration-card-results{
  max-width:100% !important;
  overflow-x:hidden !important;
}

.registration-person-card{
  max-width:100% !important;
  overflow:hidden !important;
}

.registration-person-main{
  max-width:100% !important;
  overflow:hidden !important;
}

/* CPF e telefone: mesma linha, com espaço curto e sem sobreposição. */
.registration-person-meta-copy{
  display:grid !important;
  grid-template-columns:max-content max-content !important;
  justify-content:start !important;
  align-items:center !important;
  column-gap:.44rem !important;
  row-gap:.46rem !important;
  max-width:100% !important;
  overflow:hidden !important;
}

.registration-person-meta-copy .registration-copy-cpf,
.registration-person-meta-copy .registration-phone-field{
  grid-row:1 !important;
  width:max-content !important;
  min-width:0 !important;
  max-width:none !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  margin:0 !important;
}

.registration-person-meta-copy .registration-copy-cpf{grid-column:1 !important;}
.registration-person-meta-copy .registration-phone-field{grid-column:2 !important;}

/* Endereço: linha própria, restrito a 50% da tela. */
.registration-copy-address,
.registration-copy-address-plain{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  width:50vw !important;
  max-width:50vw !important;
  min-width:0 !important;
  justify-self:start !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  box-sizing:border-box !important;
}

.registration-copy-address strong,
.registration-copy-address-plain strong{
  display:inline-block !important;
  max-width:calc(50vw - 92px) !important;
  min-width:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  vertical-align:bottom !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

/* Avisos rápidos: mesma linha dentro do card, sem aumentar a largura do card. */
.registration-quick-badges{
  grid-column:1 / -1 !important;
  grid-row:3 !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:.35rem !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  overscroll-behavior-x:contain !important;
  box-sizing:border-box !important;
  padding:.05rem 0 .12rem !important;
}

.registration-quick-badges .registration-family-badge,
.registration-quick-badges .registration-status-badge{
  flex:0 0 auto !important;
  max-width:none !important;
  white-space:nowrap !important;
  margin:0 !important;
}

.registration-family-names:not([hidden]){
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

@media (max-width: 768px){
  html,
  body{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .registrations-page-modern.content,
  .registrations-page-modern{
    padding-left:2.5vw !important;
    padding-right:2.5vw !important;
    max-width:100vw !important;
    overflow-x:hidden !important;
  }

  .registration-results-header,
  .registration-card-results{
    width:95vw !important;
    max-width:95vw !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow-x:hidden !important;
  }

  .registration-person-card{
    width:100% !important;
    max-width:95vw !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:.72rem !important;
    padding-right:.72rem !important;
    overflow:hidden !important;
  }

  .registration-person-main,
  .registration-person-meta-copy{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .registration-person-main h3,
  .registration-person-main h3 a{
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }

  .registration-person-meta-copy{
    grid-template-columns:max-content max-content !important;
    column-gap:.36rem !important;
    row-gap:.42rem !important;
  }

  .registration-person-meta-copy .registration-copy-cpf,
  .registration-person-meta-copy .registration-phone-field{
    font-size:.78rem !important;
    line-height:1.08 !important;
    padding:.34rem .42rem !important;
  }

  .registration-person-meta-copy .registration-copy-cpf strong,
  .registration-person-meta-copy .registration-phone-field strong{
    font-size:1em !important;
    max-width:none !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
  }

  .registration-copy-btn{
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    padding:2px !important;
    margin-left:.18rem !important;
  }

  .registration-copy-icon{
    width:13px !important;
    height:13px !important;
  }

  .registration-copy-address,
  .registration-copy-address-plain{
    width:50vw !important;
    max-width:50vw !important;
  }

  .registration-copy-address strong,
  .registration-copy-address-plain strong{
    max-width:calc(50vw - 84px) !important;
  }

  .registration-quick-badges{
    max-width:100% !important;
    overflow-x:auto !important;
    padding-bottom:.16rem !important;
  }
}

@media (max-width: 380px){
  .registration-person-meta-copy{
    column-gap:.25rem !important;
  }
  .registration-person-meta-copy .registration-copy-cpf,
  .registration-person-meta-copy .registration-phone-field{
    font-size:.72rem !important;
    padding:.31rem .34rem !important;
  }
  .registration-copy-btn{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
  }
}


/* =========================================================
   AcolheMGA v0.92g — ajuste fino mobile dos cards de pesquisa
   ========================================================= */

/* Mantém o card contido, mas sem cortar conteúdo interno por elipse forçada. */
@media (max-width: 768px){
  .registration-card-results{
    width:95vw !important;
    max-width:95vw !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow-x:hidden !important;
  }

  .registration-person-card{
    width:100% !important;
    max-width:95vw !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  .registration-person-main,
  .registration-person-meta-copy{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  /* CPF e telefone: mesma linha, fonte 10% maior que a v0.92s e vão menor. */
  .registration-person-meta-copy{
    display:grid !important;
    grid-template-columns:max-content max-content !important;
    justify-content:start !important;
    align-items:center !important;
    column-gap:.18rem !important;
    row-gap:.44rem !important;
    overflow:visible !important;
  }

  .registration-person-meta-copy .registration-copy-cpf,
  .registration-person-meta-copy .registration-phone-field{
    grid-row:1 !important;
    width:max-content !important;
    min-width:0 !important;
    max-width:none !important;
    display:inline-flex !important;
    align-items:center !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    font-size:.86rem !important;
    line-height:1.08 !important;
    padding:.33rem .36rem !important;
    margin:0 !important;
  }

  .registration-person-meta-copy .registration-copy-cpf{grid-column:1 !important;}
  .registration-person-meta-copy .registration-phone-field{grid-column:2 !important;}

  .registration-person-meta-copy .registration-copy-cpf strong,
  .registration-person-meta-copy .registration-phone-field strong{
    font-size:1em !important;
    max-width:none !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
  }

  .registration-copy-btn{
    width:21px !important;
    height:21px !important;
    min-width:21px !important;
    padding:2px !important;
    margin-left:.14rem !important;
  }

  .registration-copy-icon{
    width:13px !important;
    height:13px !important;
  }

  /* Endereço: continua limitado a 50vw, mas pode quebrar linha e crescer verticalmente. */
  .registration-copy-address,
  .registration-copy-address-plain{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    width:50vw !important;
    max-width:50vw !important;
    min-width:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  .registration-copy-address strong,
  .registration-copy-address-plain strong{
    display:inline !important;
    max-width:none !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
    vertical-align:baseline !important;
  }

  /* Avisos rápidos: no máximo dois por linha; a partir do terceiro vai para a linha seguinte. */
  .registration-quick-badges{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    justify-items:start !important;
    align-items:center !important;
    column-gap:.35rem !important;
    row-gap:.36rem !important;
    overflow:visible !important;
    padding:.05rem 0 .1rem !important;
    box-sizing:border-box !important;
  }

  .registration-quick-badges .registration-family-badge,
  .registration-quick-badges .registration-status-badge{
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
    justify-self:start !important;
    margin:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    overflow-wrap:anywhere !important;
    line-height:1.08 !important;
  }
}

@media (max-width: 380px){
  .registration-person-meta-copy{
    column-gap:.14rem !important;
  }

  .registration-person-meta-copy .registration-copy-cpf,
  .registration-person-meta-copy .registration-phone-field{
    font-size:.84rem !important;
    padding:.31rem .32rem !important;
  }

  .registration-copy-btn{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    margin-left:.1rem !important;
  }

  .registration-quick-badges{
    column-gap:.28rem !important;
  }

  .registration-quick-badges .registration-family-badge,
  .registration-quick-badges .registration-status-badge{
    font-size:.76rem !important;
    padding:.31rem .46rem !important;
  }
}


/* =========================================================
   AcolheMGA v0.92h — layout estrutural definitivo dos cards de pesquisa
   ========================================================= */

/*
   Este bloco substitui a disputa antiga entre grid/flex no card.
   A estrutura passa a ser:
   1) linha CPF + telefone
   2) linha endereço
   3) linha de avisos, com quebra segura
*/
.registration-person-card{
  max-width:100% !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

.registration-person-main{
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

.registration-person-meta-copy{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}

.registration-contact-line{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:.34rem !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
  margin:.25rem 0 .42rem !important;
}

.registration-contact-line .registration-copy-cpf,
.registration-contact-line .registration-phone-field{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  grid-column:auto !important;
  grid-row:auto !important;
  justify-self:start !important;
  margin:0 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  box-sizing:border-box !important;
}

.registration-contact-line .registration-phone-field,
.registration-contact-line .registration-phone-field strong{
  font-size:1.1em !important;
}

.registration-contact-line .registration-copy-cpf strong,
.registration-contact-line .registration-phone-field strong{
  max-width:none !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.registration-address-line{
  display:block !important;
  width:50vw !important;
  max-width:50vw !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
  margin:.1rem 0 .48rem !important;
}

.registration-address-line .registration-copy-address,
.registration-address-line .registration-copy-address-plain{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  grid-column:auto !important;
  grid-row:auto !important;
  flex:initial !important;
  justify-self:start !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  box-sizing:border-box !important;
}

.registration-address-line .registration-copy-address strong,
.registration-address-line .registration-copy-address-plain strong{
  display:inline !important;
  max-width:none !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

.registration-quick-badges{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  gap:.38rem .42rem !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  grid-column:auto !important;
  grid-row:auto !important;
  overflow:visible !important;
  box-sizing:border-box !important;
  padding:.02rem 0 .08rem !important;
  margin:0 !important;
}

.registration-quick-badges .registration-family-badge,
.registration-quick-badges .registration-status-badge{
  flex:0 1 calc(50% - .24rem) !important;
  width:auto !important;
  max-width:calc(50% - .24rem) !important;
  min-width:0 !important;
  justify-self:start !important;
  align-self:flex-start !important;
  margin:0 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  line-height:1.1 !important;
  box-sizing:border-box !important;
}

.registration-family-names:not([hidden]){
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  overflow-wrap:anywhere !important;
}

@media (max-width: 768px){
  .registration-card-results{
    width:95vw !important;
    max-width:95vw !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  .registration-person-card{
    width:100% !important;
    max-width:95vw !important;
    padding-left:.72rem !important;
    padding-right:.72rem !important;
  }

  .registration-contact-line{
    gap:.22rem !important;
  }

  .registration-contact-line .registration-copy-cpf,
  .registration-contact-line .registration-phone-field{
    font-size:.92rem !important;
    line-height:1.08 !important;
    padding:.33rem .36rem !important;
  }

  .registration-contact-line .registration-phone-field,
  .registration-contact-line .registration-phone-field strong{
    font-size:1.01rem !important;
  }

  .registration-copy-btn{
    width:21px !important;
    height:21px !important;
    min-width:21px !important;
    padding:2px !important;
    margin-left:.14rem !important;
  }

  .registration-copy-icon{
    width:13px !important;
    height:13px !important;
  }

  .registration-address-line{
    width:50vw !important;
    max-width:50vw !important;
  }

  .registration-quick-badges .registration-family-badge,
  .registration-quick-badges .registration-status-badge{
    flex-basis:calc(50% - .24rem) !important;
    max-width:calc(50% - .24rem) !important;
    font-size:.8rem !important;
    padding:.32rem .48rem !important;
  }
}

@media (max-width: 380px){
  .registration-contact-line{
    gap:.16rem !important;
  }

  .registration-contact-line .registration-copy-cpf,
  .registration-contact-line .registration-phone-field{
    font-size:.86rem !important;
    padding:.31rem .3rem !important;
  }

  .registration-contact-line .registration-phone-field,
  .registration-contact-line .registration-phone-field strong{
    font-size:.95rem !important;
  }

  .registration-quick-badges{
    gap:.32rem .34rem !important;
  }

  .registration-quick-badges .registration-family-badge,
  .registration-quick-badges .registration-status-badge{
    font-size:.76rem !important;
    padding:.31rem .42rem !important;
  }
}


/* =========================================================
   AcolheMGA v0.92i — pesquisa cadastro: endereço amplo e badges sem quebra
   ========================================================= */

.registration-address-line{
  width:80vw !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
}

.registration-address-line .registration-copy-address,
.registration-address-line .registration-copy-address-plain{
  width:100% !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

.registration-address-line .registration-copy-address strong,
.registration-address-line .registration-copy-address-plain strong{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

.registration-quick-badges{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  gap:.36rem .42rem !important;
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
}

.registration-quick-badges .registration-family-badge{
  flex:0 0 auto !important;
  width:auto !important;
  max-width:max-content !important;
  min-width:0 !important;
  white-space:nowrap !important;
  text-align:left !important;
  padding-left:.65rem !important;
  padding-right:.65rem !important;
}

.registration-quick-badges .registration-status-badge{
  flex:0 0 auto !important;
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  white-space:nowrap !important;
  text-align:left !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.registration-appointment-badge{
  border-radius:999px !important;
  cursor:pointer !important;
  appearance:none !important;
  font-family:inherit !important;
}

.registration-appointment-badge:focus{
  outline:2px solid rgba(29,78,137,.22) !important;
  outline-offset:2px !important;
}

.registration-appointment-detail{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:.22rem 0 .16rem !important;
  padding:.42rem .6rem !important;
  border-radius:.65rem !important;
  border:1px solid #BFDBFE !important;
  background:#EFF6FF !important;
  color:#1E3A8A !important;
  font-weight:750 !important;
  font-size:.84rem !important;
  line-height:1.25 !important;
  overflow-wrap:anywhere !important;
  box-sizing:border-box !important;
}

.registration-appointment-detail[hidden]{
  display:none !important;
}

@media (max-width:768px){
  .registration-address-line{
    width:80vw !important;
    max-width:100% !important;
  }

  .registration-quick-badges{
    justify-content:flex-start !important;
    align-items:flex-start !important;
    gap:.34rem .38rem !important;
  }

  .registration-quick-badges .registration-family-badge{
    flex:0 0 auto !important;
    max-width:max-content !important;
    white-space:nowrap !important;
  }

  .registration-quick-badges .registration-status-badge{
    flex:0 0 auto !important;
    max-width:100% !important;
    white-space:nowrap !important;
    line-height:1.08 !important;
  }
}

@media (max-width:380px){
  .registration-address-line{
    width:80vw !important;
    max-width:100% !important;
  }

  .registration-quick-badges .registration-family-badge,
  .registration-quick-badges .registration-status-badge{
    font-size:.76rem !important;
    padding:.31rem .44rem !important;
  }
}


/* =========================================================
   AcolheMGA v0.92j — Guia Espelho SASCWeb e rodapé
   ========================================================= */

.user-history-guide-btn{
  border-radius:999px !important;
  font-weight:800 !important;
  padding:.18rem .55rem !important;
  white-space:nowrap !important;
}

.sascweb-guide-page{
  max-width:1400px;
  margin:0 auto;
}

.sascweb-guide-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
}

.sascweb-guide-kicker{
  display:inline-block;
  color:#1D4E89;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.76rem;
  margin-bottom:.25rem;
}

.sascweb-guide-user-card{
  border-left:6px solid #1D4E89 !important;
}

.sascweb-guide-user-grid{
  display:grid;
  grid-template-columns:1.4fr .8fr .8fr 2fr;
  gap:.65rem;
}

.sascweb-guide-user-grid div{
  background:#F8FBFF;
  border:1px solid #D7ECFF;
  border-radius:.8rem;
  padding:.65rem .75rem;
}

.sascweb-guide-user-grid span{
  display:block;
  color:#64748B;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:.18rem;
}

.sascweb-guide-user-grid strong{
  color:#0F2D5C;
  font-weight:850;
}

.sascweb-guide-linked{
  margin-top:.7rem;
  color:#475569;
  font-weight:700;
}

.sascweb-guide-top-grid{
  display:grid;
  grid-template-columns:1.3fr .8fr 1.3fr;
  gap:.75rem;
  align-items:end;
}

.sascweb-guide-top-grid label,
.sascweb-guide-benefit-grid label,
.sascweb-guide-relato-label{
  color:#0F2D5C;
  font-weight:850;
  margin-bottom:0;
}

.sascweb-guide-top-grid .form-control,
.sascweb-guide-benefit-grid .form-control,
.sascweb-guide-relato{
  margin-top:.28rem;
  border-radius:.7rem !important;
  border-color:#C9D8EA !important;
  font-weight:650;
  color:#26384E;
}

.sascweb-guide-actions-field select{
  min-height:76px;
}

.sascweb-guide-tab-card{
  border-left:5px solid #1D4E89 !important;
}

.sascweb-guide-benefit-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr 1.4fr .55fr auto;
  gap:.75rem;
  align-items:end;
}

.sascweb-guide-record-action{
  display:flex;
  align-items:center;
  gap:.55rem;
  flex-wrap:wrap;
  padding-bottom:.05rem;
}

.sascweb-guide-record-status{
  color:#1F7A45;
  font-weight:850;
}

.sascweb-guide-relato{
  min-height:150px;
}

.sascweb-guide-relato::placeholder{
  font-style:italic;
  color:#7A8795;
}

.sascweb-guide-relato-help{
  margin:.45rem 0 0;
  color:#64748B;
  font-weight:650;
}

.sascweb-guide-final-actions{
  display:flex;
  justify-content:flex-end;
  margin:1rem 0 1.25rem;
}

.sascweb-guide-final-actions .btn{
  border-radius:.9rem;
  font-weight:900;
}

@media(max-width: 980px){
  .sascweb-guide-hero{
    flex-direction:column;
  }

  .sascweb-guide-user-grid,
  .sascweb-guide-top-grid,
  .sascweb-guide-benefit-grid{
    grid-template-columns:1fr;
  }

  .sascweb-guide-final-actions{
    justify-content:stretch;
  }

  .sascweb-guide-final-actions .btn{
    width:100%;
  }
}


/* =========================================================
   AcolheMGA v0.93 — ajustes gerais, Guia SASCWeb e menu fixo
   ========================================================= */

/* Menu superior fixo/visível durante rolagem em todas as páginas. */
.navbar.navbar-expand-lg.navbar-dark{
  position:sticky !important;
  top:0 !important;
  z-index:1040 !important;
  box-shadow:0 8px 24px rgba(15,45,92,.18) !important;
}

/* Pesquisa cadastro: CPF e telefone com mesma tipografia e mesma sombra/área visual. */
.registration-contact-line .registration-copy-cpf,
.registration-contact-line .registration-phone-field{
  font-size:.94rem !important;
  line-height:1.08 !important;
  min-height:38px !important;
  padding:.34rem .42rem !important;
  border-radius:999px !important;
  background:#F4F8FC !important;
  box-shadow:0 10px 24px rgba(15,45,92,.08) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.registration-contact-line .registration-copy-cpf strong,
.registration-contact-line .registration-phone-field strong,
.registration-contact-line .registration-phone-field,
.registration-contact-line .registration-copy-cpf{
  font-size:.94rem !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}

.registration-contact-line .registration-phone-field{
  text-align:left !important;
}

/* Central do usuário: ações e cards em linhas separadas no PC e no mobile. */
.user-center-hero{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:.75rem !important;
}

.user-center-hero-actions{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:.52rem !important;
  width:100% !important;
  max-width:100% !important;
}

.user-center-hero-actions .btn{
  width:fit-content !important;
  max-width:100% !important;
  white-space:normal !important;
  text-align:left !important;
}

.user-schedule-inline-panel{
  width:100% !important;
  max-width:620px !important;
}

.user-center-summary-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:.65rem !important;
  max-width:780px !important;
}

.user-center-summary-card{
  width:100% !important;
}

/* Guia SASCWeb: campos em linhas separadas também no PC. */
.sascweb-guide-user-grid,
.sascweb-guide-top-grid,
.sascweb-guide-benefit-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:.72rem !important;
}

.sascweb-guide-top-grid label,
.sascweb-guide-benefit-grid label,
.sascweb-guide-relato-label{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
}

.sascweb-guide-top-grid select,
.sascweb-guide-top-grid option,
.sascweb-guide-benefit-grid input,
.sascweb-guide-relato{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  min-height:44px !important;
}

.sascweb-guide-actions-field select{
  min-height:88px !important;
}

.sascweb-guide-disabled-btn,
.sascweb-guide-disabled-btn:disabled{
  background:#CBD5E1 !important;
  border-color:#CBD5E1 !important;
  color:#475569 !important;
  cursor:not-allowed !important;
  opacity:1 !important;
  box-shadow:none !important;
}

.sascweb-guide-warning{
  border-left:6px solid #F59E0B !important;
  font-weight:700 !important;
}

@media(max-width:768px){
  .registration-contact-line .registration-copy-cpf,
  .registration-contact-line .registration-phone-field,
  .registration-contact-line .registration-copy-cpf strong,
  .registration-contact-line .registration-phone-field strong{
    font-size:.94rem !important;
  }

  .user-center-hero-actions .btn{
    width:100% !important;
  }
}


/* =========================================================
   AcolheMGA v0.93a — ajustes de guia, menu e cadastro da pessoa
   ========================================================= */

/* Menu superior fixo também no mobile; uso fixed para evitar falha de sticky por overflow ancestral. */
.navbar.navbar-expand-lg.navbar-dark{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:2140 !important;
}

body{
  padding-top:74px !important;
}

@media(max-width:768px){
  body{
    padding-top:66px !important;
  }
}

/* PC: 1px de espaço entre os itens para o hover não ficar colado. */
@media(min-width:992px){
  .navbar-nav{
    gap:1px !important;
  }
  .navbar-nav .nav-item{
    margin-right:1px !important;
  }
  .navbar-nav .nav-link,
  .docs-menu-toggle{
    margin-left:1px !important;
    margin-right:1px !important;
  }
}

/* Index e campos CPF: unificar fonte Montserrat em PC/mobile. */
input[name="cpf"],
.cpf-input,
.inline-agenda-table input[name="cpf"],
.inline-agenda-table .cpf-input,
.form-control.cpf-input{
  font-family:'Montserrat', Arial, sans-serif !important;
  font-weight:700 !important;
}

/* Guia Espelho SASCWeb: tipo de atendimento 20% mais alto e texto completo. */
.sascweb-guide-type-select{
  min-height:53px !important;
  height:auto !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  padding-top:.52rem !important;
  padding-bottom:.52rem !important;
}

/* Ações: retoma leitura visual mais próxima da v0.92j. */
.sascweb-guide-actions-field select{
  min-height:76px !important;
  height:76px !important;
  background:#FFFFFF !important;
  color:#26384E !important;
  opacity:1 !important;
  border-color:#C9D8EA !important;
  box-shadow:0 8px 18px rgba(15,45,92,.06) !important;
}

.sascweb-guide-top-grid select:disabled,
.sascweb-guide-benefit-grid input[readonly]{
  opacity:1 !important;
  background:#FFFFFF !important;
  color:#26384E !important;
}

/* Central do Usuário: card principal azul com largura igual aos cards de resumo e botões com 95%. */
.user-center-hero{
  width:100% !important;
  max-width:780px !important;
  margin-left:0 !important;
  margin-right:auto !important;
}

.user-center-hero-actions{
  width:100% !important;
  max-width:100% !important;
}

.user-center-hero-actions .btn{
  width:95% !important;
  max-width:95% !important;
  display:block !important;
  text-align:left !important;
}

/* Cadastro da pessoa: pular linhas entre os campos, evitando campos espremidos lado a lado. */
.user-center-cadastro-form .form-row{
  display:block !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.user-center-cadastro-form .form-row > .form-group,
.user-center-cadastro-form .form-group{
  width:100% !important;
  max-width:720px !important;
  flex:0 0 100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-bottom:.95rem !important;
}

.user-center-cadastro-form .form-control,
.user-center-cadastro-form .user-center-box-check{
  width:100% !important;
  max-width:720px !important;
}

/* Relatos de benefícios: visual próprio na linha do tempo de relatos. */
.user-benefit-report-card{
  border-width:1px 1px 1px 6px !important;
  box-shadow:0 10px 24px rgba(15,45,92,.06) !important;
}

.user-benefit-report-card.benefit-cesta{
  border-color:#86EFAC !important;
  border-left-color:#22C55E !important;
  background:#F0FDF4 !important;
}

.user-benefit-report-card.benefit-vt{
  border-color:#BAE6FD !important;
  border-left-color:#38BDF8 !important;
  background:#F0F9FF !important;
}

.user-benefit-report-card.benefit-other{
  border-color:#CBD5E1 !important;
  border-left-color:#64748B !important;
  background:#F8FAFC !important;
}

.user-benefit-report-card .user-confidential-meta strong{
  color:#0F2D5C !important;
}

.user-benefit-report-card.benefit-cesta .user-confidential-meta strong{
  color:#166534 !important;
}

.user-benefit-report-card.benefit-vt .user-confidential-meta strong{
  color:#075985 !important;
}

@media(max-width:768px){
  .user-center-hero{
    max-width:100% !important;
  }
  .user-center-hero-actions .btn{
    width:95% !important;
    max-width:95% !important;
  }
  .user-center-cadastro-form .form-row > .form-group,
  .user-center-cadastro-form .form-group,
  .user-center-cadastro-form .form-control,
  .user-center-cadastro-form .user-center-box-check{
    max-width:100% !important;
  }
}


/* =========================================================
   AcolheMGA v0.93b — guia, relatos e menu mobile
   ========================================================= */

/* Guia Espelho SASCWeb: tamanhos verticais solicitados. */
.sascweb-guide-type-select{
  min-height:62px !important;
  height:auto !important;
  padding-top:.72rem !important;
  padding-bottom:.72rem !important;
}

.sascweb-guide-actions-field select{
  min-height:91px !important;
  height:91px !important;
}

.sascweb-guide-benefit-grid .form-control{
  min-height:55px !important;
  height:auto !important;
  padding-top:.6rem !important;
  padding-bottom:.6rem !important;
}

/* Aviso logo abaixo do título da guia, mais compacto. */
.sascweb-guide-warning{
  margin-top:-.35rem !important;
  margin-bottom:1rem !important;
}

/* Relatos justificados. Peso atual dos textos de relato no tema: 650/700 conforme regra herdada; aqui normalizo leitura para 650. */
.user-confidential-card p{
  text-align:justify !important;
  text-justify:inter-word !important;
  font-weight:650 !important;
}

/* Cards de concessão: cores fortes na borda e fundos claros. */
.user-benefit-report-card.benefit-cesta{
  border-color:#22C55E !important;
  border-left-color:#15803D !important;
  background:#DCFCE7 !important;
}

.user-benefit-report-card.benefit-vt{
  border-color:#38BDF8 !important;
  border-left-color:#0284C7 !important;
  background:#E0F2FE !important;
}

.benefit-guide-badge{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:100% !important;
  margin-top:.55rem !important;
  padding:.34rem .62rem !important;
  border-radius:999px !important;
  font-weight:850 !important;
  font-size:.78rem !important;
  line-height:1 !important;
  text-decoration:none !important;
}

.benefit-guide-badge:hover{
  text-decoration:none !important;
  filter:brightness(.97);
}

.benefit-guide-cesta{
  color:#166534 !important;
  background:#BBF7D0 !important;
  border:1px solid #22C55E !important;
}

.benefit-guide-vt{
  color:#075985 !important;
  background:#BAE6FD !important;
  border:1px solid #38BDF8 !important;
}

/* Menu mobile: fixo sem esconder o conteúdo; ao abrir, o menu vira painel rolável vertical. */
@media(max-width:991.98px){
  .navbar.navbar-expand-lg.navbar-dark{
    max-height:100vh !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
  }

  .navbar-collapse.show,
  .navbar-collapse.collapsing{
    position:static !important;
    width:100% !important;
    max-height:calc(100vh - 82px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding-top:.7rem !important;
    padding-bottom:.85rem !important;
    background:transparent !important;
  }

  .mobile-top-menu{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:.35rem !important;
    width:100% !important;
    overflow-x:hidden !important;
  }

  .mobile-top-menu .nav-item,
  .mobile-top-menu .nav-link,
  .docs-menu-toggle{
    width:100% !important;
    text-align:left !important;
    white-space:normal !important;
  }
}

/* Agenda: Vale Transporte destacado em azul no select. */
.type-service-select.vale-transporte-selected,
.spontaneous-type-select.vale-transporte-selected,
select[name="type_of_service"].vale-transporte-selected{
  background:#DBEAFE !important;
  color:#1E3A8A !important;
  border-color:#60A5FA !important;
  font-weight:700 !important;
}


/* =========================================================
   AcolheMGA v0.93c — menu e Guia Espelho SASCWeb
   ========================================================= */

/* Mobile: alinhar marca, botão e menu à esquerda; manter o botão hambúrguer à direita. */
@media(max-width:991.98px){
  .navbar.navbar-expand-lg.navbar-dark{
    align-items:flex-start !important;
    text-align:left !important;
  }

  .navbar-brand.brand-block{
    align-items:center !important;
    justify-content:flex-start !important;
    text-align:left !important;
    margin-right:auto !important;
  }

  .brand-text,
  .brand-title,
  .brand-subtitle{
    text-align:left !important;
  }

  .navbar-toggler{
    margin-left:auto !important;
    align-self:flex-start !important;
  }

  .navbar-collapse,
  .mobile-top-menu,
  .mobile-top-menu .nav-item,
  .mobile-top-menu .nav-link,
  .docs-menu-toggle,
  .docs-menu-dropdown{
    text-align:left !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }
}

/* Guia SASCWeb: títulos internos com Montserrat, caixa alta e tamanho controlado. */
.sascweb-guide-page .institutional-section-title{
  font-family:'Montserrat', Arial, sans-serif !important;
  font-size:.92rem !important;
  line-height:1.18 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.045em !important;
}

/* Tipo de atendimento agora é box estático, não dropdown. */
.sascweb-guide-static-box{
  display:flex !important;
  align-items:center !important;
  min-height:70px !important;
  height:auto !important;
  padding:.68rem .85rem !important;
  border-radius:.7rem !important;
  border:1px solid #C9D8EA !important;
  background:#FFFFFF !important;
  color:#26384E !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-weight:750 !important;
  line-height:1.28 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  box-shadow:0 8px 18px rgba(15,45,92,.06) !important;
}

.sascweb-guide-type-box{
  min-height:70px !important;
}

/* Exemplo de relato copiável. */
.sascweb-guide-example-box{
  margin-top:.85rem !important;
  padding:.8rem .9rem !important;
  border-radius:.8rem !important;
  border:1px solid #BFDBFE !important;
  background:#EFF6FF !important;
  color:#1E3A8A !important;
}

.sascweb-guide-example-box strong{
  display:block !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.035em !important;
  font-size:.82rem !important;
  margin-bottom:.35rem !important;
}

.sascweb-guide-example-box p{
  margin:0 0 .65rem 0 !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-weight:750 !important;
  line-height:1.35 !important;
  user-select:text !important;
  -webkit-user-select:text !important;
}

.sascweb-copy-example{
  border-radius:999px !important;
  font-weight:850 !important;
}


/* =========================================================
   AcolheMGA v0.93d — menu mobile off-canvas lateral
   ========================================================= */

/* Desktop preservado: menu horizontal superior. */
.desktop-navbar-content{
  display:flex !important;
}

.mobile-offcanvas-toggle,
.mobile-offcanvas-overlay,
.mobile-offcanvas-panel{
  display:none;
}

/* Evita que regras anteriores de collapse mobile interfiram no novo padrão. */
@media (max-width: 991.98px){
  .desktop-navbar-content{
    display:none !important;
  }

  .navbar.navbar-expand-lg.navbar-dark{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:2140 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:nowrap !important;
    max-height:none !important;
    overflow:visible !important;
    padding:.68rem .78rem !important;
  }

  .navbar-brand.brand-block{
    min-width:0 !important;
    flex:1 1 auto !important;
    margin-right:.65rem !important;
    justify-content:flex-start !important;
    text-align:left !important;
  }

  .brand-icon{
    flex:0 0 auto !important;
  }

  .brand-text{
    min-width:0 !important;
    text-align:left !important;
  }

  .brand-title,
  .brand-subtitle{
    text-align:left !important;
  }

  .mobile-offcanvas-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    width:52px !important;
    height:52px !important;
    border:2px solid rgba(255,255,255,.85) !important;
    border-radius:.72rem !important;
    background:rgba(15,45,92,.3) !important;
    margin-left:auto !important;
    padding:.35rem !important;
    box-shadow:0 6px 18px rgba(0,0,0,.18) !important;
  }

  .mobile-offcanvas-overlay{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    z-index:2145 !important;
    background:rgba(4,16,38,.62) !important;
    opacity:0 !important;
    transition:opacity .22s ease !important;
    backdrop-filter:blur(1.5px) !important;
  }

  .mobile-offcanvas-overlay.show{
    opacity:1 !important;
  }

  .mobile-offcanvas-panel{
    display:flex !important;
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    width:min(84vw, 340px) !important;
    height:100vh !important;
    max-height:100vh !important;
    z-index:2150 !important;
    background:linear-gradient(180deg,#0F3D75 0%,#0C2F60 52%,#09274F 100%) !important;
    color:#FFFFFF !important;
    transform:translateX(-105%) !important;
    transition:transform .25s ease !important;
    box-shadow:18px 0 42px rgba(0,0,0,.32) !important;
    border-radius:0 1.2rem 1.2rem 0 !important;
    flex-direction:column !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain !important;
    padding:1rem .95rem 1.1rem !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .mobile-offcanvas-panel.open{
    transform:translateX(0) !important;
  }

  body.mobile-menu-open{
    overflow:hidden !important;
    touch-action:none !important;
  }

  .mobile-offcanvas-head{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:.75rem !important;
    padding:.25rem .15rem 1rem !important;
    border-bottom:1px solid rgba(255,255,255,.22) !important;
    margin-bottom:.85rem !important;
  }

  .mobile-offcanvas-brand{
    display:flex !important;
    align-items:center !important;
    gap:.72rem !important;
    color:#FFFFFF !important;
    text-decoration:none !important;
    min-width:0 !important;
  }

  .mobile-offcanvas-brand:hover{
    color:#FFFFFF !important;
    text-decoration:none !important;
  }

  .mobile-offcanvas-brand .brand-icon{
    width:58px !important;
    height:58px !important;
    border-radius:.8rem !important;
    background:#FFFFFF !important;
    box-shadow:0 8px 20px rgba(0,0,0,.16) !important;
  }

  .mobile-offcanvas-brand .brand-title{
    color:#FFFFFF !important;
    font-size:1.35rem !important;
    line-height:1.05 !important;
    font-weight:900 !important;
  }

  .mobile-offcanvas-brand .brand-subtitle{
    display:block !important;
    color:rgba(255,255,255,.86) !important;
    font-size:.83rem !important;
    line-height:1.16 !important;
    white-space:normal !important;
  }

  .mobile-offcanvas-close{
    border:0 !important;
    background:rgba(255,255,255,.1) !important;
    color:#FFFFFF !important;
    width:36px !important;
    height:36px !important;
    border-radius:999px !important;
    font-size:1.55rem !important;
    line-height:1 !important;
    font-weight:700 !important;
  }

  .mobile-offcanvas-nav{
    display:flex !important;
    flex-direction:column !important;
    gap:.26rem !important;
    width:100% !important;
  }

  .mobile-offcanvas-link{
    display:flex !important;
    align-items:center !important;
    gap:.85rem !important;
    width:100% !important;
    min-height:52px !important;
    padding:.62rem .7rem !important;
    border-radius:.78rem !important;
    color:#FFFFFF !important;
    text-decoration:none !important;
    font-family:'Montserrat', Arial, sans-serif !important;
    font-weight:850 !important;
    font-size:.99rem !important;
    line-height:1.1 !important;
    border:0 !important;
    background:transparent !important;
    text-align:left !important;
  }

  .mobile-offcanvas-link:hover,
  .mobile-offcanvas-link:focus,
  .mobile-offcanvas-link.active{
    color:#FFFFFF !important;
    text-decoration:none !important;
    background:rgba(96,165,250,.28) !important;
    outline:none !important;
  }

  .mobile-menu-icon{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:28px !important;
    height:28px !important;
    flex:0 0 28px !important;
    color:#FFFFFF !important;
  }

  .mobile-menu-icon svg{
    width:26px !important;
    height:26px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:2.15 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }

  .mobile-offcanvas-docs{
    width:100% !important;
  }

  .mobile-docs-toggle{
    cursor:pointer !important;
  }

  .mobile-offcanvas-caret{
    margin-left:auto !important;
    font-size:1rem !important;
    opacity:.86 !important;
  }

  .mobile-docs-dropdown{
    position:static !important;
    display:none !important;
    width:100% !important;
    min-width:0 !important;
    margin:.2rem 0 .45rem 0 !important;
    padding:.35rem 0 .35rem 2.75rem !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:.72rem !important;
    box-shadow:none !important;
  }

  .mobile-offcanvas-docs.open .mobile-docs-dropdown{
    display:block !important;
  }

  .mobile-docs-dropdown .docs-menu-link{
    display:block !important;
    color:rgba(255,255,255,.9) !important;
    padding:.42rem .55rem !important;
    border-radius:.55rem !important;
    font-weight:750 !important;
    font-size:.86rem !important;
    text-decoration:none !important;
    white-space:normal !important;
  }

  .mobile-docs-dropdown .docs-menu-link:hover,
  .mobile-docs-dropdown .docs-menu-link.active{
    background:rgba(255,255,255,.12) !important;
    color:#FFFFFF !important;
    text-decoration:none !important;
  }

  .mobile-offcanvas-footer{
    margin-top:auto !important;
    padding-top:.95rem !important;
    border-top:1px solid rgba(255,255,255,.18) !important;
  }

  .mobile-unit-card{
    display:flex !important;
    align-items:center !important;
    gap:.72rem !important;
    width:100% !important;
    padding:.68rem .72rem !important;
    margin-bottom:.7rem !important;
    border-radius:.9rem !important;
    background:#FFFFFF !important;
    color:#0F2D5C !important;
    box-shadow:0 10px 24px rgba(0,0,0,.16) !important;
  }

  .mobile-unit-card .mobile-menu-icon{
    color:#1D4E89 !important;
  }

  .mobile-unit-content{
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    flex:1 1 auto !important;
  }

  .mobile-unit-content span{
    font-size:.76rem !important;
    font-weight:800 !important;
    color:#64748B !important;
  }

  .mobile-unit-content strong{
    font-size:1.2rem !important;
    font-weight:900 !important;
    color:#0F2D5C !important;
  }

  .mobile-unit-form{
    width:100% !important;
    margin:0 !important;
  }

  .mobile-unit-select{
    width:100% !important;
    border:0 !important;
    background:transparent !important;
    color:#0F2D5C !important;
    font-weight:900 !important;
    font-size:1.15rem !important;
    padding:0 !important;
    appearance:auto !important;
  }

  .mobile-account-link{
    min-height:48px !important;
  }

  .mobile-account-link .mobile-menu-icon{
    color:#FACC15 !important;
  }

  .mobile-account-link.danger .mobile-menu-icon,
  .mobile-account-link.danger{
    color:#FCA5A5 !important;
  }
}


/* =========================================================
   AcolheMGA v0.93e — correções Guia SASCWeb, off-canvas e auditoria
   ========================================================= */

/* Off-canvas: trava também o elemento html, não só body. */
html.mobile-menu-open,
body.mobile-menu-open{
  overflow:hidden !important;
  height:100% !important;
}

/* Garante que o painel mobile esteja acima de qualquer navbar/collapse herdado. */
@media(max-width:991.98px){
  .mobile-offcanvas-panel{
    z-index:3000 !important;
    display:flex !important;
    pointer-events:auto !important;
  }

  .mobile-offcanvas-panel.open{
    transform:translateX(0) !important;
    visibility:visible !important;
  }

  .mobile-offcanvas-overlay{
    z-index:2990 !important;
  }

  .mobile-offcanvas-toggle{
    z-index:3010 !important;
    position:relative !important;
    pointer-events:auto !important;
  }

  .desktop-navbar-content,
  #navbarContent.desktop-navbar-content{
    display:none !important;
  }
}

/* Guia SASCWeb: aviso fica dentro do card inicial. */
.sascweb-guide-hero{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  align-items:start !important;
  gap:.85rem !important;
}

.sascweb-guide-hero .sascweb-guide-warning{
  grid-column:1 / -1 !important;
  margin:.2rem 0 0 0 !important;
  border-radius:.85rem !important;
  background:#FEF3C7 !important;
  border:1px solid #F59E0B !important;
  border-left:6px solid #F59E0B !important;
  color:#78350F !important;
}

/* Exemplo do relato dentro de um box próprio, com texto selecionável. */
.sascweb-guide-example-box{
  margin-top:.85rem !important;
}

.sascweb-guide-example-box label{
  display:block !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.035em !important;
  font-size:.82rem !important;
  color:#1E3A8A !important;
  margin-bottom:.35rem !important;
}

.sascweb-guide-example-textarea{
  width:100% !important;
  min-height:96px !important;
  resize:vertical !important;
  background:#FFFFFF !important;
  color:#1E3A8A !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-weight:750 !important;
  line-height:1.35 !important;
  border:1px solid #BFDBFE !important;
  border-radius:.7rem !important;
  user-select:text !important;
  -webkit-user-select:text !important;
}

@media(max-width:768px){
  .sascweb-guide-hero{
    grid-template-columns:1fr !important;
  }

  .sascweb-guide-hero .btn{
    width:100% !important;
  }
}


/* =========================================================
   AcolheMGA v0.93f1 — hardfix isolado do menu mobile
   =========================================================
   Base visual preservada: v0.93e.
   Esta correção só controla o off-canvas mobile para impedir overlay/painel
   invisível bloqueando cliques na Agenda, Cadastro, Central e Guia.
*/

/* Desktop: off-canvas não participa da interface. */
@media (min-width: 992px){
  .mobile-offcanvas-overlay,
  .mobile-offcanvas-panel,
  .mobile-offcanvas-toggle{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .desktop-navbar-content{
    display:flex !important;
  }
}

/* Mobile fechado: overlay e painel não existem para clique. */
@media (max-width: 991.98px){
  html:not(.mobile-menu-open) .mobile-offcanvas-overlay,
  body:not(.mobile-menu-open) .mobile-offcanvas-overlay,
  html:not(.mobile-menu-open) .mobile-offcanvas-panel,
  body:not(.mobile-menu-open) .mobile-offcanvas-panel{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    transform:translateX(-105%) !important;
  }

  html.mobile-menu-open,
  body.mobile-menu-open{
    overflow:hidden !important;
    height:100% !important;
  }

  .desktop-navbar-content,
  #navbarContent.desktop-navbar-content{
    display:none !important;
  }

  .mobile-offcanvas-toggle{
    display:inline-flex !important;
    visibility:visible !important;
    pointer-events:auto !important;
    cursor:pointer !important;
    position:relative !important;
    z-index:4005 !important;
  }

  body.mobile-menu-open .mobile-offcanvas-overlay{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    position:fixed !important;
    inset:0 !important;
    z-index:3990 !important;
    background:rgba(4,16,38,.62) !important;
  }

  body.mobile-menu-open .mobile-offcanvas-panel{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    width:min(84vw, 340px) !important;
    height:100vh !important;
    max-height:100vh !important;
    z-index:4000 !important;
    transform:translateX(0) !important;
    flex-direction:column !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body.mobile-menu-open .mobile-offcanvas-panel *,
  body.mobile-menu-open .mobile-offcanvas-panel a,
  body.mobile-menu-open .mobile-offcanvas-panel button,
  body.mobile-menu-open .mobile-offcanvas-panel select{
    pointer-events:auto !important;
  }
}

/* =========================================================
   AcolheMGA v0.93f2 LTS — ajustes pontuais solicitados
   ========================================================= */
@media (max-width: 991.98px){
  body.mobile-menu-open .mobile-offcanvas-panel,
  .mobile-offcanvas-panel.open{
    width:min(71vw, 289px) !important;
    max-width:min(71vw, 289px) !important;
  }
  .mobile-unit-card{
    width:85% !important;
    max-width:85% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}
.sascweb-guide-page .institutional-section-title{
  font-size:1.06rem !important;
  line-height:1.18 !important;
}
.sascweb-guide-example-box{ padding:.9rem 1rem !important; }
.sascweb-guide-example-box strong{
  display:block !important; margin-bottom:.48rem !important; font-family:'Montserrat', Arial, sans-serif !important; font-weight:900 !important; text-transform:uppercase !important; letter-spacing:.035em !important; color:#1E3A8A !important;
}
.sascweb-guide-example-text{
  margin:0 0 .72rem 0 !important; padding:0 !important; border:0 !important; background:transparent !important; color:#1E3A8A !important; font-family:'Montserrat', Arial, sans-serif !important; font-weight:900 !important; line-height:1.25 !important; text-transform:uppercase !important; user-select:text !important; -webkit-user-select:text !important;
}
.sascweb-guide-return-bottom{ margin-top:.65rem !important; }
.sascweb-guide-final-actions{ display:flex !important; flex-direction:column !important; gap:.65rem !important; }
.health-inline-fix-form{ margin-top:.7rem !important; }
.health-runtime-recent-list{ list-style:none !important; padding:0 !important; margin:.9rem 0 0 0 !important; display:grid !important; gap:.55rem !important; }
.health-runtime-recent-list li{ display:flex !important; align-items:center !important; justify-content:space-between !important; gap:.75rem !important; padding:.65rem .75rem !important; border:1px solid #D7ECFF !important; border-radius:.75rem !important; background:#F8FBFF !important; color:#0F2D5C !important; }
.health-runtime-recent-list strong{ font-weight:900 !important; }
.health-runtime-recent-list span{ font-weight:900 !important; color:#0F6FBF !important; white-space:nowrap !important; }
.health-runtime-recent-list small{ color:#64748B !important; white-space:nowrap !important; }
@media(max-width:768px){ .health-runtime-recent-list li{ align-items:flex-start !important; flex-direction:column !important; gap:.2rem !important; } }


/* =========================================================
   AcolheMGA v0.93f3 LTS — ajustes pontuais LTS
   ========================================================= */

/* Benefícios: contagem discreta por técnico */
.benefits-current-count-wrapper{
  margin:.65rem 0 .8rem !important;
}
.benefits-current-count-toggle{
  border-radius:999px !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-weight:800 !important;
  padding:.36rem .72rem !important;
}
.benefits-current-count-card{
  margin-top:.55rem !important;
  padding:.72rem .85rem !important;
  border:1px solid #D7ECFF !important;
  border-left:5px solid #1D4E89 !important;
  border-radius:.85rem !important;
  background:#F8FBFF !important;
  color:#26384E !important;
  box-shadow:0 8px 18px rgba(15,45,92,.05) !important;
}
.benefits-current-count-line{
  font-size:.88rem !important;
  line-height:1.35 !important;
  padding:.25rem 0 !important;
  border-bottom:1px solid rgba(15,45,92,.08) !important;
}
.benefits-current-count-line:last-child{
  border-bottom:0 !important;
}

/* Saúde do Sistema: seletor de mês na alta prioridade */
.health-priority-month-form{
  margin-top:.45rem !important;
}
.health-priority-month-form label{
  display:block !important;
  margin-bottom:.18rem !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  color:#5D6B7E !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}
.health-priority-month-form .form-control{
  max-width:170px !important;
  min-height:34px !important;
  font-weight:800 !important;
}

/* Auto-submit mantém o botão visível, mas o fluxo fica automático após mudar mês/data. */
.institutional-filter input[type="month"],
.institutional-filter input[type="date"],
.technical-date-form input[type="date"],
.visit-filter-card input[type="month"]{
  cursor:pointer !important;
}


/* =========================================================
   AcolheMGA — Hard search RMA no Saúde do Sistema
   ========================================================= */
.health-hard-rma-search-section{
  border-left:6px solid #DC2626 !important;
}
.health-hard-rma-summary{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr)) !important;
  gap:.65rem !important;
  margin-top:.85rem !important;
}
.health-hard-rma-summary div{
  padding:.72rem .8rem !important;
  border:1px solid #FECACA !important;
  border-radius:.8rem !important;
  background:#FEF2F2 !important;
}
.health-hard-rma-summary strong{
  display:block !important;
  color:#991B1B !important;
  font-size:1.25rem !important;
  font-weight:900 !important;
}
.health-hard-rma-summary span{
  display:block !important;
  color:#7F1D1D !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
}
.health-hard-rma-subtitle{
  margin-top:1rem !important;
  margin-bottom:.55rem !important;
  font-size:1rem !important;
  font-weight:900 !important;
  color:#991B1B !important;
}
.health-hard-rma-table td,
.health-hard-rma-table th{
  vertical-align:top !important;
  font-size:.84rem !important;
}


/* =========================================================
   AcolheMGA v0.93f4 LTS — ajustes UI Benefícios/Central/Pesquisa
   ========================================================= */

/* Benefícios — contagem atual: Total em destaque e Reg. discreto */
.benefits-current-count-line strong{
  color:#0F2D5C !important;
  font-weight:900 !important;
}
.benefits-current-count-reg{
  display:inline-block !important;
  margin-left:.25rem !important;
  color:#64748B !important;
  font-size:.82rem !important;
  font-weight:750 !important;
}

/* Pesquisa de cadastro — retornar chips de CPF/Tel para tonalidade mais clara e menos pesada */
.registration-person-card .registration-copy-cpf,
.registration-person-card .registration-phone-field,
.registration-contact-line .registration-copy-cpf,
.registration-contact-line .registration-phone-field{
  background:#F6FAFF !important;
  border:1px solid rgba(215,236,255,.82) !important;
  box-shadow:0 8px 18px rgba(15,45,92,.035) !important;
  color:#334155 !important;
  font-size:.84rem !important;
  line-height:1.15 !important;
  font-weight:650 !important;
  padding:.32rem .56rem !important;
}

.registration-person-card .registration-copy-cpf strong,
.registration-person-card .registration-phone-field strong,
.registration-contact-line .registration-copy-cpf strong,
.registration-contact-line .registration-phone-field strong{
  color:#334155 !important;
  font-size:.84rem !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
}

.registration-person-card .registration-copy-cpf,
.registration-contact-line .registration-copy-cpf{
  gap:.32rem !important;
}

.registration-copy-btn{
  box-shadow:none !important;
  background:#F1F7FF !important;
}

/* Central do Usuário — centralizar texto dos botões do menu superior */
.user-center-hero-actions .btn,
.user-center-hero-actions a.btn,
.user-center-hero-actions button.btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:normal !important;
  line-height:1.18 !important;
}

/* Central do Usuário — concessão de cesta com borda verde escura e fundo verde claro */
.user-benefit-report-card.benefit-cesta,
.user-confidential-card.user-benefit-report-card.benefit-cesta{
  border-color:#166534 !important;
  border-left-color:#166534 !important;
  background:#DCFCE7 !important;
  box-shadow:0 10px 22px rgba(22,101,52,.08) !important;
}

.user-benefit-report-card.benefit-cesta .user-confidential-meta strong,
.user-confidential-card.user-benefit-report-card.benefit-cesta .user-confidential-meta strong{
  color:#14532D !important;
}

/* Relatos — reduzir peso do texto em 50 */
.user-confidential-card p,
.user-benefit-report-card p{
  font-weight:600 !important;
}


/* =========================================================
   AcolheMGA v0.93f5 LTS — Hard Search próximos/duplicados
   ========================================================= */
.health-hard-rma-near-table td,
.health-hard-rma-near-table th{
  font-size:.8rem !important;
}
.health-hard-rma-near-table small{
  color:#64748B !important;
  font-weight:650 !important;
}
.health-hard-rma-near-table td:first-child strong{
  color:#991B1B !important;
}


/* =========================================================
   AcolheMGA v0.93f6 LTS — Benefícios mobile e ações index
   ========================================================= */

/* Benefícios Eventuais: ajuste de colunas e nova coluna Controle */
.benefits-concession-table .benefit-col-cpf{
  width:13.3% !important;
  min-width:124px !important;
}
.benefits-concession-table .benefit-col-benefit{
  width:16.9% !important;
  min-width:150px !important;
}
.benefits-concession-table .benefit-col-quantity{
  width:8.5% !important;
  min-width:89px !important;
  text-align:center !important;
}
.benefits-concession-table .benefit-col-conceded{
  width:11.9% !important;
  min-width:132px !important;
}
.benefits-concession-table .benefit-col-action{
  width:8.5% !important;
  min-width:92px !important;
  text-align:center !important;
}
.benefits-concession-table .benefit-col-control{
  width:11% !important;
  min-width:128px !important;
  text-align:center !important;
  white-space:nowrap !important;
}
.benefits-concession-table .benefit-col-control strong{
  display:inline-block !important;
  max-width:126px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  vertical-align:middle !important;
  color:#0F2D5C !important;
  font-size:.8rem !important;
  font-weight:850 !important;
}
.benefit-quantity-input{
  max-width:73px !important;
}

/* Mobile: manter tabela de Benefícios mais compacta, preservando scroll horizontal */
@media(max-width:768px){
  .benefits-concession-table .benefit-col-cpf{
    min-width:118px !important;
  }
  .benefits-concession-table .benefit-col-benefit{
    min-width:142px !important;
  }
  .benefits-concession-table .benefit-col-quantity{
    min-width:82px !important;
  }
  .benefits-concession-table .benefit-col-conceded{
    min-width:118px !important;
  }
  .benefits-concession-table .benefit-col-action{
    min-width:88px !important;
  }
  .benefits-concession-table .benefit-col-control{
    min-width:118px !important;
  }
  .benefit-quantity-input{
    max-width:70px !important;
    padding-left:.25rem !important;
    padding-right:.25rem !important;
  }
}

/* Index/Agenda: espaço real de 1px entre botões de ação */
.inline-agenda-table .col-action .inline-icon-btn,
.inline-agenda-table .col-action .inline-concession-btn,
.inline-agenda-table .col-action .inline-save-btn,
.inline-agenda-table .col-action .inline-delete-btn{
  margin-left:1px !important;
  margin-right:1px !important;
}
.inline-agenda-table .col-action .inline-icon-btn + .inline-icon-btn,
.inline-agenda-table .col-action .inline-icon-btn + .inline-concession-btn,
.inline-agenda-table .col-action .inline-concession-btn + .inline-icon-btn,
.inline-agenda-table .col-action .inline-concession-btn + .inline-delete-btn,
.inline-agenda-table .col-action .inline-save-btn + .inline-concession-btn,
.inline-agenda-table .col-action .inline-save-btn + .inline-delete-btn{
  margin-left:1px !important;
}


/* =========================================================
   AcolheMGA v0.93f7 LTS — login e controle de benefícios
   ========================================================= */

/* Login: remover espaço superior excessivo no mobile/desktop */
.login-body{
  align-items:flex-start !important;
  justify-content:center !important;
  padding-top:clamp(.6rem, 2vh, 1.25rem) !important;
  padding-bottom:1rem !important;
}

.login-card{
  margin-top:0 !important;
}

/* Login: texto LGPD abaixo do Entrar justificado */
.login-privacy-note{
  text-align:justify !important;
  text-justify:inter-word !important;
  line-height:1.38 !important;
}

/* Benefícios: controle inteiro, sem elipse e sem negrito */
.benefits-concession-table .benefit-col-control{
  white-space:normal !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
  font-weight:500 !important;
  line-height:1.18 !important;
  min-width:142px !important;
}

.benefits-concession-table .benefit-col-control strong{
  display:inline !important;
  max-width:none !important;
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:normal !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
  font-weight:500 !important;
  color:#0F2D5C !important;
  font-size:.78rem !important;
}

@media(max-width:768px){
  .login-body{
    min-height:100dvh !important;
    padding-top:.55rem !important;
    padding-left:.85rem !important;
    padding-right:.85rem !important;
  }

  .login-card{
    max-width:100% !important;
  }

  .benefits-concession-table .benefit-col-control{
    min-width:136px !important;
    max-width:150px !important;
    font-size:.76rem !important;
  }
}


/* =========================================================
   AcolheMGA v0.93f9 LTS — Hard Search e menu superior
   ========================================================= */

/* Menu superior: corta 1px no topo/final e aumenta logo em 10% */
.navbar.navbar-expand-lg.navbar-dark{
  padding-top:calc(.5rem - 1px) !important;
  padding-bottom:calc(.5rem - 1px) !important;
}

.navbar .navbar-brand.brand-block{
  padding-top:calc(.16rem - 1px) !important;
  padding-bottom:calc(.16rem - 1px) !important;
}

.brand-icon{
  width:46px !important;
  height:46px !important;
}

@media(max-width:768px){
  .navbar.navbar-expand-lg.navbar-dark{
    padding-top:calc(.5rem - 1px) !important;
    padding-bottom:calc(.5rem - 1px) !important;
  }

  .brand-icon{
    width:40px !important;
    height:40px !important;
  }
}

/* Hard Search: baixa prioridade visual */
.health-hard-rma-low-title{
  color:#92400E !important;
}
.health-hard-rma-low-table td:first-child strong{
  color:#92400E !important;
}
.health-hard-rma-low-table{
  background:#FFFBEB !important;
}


/* v0.94 CT - Centro Técnico e reorganização das ferramentas administrativas */
.technical-center-page .admin-page-heading{
    align-items:flex-start;
    gap:18px;
}
.technical-center-summary-row .summary-card strong{
    letter-spacing:-0.03em;
}
.technical-center-map-grid,
.technical-center-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
    gap:14px;
}
.technical-center-map-grid .admin-tool-card{
    min-height:150px;
}
.technical-center-tools-card .maintenance-action-card{
    min-height:145px;
}
.technical-center-flow-list{
    margin:0;
    padding-left:22px;
    color:#334155;
    line-height:1.7;
    font-size:0.95rem;
}
.technical-center-flow-list li + li{
    margin-top:6px;
}
.maintenance-title-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
}
@media (max-width: 768px){
    .maintenance-title-actions{
        justify-content:flex-start;
        width:100%;
    }
    .maintenance-title-actions .btn{
        width:100%;
    }
    .technical-center-map-grid,
    .technical-center-grid{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   AcolheMGA v0.94 CT2 — Painel hub e verificador de horários
   ========================================================= */
.admin-overview-grid-ct2{
  margin-bottom:1rem;
}
.admin-overview-card-ct{
  border-color:#0F2D5C !important;
  background:linear-gradient(135deg, #0F2D5C 0%, #164887 100%) !important;
  color:#fff !important;
}
.admin-overview-card-ct span,
.admin-overview-card-ct small,
.admin-overview-card-ct strong{
  color:#fff !important;
}
.admin-hub-card{
  border:1px solid #D7E3F4 !important;
  box-shadow:0 14px 32px rgba(15,45,92,.08) !important;
  background:linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%) !important;
}
.admin-hub-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.admin-hub-heading h2{
  margin:0 0 4px 0;
  color:#0F2D5C;
  font-weight:800;
}
.admin-hub-heading p{
  margin:0;
  color:#475569;
  max-width:900px;
}
.admin-hub-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:12px;
}
.admin-hub-route-card{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-height:126px;
  padding:16px;
  border-radius:16px;
  border:1px solid #E2E8F0;
  background:#fff;
  color:#0F172A;
  text-decoration:none !important;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.admin-hub-route-card:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(15,45,92,.10);
  border-color:#BBD0EA;
  color:#0F172A;
}
.admin-hub-route-card strong{
  color:#0F2D5C;
  font-weight:800;
  font-size:1rem;
}
.admin-hub-route-card span{
  color:#475569;
  font-size:.9rem;
  line-height:1.4;
}
.admin-hub-route-card:before{
  content:"";
  display:block;
  width:38px;
  height:5px;
  border-radius:99px;
  background:#0F2D5C;
  margin-bottom:2px;
}
.admin-hub-route-card.hub-health:before{ background:#0284C7; }
.admin-hub-route-card.hub-maintenance:before{ background:#D97706; }
.admin-hub-route-card.hub-technical:before{ background:#111827; }
.technical-title-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.availability-check-btn{
  font-weight:700 !important;
  border-radius:10px !important;
  white-space:nowrap;
}
.agenda-availability-result{
  width:100%;
  margin-top:10px;
}
.availability-alert{
  padding:10px 12px;
  border-radius:12px;
  background:#EFF6FF;
  color:#0F2D5C;
  border:1px solid #BFDBFE;
  font-weight:600;
}
.availability-alert-error{
  background:#FEF2F2;
  border-color:#FECACA;
  color:#991B1B;
}
.availability-card{
  border:1px solid #BFD3EE;
  background:#F8FBFF;
  border-radius:14px;
  padding:12px;
  box-shadow:0 8px 18px rgba(15,45,92,.06);
}
.availability-card-title{
  font-weight:800;
  color:#0F2D5C;
  margin-bottom:8px;
}
.availability-slot-list{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:8px;
  margin-bottom:8px;
}
.availability-slot-item{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding:9px 10px;
  border-radius:12px;
  background:#FFFFFF;
  border:1px solid #E2E8F0;
}
.availability-slot-item span{
  color:#334155;
  font-size:.88rem;
  line-height:1.25;
}
.availability-slot-item b{
  color:#0F2D5C;
  font-size:1rem;
  white-space:nowrap;
}
.availability-card small{
  color:#64748B;
  font-weight:600;
}
@media(max-width:768px){
  .admin-hub-heading{
    flex-direction:column;
  }
  .admin-hub-heading .btn,
  .availability-check-btn{
    width:100%;
    margin-left:0 !important;
    margin-top:8px;
  }
  .technical-title-actions{
    justify-content:flex-start;
    width:100%;
  }
  .technical-title-actions .btn{
    width:100%;
  }
  .availability-slot-item{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:768px){
  .technical-tools-row-after-table .cadunico-date-form .availability-check-btn,
  .cadunico-tools-row-after-table .cadunico-date-form .availability-check-btn,
  .educator-social-tools-row-after-table .cadunico-date-form .availability-check-btn{
    grid-column:1 / -1 !important;
  }
}

/* =========================================================
   AcolheMGA v0.94 CT3 — ajuste fino do topo mobile e logo
   ========================================================= */
.brand-icon{
  width:48px !important;
  height:48px !important;
}

@media(max-width:991.98px){
  .navbar.navbar-expand-lg.navbar-dark{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }

  .navbar .navbar-brand.brand-block{
    padding-top:0 !important;
    padding-bottom:0 !important;
    gap:.72rem !important;
  }

  .navbar .brand-icon{
    width:43px !important;
    height:43px !important;
  }

  .mobile-offcanvas-toggle{
    width:50px !important;
    height:50px !important;
    border-radius:.70rem !important;
  }
}

/* =========================================================
   AcolheMGA v0.94 CT4 — Painel hub real, Painel Legacy e submenu Painel
   ========================================================= */
.panel-menu-item{ position:relative; }
.panel-menu-split{
  display:flex;
  align-items:center;
  gap:2px;
}
.panel-menu-main{
  border-top-right-radius:.25rem !important;
  border-bottom-right-radius:.25rem !important;
}
.panel-menu-toggle{
  min-width:28px;
  padding-left:.35rem !important;
  padding-right:.45rem !important;
  border:0;
  cursor:pointer;
  font-family:'Montserrat', Arial, Helvetica, sans-serif;
  border-top-left-radius:.25rem !important;
  border-bottom-left-radius:.25rem !important;
}
.panel-menu-toggle .docs-menu-caret{ font-size:.88rem; }
.panel-menu-dropdown{ min-width:285px; }
.panel-menu-item.open .panel-menu-dropdown{ display:block; }
.mobile-offcanvas-split-row{
  display:grid !important;
  grid-template-columns:1fr 52px !important;
  gap:.36rem !important;
  width:100% !important;
  align-items:center !important;
}
.mobile-panel-main{ min-width:0 !important; }
.mobile-panel-arrow{
  justify-content:center !important;
  padding:.62rem .2rem !important;
  min-height:52px !important;
}
.mobile-panel-arrow .mobile-offcanvas-caret{
  margin-left:0 !important;
  font-size:1.1rem !important;
}
.mobile-panel-dropdown{ margin-top:.25rem !important; }

.admin-hub-clean-page .central-health-card,
.admin-hub-clean-page .central-pendencias-card{
  margin-top:1rem;
}
.admin-hub-primary-card{
  border-left:6px solid #0F2D5C;
}
.admin-hub-heading-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  justify-content:flex-end;
}
.admin-hub-grid-clean{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
.admin-hub-route-card.hub-audit:before{ background:#7C3AED; }
.admin-hub-route-card.hub-legacy:before{ background:#64748B; }
.admin-overview-grid-ct4{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  margin-top:1rem;
}
.admin-overview-card-legacy strong{ color:#475569; }
.admin-grid-routine-clean,
.admin-grid-team-clean{
  align-items:start;
}
.admin-shortcuts-clean-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:.75rem;
}
.legacy-intro-card{
  border-left:6px solid #64748B;
}
.legacy-badge{
  display:inline-flex;
  align-items:center;
  padding:.14rem .42rem;
  border-radius:999px;
  background:#E2E8F0;
  color:#334155;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.02em;
  vertical-align:middle;
}

/* v0.94 CT4 — verificador fica depois do botão de mês, dentro do card de data */
.technical-action-buttons .availability-check-btn,
.cadunico-action-buttons .availability-check-btn,
.educator-social-action-buttons .availability-check-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  margin-left:0 !important;
  margin-top:0 !important;
  padding:.55rem .9rem !important;
  background:#EAF6FF !important;
  color:#0F2D5C !important;
  border:1px solid #D7ECFF !important;
  box-shadow:none !important;
}
.technical-action-buttons .availability-check-btn:hover,
.cadunico-action-buttons .availability-check-btn:hover,
.educator-social-action-buttons .availability-check-btn:hover{
  background:#D7ECFF !important;
  color:#0F2D5C !important;
}
.agenda-availability-result .availability-card{ margin-top:.35rem; }
.availability-slot-list{ margin-bottom:0 !important; }
.availability-card small{ display:none !important; }
@media(max-width:768px){
  .admin-hub-heading-actions{ width:100%; justify-content:stretch; }
  .admin-hub-heading-actions .btn{ width:100%; }
  .technical-action-buttons .availability-check-btn,
  .cadunico-action-buttons .availability-check-btn,
  .educator-social-action-buttons .availability-check-btn{
    width:100% !important;
    min-height:46px !important;
  }
  .agenda-availability-result{ margin-top:.35rem !important; }
}

/* =========================================================
   AcolheMGA v0.94 CT4b — Painel hub enxuto e auditoria discreta
   ========================================================= */
.admin-hub-clean-page .admin-page-heading{
  margin-bottom:.35rem;
}
.admin-hub-route-card.hub-backup:before{ background:#059669; }
.admin-hub-clean-page .admin-hub-primary-card .admin-hub-heading{
  margin-bottom:10px;
}
.admin-hub-clean-page .admin-hub-primary-card .admin-hub-heading h2{
  margin-bottom:0;
}
.admin-bottom-meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.55rem;
  margin-top:1.25rem;
  padding:.75rem .85rem;
  border-top:1px solid #E2E8F0;
  color:#64748B;
  font-size:.86rem;
  font-weight:700;
}
.admin-bottom-meta strong{ color:#0F2D5C; }
.support-detail-scroll{
  max-height:420px;
  overflow:auto;
}
.admin-log-scroll{
  max-height:360px;
  overflow:auto;
}
.log-discreet-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin-top:.65rem;
  padding-top:.65rem;
  border-top:1px dashed #CBD5E1;
}
.log-discreet-actions .btn{
  font-size:.72rem !important;
  font-weight:700 !important;
  padding:.32rem .52rem !important;
  border-radius:.55rem !important;
  opacity:.88;
}
.log-discreet-actions .btn:hover{ opacity:1; }
.admin-audit-actions-card .audit-open-full-btn{
  white-space:nowrap;
}
@media(max-width:768px){
  .admin-bottom-meta{
    justify-content:flex-start;
    font-size:.82rem;
  }
  .log-discreet-actions .btn{
    width:100%;
    text-align:center;
  }
  .admin-audit-actions-card .control-card-header-row{
    gap:.5rem;
  }
  .admin-audit-actions-card .audit-open-full-btn{
    width:100%;
  }
}
.admin-legacy-inline-link{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.35rem .55rem;
  margin-top:.75rem;
  color:#64748B;
  font-size:.84rem;
  font-weight:700;
}
.admin-legacy-inline-link a{
  color:#0F2D5C;
  text-decoration:underline;
  font-weight:900;
}

/* AcolheMGA v0.94 CT4c — painel baixo, legacy enxuto e diagnóstico em duas partes */
.admin-low-page .admin-access-lock-card,
.admin-access-lock-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    border-left: 6px solid #0f3467;
    background: linear-gradient(135deg, #ffffff 0%, #f3f8ff 100%);
}
.admin-access-lock-icon {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0f3467;
    color: #fff;
    font-size: 1.65rem;
    flex: 0 0 auto;
}
.admin-lock-pill {
    border-radius: 999px;
    padding: .55rem 1rem;
    background: #eef5ff;
    color: #0f3467;
    font-weight: 800;
    border: 1px solid #c8ddf7;
}
.legacy-panel-page .admin-overview-grid,
.legacy-panel-page .admin-hub-card {
    display: none;
}
.diagnostic-part-heading {
    border-radius: 18px;
    padding: 1.15rem 1.25rem;
    border: 1px solid #cfe0f5;
    background: linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%);
}
.diagnostic-part-heading h2 {
    margin: 0 0 .35rem;
    color: #0f3467;
    font-weight: 900;
}
.diagnostic-part-heading p {
    margin: 0;
    color: #516173;
    font-weight: 600;
}
.diagnostic-part-heading-operational {
    background: linear-gradient(135deg, #fffaf1 0%, #fff4dc 100%);
    border-color: #f0d7aa;
}
.health-tools-grid-compact {
    grid-template-columns: minmax(0, 1fr);
}

/* =========================================================
   AcolheMGA v0.94 CT5 — Menu lateral off-canvas também no desktop
   ========================================================= */
.acolhe-topbar-vct5.navbar.navbar-expand-lg.navbar-dark{
  display:grid !important;
  grid-template-columns:minmax(240px, 330px) minmax(140px, 1fr) auto minmax(240px, auto) !important;
  align-items:center !important;
  gap:.75rem !important;
  width:100% !important;
  min-height:72px !important;
  padding:.62rem .95rem !important;
  overflow:visible !important;
}
.acolhe-topbar-vct5 .acolhe-topbar-brand{
  justify-self:start !important;
  margin:0 !important;
  min-width:0 !important;
  max-width:330px !important;
}
.acolhe-topbar-vct5 .brand-icon{
  width:48px !important;
  height:48px !important;
}
.acolhe-topbar-page-title{
  justify-self:center !important;
  max-width:min(46vw, 620px) !important;
  min-width:0 !important;
  color:#FFFFFF !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-weight:900 !important;
  font-size:1.03rem !important;
  line-height:1.12 !important;
  letter-spacing:.01em !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  opacity:.96 !important;
}
.acolhe-topbar-vct5 .mobile-offcanvas-toggle,
.acolhe-topbar-vct5 .acolhe-desktop-menu-toggle{
  display:inline-flex !important;
  visibility:visible !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:4100 !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.5rem !important;
  justify-self:end !important;
  width:auto !important;
  min-width:104px !important;
  height:46px !important;
  margin:0 !important;
  padding:.45rem .78rem !important;
  border:1.5px solid rgba(255,255,255,.78) !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.12) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.16) !important;
  color:#FFFFFF !important;
  cursor:pointer !important;
}
.acolhe-topbar-vct5 .navbar-toggler-icon{
  width:1.25rem !important;
  height:1.25rem !important;
  flex:0 0 auto !important;
}
.acolhe-menu-toggle-label{
  display:inline-block !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-weight:900 !important;
  font-size:.86rem !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
}
.acolhe-topbar-actions,
#navbarContent.acolhe-topbar-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:.55rem !important;
  width:auto !important;
  min-width:0 !important;
  justify-self:end !important;
  flex-basis:auto !important;
  flex-grow:0 !important;
}
.acolhe-topbar-unit{
  flex:0 0 auto !important;
}
.acolhe-topbar-unit-form,
.acolhe-unit-chip{
  display:flex !important;
  align-items:center !important;
  gap:.38rem !important;
  min-height:42px !important;
  padding:.36rem .55rem !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  color:#FFFFFF !important;
  box-shadow:0 8px 18px rgba(0,0,0,.10) !important;
}
.acolhe-topbar-unit-form .unit-switch-label,
.acolhe-unit-chip span{
  color:rgba(255,255,255,.82) !important;
  font-size:.7rem !important;
  font-weight:900 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
}
.acolhe-topbar-unit-form .unit-switch-select{
  min-width:74px !important;
  max-width:150px !important;
  height:auto !important;
  padding:.12rem .2rem !important;
  border:0 !important;
  border-radius:8px !important;
  background:#FFFFFF !important;
  color:#0F2D5C !important;
  font-weight:900 !important;
  font-size:.86rem !important;
}
.acolhe-unit-chip strong{
  color:#FFFFFF !important;
  font-size:.92rem !important;
  font-weight:900 !important;
}
.acolhe-topbar-user{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:128px !important;
  max-width:230px !important;
  min-height:42px !important;
  padding:.36rem .65rem !important;
  border-radius:13px !important;
  background:rgba(15,45,92,.28) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#FFFFFF !important;
  line-height:1.12 !important;
}
.acolhe-topbar-user span{
  display:block !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  color:rgba(255,255,255,.88) !important;
  font-size:.74rem !important;
  font-weight:750 !important;
}
.acolhe-topbar-user strong{
  color:#FFFFFF !important;
  font-weight:900 !important;
}
.acolhe-topbar-icon-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  height:42px !important;
  padding:.28rem !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.1) !important;
  border:1px solid rgba(255,255,255,.16) !important;
}
.acolhe-topbar-icon-link:hover,
.acolhe-topbar-icon-link.active{
  background:rgba(255,255,255,.2) !important;
}
.acolhe-login-link{
  color:#FFFFFF !important;
  font-weight:900 !important;
}

/* Off-canvas: mesmo layout visual do mobile, liberado também no desktop. */
.mobile-offcanvas-overlay,
.mobile-offcanvas-panel{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.mobile-offcanvas-overlay{
  position:fixed !important;
  inset:0 !important;
  z-index:3990 !important;
  background:rgba(4,16,38,.54) !important;
  opacity:0 !important;
  transition:opacity .22s ease !important;
  backdrop-filter:blur(1.5px) !important;
}
.mobile-offcanvas-panel{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  width:min(86vw, 370px) !important;
  max-width:370px !important;
  height:100vh !important;
  max-height:100vh !important;
  z-index:4000 !important;
  background:linear-gradient(180deg,#0F3D75 0%,#0C2F60 52%,#09274F 100%) !important;
  color:#FFFFFF !important;
  transform:translateX(-105%) !important;
  transition:transform .25s ease !important;
  box-shadow:18px 0 42px rgba(0,0,0,.32) !important;
  border-radius:0 1.2rem 1.2rem 0 !important;
  flex-direction:column !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  padding:1rem .95rem 1.1rem !important;
  -webkit-overflow-scrolling:touch !important;
}
body.mobile-menu-open .mobile-offcanvas-overlay,
html.mobile-menu-open .mobile-offcanvas-overlay{
  display:block !important;
  visibility:visible !important;
  pointer-events:auto !important;
  opacity:1 !important;
}
body.mobile-menu-open .mobile-offcanvas-panel,
html.mobile-menu-open .mobile-offcanvas-panel,
.mobile-offcanvas-panel.open{
  display:flex !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(0) !important;
}
body.mobile-menu-open .mobile-offcanvas-panel *,
body.mobile-menu-open .mobile-offcanvas-panel a,
body.mobile-menu-open .mobile-offcanvas-panel button,
body.mobile-menu-open .mobile-offcanvas-panel select{
  pointer-events:auto !important;
}
.offcanvas-menu-section{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  gap:.22rem !important;
  margin-bottom:.55rem !important;
}
.offcanvas-menu-section-title{
  padding:.35rem .72rem .22rem !important;
  color:rgba(255,255,255,.62) !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-weight:900 !important;
  font-size:.68rem !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.mobile-user-card,
.mobile-version-card{
  width:100% !important;
  padding:.62rem .72rem !important;
  margin-bottom:.52rem !important;
  border-radius:.86rem !important;
  background:rgba(255,255,255,.09) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:#FFFFFF !important;
}
.mobile-user-card span,
.mobile-version-card span,
.mobile-user-card small{
  display:block !important;
  color:rgba(255,255,255,.72) !important;
  font-size:.72rem !important;
  font-weight:850 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
}
.mobile-user-card strong,
.mobile-version-card strong{
  display:block !important;
  color:#FFFFFF !important;
  font-size:.95rem !important;
  font-weight:900 !important;
  line-height:1.22 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.mobile-user-card small{
  margin-top:.15rem !important;
  font-size:.7rem !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

@media (min-width: 992px){
  .mobile-offcanvas-toggle,
  .acolhe-topbar-vct5 .mobile-offcanvas-toggle,
  .acolhe-topbar-vct5 .acolhe-desktop-menu-toggle{
    display:inline-flex !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  .desktop-navbar-content,
  #navbarContent.desktop-navbar-content{
    display:flex !important;
  }
  body.mobile-menu-open{
    overflow:hidden !important;
  }
}

@media (max-width: 1280px){
  .acolhe-topbar-vct5.navbar.navbar-expand-lg.navbar-dark{
    grid-template-columns:minmax(220px, 300px) minmax(100px, 1fr) auto minmax(210px, auto) !important;
    gap:.55rem !important;
  }
  .acolhe-topbar-page-title{
    max-width:34vw !important;
    font-size:.96rem !important;
  }
  .acolhe-topbar-user{
    max-width:185px !important;
  }
}

@media (max-width: 991.98px){
  .acolhe-topbar-vct5.navbar.navbar-expand-lg.navbar-dark{
    display:flex !important;
    grid-template-columns:none !important;
    min-height:0 !important;
    justify-content:space-between !important;
    padding-top:10px !important;
    padding-bottom:10px !important;
  }
  .acolhe-topbar-page-title,
  .acolhe-topbar-actions,
  #navbarContent.acolhe-topbar-actions{
    display:none !important;
  }
  .acolhe-topbar-vct5 .acolhe-topbar-brand{
    flex:1 1 auto !important;
    max-width:none !important;
  }
  .acolhe-topbar-vct5 .brand-icon,
  .navbar .brand-icon{
    width:43px !important;
    height:43px !important;
  }
  .acolhe-topbar-vct5 .mobile-offcanvas-toggle,
  .acolhe-topbar-vct5 .acolhe-desktop-menu-toggle{
    width:50px !important;
    min-width:50px !important;
    height:50px !important;
    padding:.35rem !important;
    border-radius:.70rem !important;
    gap:0 !important;
  }
  .acolhe-menu-toggle-label{
    display:none !important;
  }
  body.mobile-menu-open .mobile-offcanvas-panel,
  html.mobile-menu-open .mobile-offcanvas-panel,
  .mobile-offcanvas-panel.open{
    width:min(84vw, 340px) !important;
    max-width:min(84vw, 340px) !important;
  }
}

@media (max-width: 380px){
  .mobile-offcanvas-panel.open,
  body.mobile-menu-open .mobile-offcanvas-panel{
    width:min(92vw, 330px) !important;
    max-width:min(92vw, 330px) !important;
  }
}

/* =========================================================
   AcolheMGA v0.94 CT5b — Drawer desktop igual ao mobile
   Mantém o off-canvas também no desktop, mas sem blocos novos:
   a lista visual do drawer volta ao mesmo padrão do mobile validado.
   ========================================================= */

/* =========================================================
   AcolheMGA v0.94 CT5d — hotfix topbar desktop/off-canvas
   Mantém o drawer igual ao mobile e reorganiza o topo desktop:
   identidade à esquerda, título centralizado, ações à direita.
   ========================================================= */
.acolhe-topbar-vct5.navbar.navbar-expand-lg.navbar-dark{
  display:grid !important;
  grid-template-columns:minmax(230px, 1fr) minmax(160px, auto) minmax(150px, 1fr) !important;
  align-items:center !important;
  gap:.75rem !important;
  width:100% !important;
  min-height:72px !important;
  padding:.62rem .95rem !important;
  overflow:visible !important;
}
.acolhe-topbar-vct5 .acolhe-topbar-brand{
  grid-column:1 !important;
  justify-self:start !important;
  justify-content:flex-start !important;
  text-align:left !important;
  margin:0 !important;
  min-width:0 !important;
  max-width:420px !important;
}
.acolhe-topbar-vct5 .brand-text,
.acolhe-topbar-vct5 .brand-title,
.acolhe-topbar-vct5 .brand-subtitle{
  text-align:left !important;
}
.acolhe-topbar-vct5 .brand-icon{
  width:48px !important;
  height:48px !important;
  flex:0 0 48px !important;
}
.acolhe-topbar-page-title{
  grid-column:2 !important;
  justify-self:center !important;
  display:block !important;
  max-width:min(38vw, 560px) !important;
  color:#FFFFFF !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-weight:900 !important;
  font-size:1.04rem !important;
  line-height:1.12 !important;
  letter-spacing:.01em !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  opacity:.96 !important;
}
.acolhe-topbar-right,
#navbarContent.acolhe-topbar-right{
  grid-column:3 !important;
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:.55rem !important;
  width:auto !important;
  min-width:0 !important;
  flex:0 0 auto !important;
}
.acolhe-topbar-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:.45rem !important;
  width:auto !important;
  min-width:0 !important;
  flex:0 0 auto !important;
}
.acolhe-topbar-unit,
.acolhe-topbar-user{
  display:none !important;
}
.acolhe-topbar-vct5 .mobile-offcanvas-toggle,
.acolhe-topbar-vct5 .acolhe-desktop-menu-toggle{
  order:1 !important;
  display:inline-flex !important;
  visibility:visible !important;
  pointer-events:auto !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.5rem !important;
  width:auto !important;
  min-width:104px !important;
  height:46px !important;
  margin:0 !important;
  padding:.45rem .78rem !important;
  border:1.5px solid rgba(255,255,255,.78) !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.12) !important;
  color:#FFFFFF !important;
  box-shadow:0 8px 22px rgba(0,0,0,.16) !important;
  cursor:pointer !important;
}
.acolhe-topbar-actions .acolhe-topbar-icon-link:nth-child(1){ order:2 !important; }
.acolhe-topbar-actions .acolhe-topbar-icon-link:nth-child(2){ order:3 !important; }

@media (min-width: 768px){
  .acolhe-topbar-vct5.navbar.navbar-expand-lg.navbar-dark{
    display:grid !important;
    grid-template-columns:minmax(230px, 1fr) minmax(160px, auto) minmax(150px, 1fr) !important;
    justify-content:normal !important;
    min-height:72px !important;
    padding:.62rem .95rem !important;
  }
  .acolhe-topbar-page-title{
    display:block !important;
  }
  .acolhe-topbar-right,
  #navbarContent.acolhe-topbar-right{
    display:flex !important;
  }
  .acolhe-topbar-actions{
    display:flex !important;
  }
  .acolhe-topbar-vct5 .acolhe-topbar-brand{
    flex:0 1 auto !important;
    max-width:420px !important;
  }
  .acolhe-topbar-vct5 .brand-icon,
  .navbar .brand-icon{
    width:48px !important;
    height:48px !important;
  }
  .acolhe-menu-toggle-label{
    display:inline-block !important;
  }
}

@media (max-width: 767.98px){
  .acolhe-topbar-vct5.navbar.navbar-expand-lg.navbar-dark{
    display:flex !important;
    grid-template-columns:none !important;
    min-height:0 !important;
    justify-content:space-between !important;
    padding-top:10px !important;
    padding-bottom:10px !important;
  }
  .acolhe-topbar-page-title,
  .acolhe-topbar-actions{
    display:none !important;
  }
  .acolhe-topbar-vct5 .acolhe-topbar-brand{
    flex:1 1 auto !important;
    max-width:none !important;
  }
  .acolhe-topbar-right,
  #navbarContent.acolhe-topbar-right{
    display:flex !important;
    flex:0 0 auto !important;
  }
  .acolhe-topbar-vct5 .brand-icon,
  .navbar .brand-icon{
    width:43px !important;
    height:43px !important;
  }
  .acolhe-topbar-vct5 .mobile-offcanvas-toggle,
  .acolhe-topbar-vct5 .acolhe-desktop-menu-toggle{
    width:50px !important;
    min-width:50px !important;
    height:50px !important;
    padding:.35rem !important;
    border-radius:.70rem !important;
    gap:0 !important;
  }
  .acolhe-menu-toggle-label{
    display:none !important;
  }
}

/* =========================================================
   AcolheMGA v0.94 CT5e — hotfix largura off-canvas mobile
   Restaura a largura mobile validada antes do drawer desktop.
   Ajusta somente a extensão lateral do painel; não reescala logo,
   ícones, fontes, cards ou espaçamentos internos.
   ========================================================= */
@media (max-width: 991.98px){
  body.mobile-menu-open .mobile-offcanvas-panel,
  html.mobile-menu-open .mobile-offcanvas-panel,
  .mobile-offcanvas-panel.open{
    width:min(71vw, 289px) !important;
    max-width:min(71vw, 289px) !important;
  }
}

/* =========================================================
   AcolheMGA v0.94 CT5e — hotfix RMA na página Benefícios
   Reduz a largura visual da coluna Indicador no Fechamento de RMA
   sem alterar os dados, totais ou núcleo RMA.
   ========================================================= */
.benefits-rma-final-section .report-table-wrap{
  max-width:640px !important;
  overflow-x:auto !important;
}
.benefits-rma-final-section .rma-block-2-table{
  width:640px !important;
  max-width:100% !important;
  min-width:420px !important;
  table-layout:fixed !important;
}
.benefits-rma-final-section .rma-block-2-table col.report-col-code{
  width:72px !important;
}
.benefits-rma-final-section .rma-block-2-table col.report-col-indicator{
  width:38% !important;
}
.benefits-rma-final-section .rma-block-2-table col.report-col-total{
  width:76px !important;
}
.benefits-rma-final-section .rma-block-2-table th:nth-child(2),
.benefits-rma-final-section .rma-block-2-table td:nth-child(2){
  width:38% !important;
  max-width:360px !important;
}
@media (max-width:768px){
  .benefits-rma-final-section .rma-block-2-table{
    width:100% !important;
    min-width:420px !important;
  }
}

/* =========================================================
   AcolheMGA v0.94 CT6 — autocomplete de Naturalidade/IBGE
   Sugestões locais de município/UF a partir de 3 letras.
   ========================================================= */
.acolhe-naturality-autocomplete-wrap{
  position:relative;
}
.acolhe-naturality-suggestions{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 4px);
  z-index:2060;
  display:none;
  max-height:260px;
  overflow-y:auto;
  background:#fff;
  border:1px solid rgba(15,61,117,.18);
  border-radius:.8rem;
  box-shadow:0 14px 32px rgba(15,45,92,.18);
  padding:.35rem;
}
.acolhe-naturality-suggestions.is-visible{
  display:block;
}
.acolhe-naturality-option{
  width:100%;
  border:0;
  background:#fff;
  color:#0F2D5C;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.62rem .75rem;
  border-radius:.65rem;
  text-align:left;
  cursor:pointer;
  font-weight:700;
}
.acolhe-naturality-option:hover,
.acolhe-naturality-option:focus{
  background:#EAF4FF;
  outline:none;
}
.acolhe-naturality-option small{
  color:#607086;
  font-weight:700;
  white-space:nowrap;
}
.acolhe-naturality-empty{
  padding:.65rem .75rem;
  color:#607086;
  font-weight:600;
  font-size:.88rem;
}

/* =========================================================
   AcolheMGA v0.94 CT6a — ajustes Benefícios/RMA, hub e naturalidade
   ========================================================= */
.admin-hub-quick-links{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:8px;
  margin-top:12px;
}
.admin-hub-quick-links a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:.55rem .7rem;
  border-radius:12px;
  border:1px solid #D6E4F5;
  background:#F8FBFF;
  color:#0F2D5C;
  font-weight:900;
  text-align:center;
  text-decoration:none!important;
  font-size:.86rem;
}
.admin-hub-quick-links a:hover{
  background:#EAF4FF;
  border-color:#9BC5EF;
  color:#0F2D5C;
}

.benefits-rma-final-section .rma-block-2-table col.report-col-code{
  width:36px !important;
}
.benefits-rma-final-section .rma-block-2-table col.report-col-total{
  width:46px !important;
}
.benefits-rma-final-section .rma-block-2-table .rma-code-col,
.benefits-rma-final-section .rma-block-2-table .rma-code-cell,
.benefits-rma-final-section .rma-block-2-table th:nth-child(1),
.benefits-rma-final-section .rma-block-2-table td:nth-child(1){
  width:36px !important;
  min-width:36px !important;
  max-width:36px !important;
  padding-left:.2rem !important;
  padding-right:.2rem !important;
  text-align:center !important;
}
.benefits-rma-final-section .rma-block-2-table .value-cell,
.benefits-rma-final-section .rma-block-2-table th:nth-child(3),
.benefits-rma-final-section .rma-block-2-table td:nth-child(3){
  width:46px !important;
  min-width:46px !important;
  max-width:46px !important;
  padding-left:.25rem !important;
  padding-right:.25rem !important;
  text-align:center !important;
}
.benefits-rma-final-section .rma-block-2-table col.report-col-indicator{
  width:auto !important;
}
.benefits-rma-final-section .rma-block-2-table th:nth-child(2),
.benefits-rma-final-section .rma-block-2-table td:nth-child(2){
  width:auto !important;
  max-width:none !important;
}

/* =========================================================
   AcolheMGA v0.94 CT6b — ajustes Central do Usuário e RMA Benefícios
   ========================================================= */
.user-center-elder-badge{
  cursor:default !important;
  user-select:none;
}
.user-center-hero-actions{
  width:100%;
  align-items:stretch !important;
}
.user-center-hero-actions .btn{
  width:98% !important;
  max-width:98% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  justify-content:center !important;
}
.user-center-hero-actions .user-action-whatsapp{
  background:#128C7E !important;
  border-color:#0E7A6E !important;
}
.user-action-whatsapp-icon{
  width:1.32rem !important;
  height:1.32rem !important;
  object-fit:contain !important;
}
.user-center-legacy-toggle-section{
  display:flex;
  justify-content:center;
}
.user-center-legacy-toggle{
  border-radius:999px !important;
  font-weight:800 !important;
  padding:.68rem 1.05rem !important;
}
.user-center-legacy-detail{
  margin-top:.75rem;
}
.benefits-rma-final-section .rma-block-2-table .rma-code-col,
.benefits-rma-final-section .rma-block-2-table .rma-code-cell,
.benefits-rma-final-section .rma-block-2-table .report-col-code{
  width:83px !important;
  min-width:83px !important;
  max-width:83px !important;
}
.benefits-rma-final-section .rma-block-2-table .value-cell,
.benefits-rma-final-section .rma-block-2-table .report-col-total{
  width:87px !important;
  min-width:87px !important;
  max-width:87px !important;
}
@media (max-width:768px){
  .user-center-hero-actions .btn{
    width:98% !important;
    max-width:98% !important;
  }
}

/* =========================================================
   AcolheMGA v0.94 CT7 — disponibilidade no cadastro e runtime técnico
   ========================================================= */
.user-schedule-date-wrap{
  min-width:0;
}
.user-schedule-date-wrap .user-schedule-availability-btn{
  width:100% !important;
  margin:.45rem 0 0 !important;
  min-height:36px !important;
  padding:.42rem .62rem !important;
  font-size:.78rem !important;
  line-height:1.15 !important;
  white-space:normal !important;
  background:#EAF6FF !important;
  color:#0F2D5C !important;
  border:1px solid #D7ECFF !important;
  box-shadow:none !important;
}
.user-schedule-date-wrap .user-schedule-availability-btn:hover,
.user-schedule-date-wrap .user-schedule-availability-btn:focus{
  background:#D7ECFF !important;
  color:#0F2D5C !important;
}
.user-schedule-availability-result{
  grid-column:1 / -1;
  margin-top:0 !important;
}
.user-schedule-availability-result .availability-card{
  margin-top:0 !important;
  background:rgba(255,255,255,.97) !important;
}
.user-schedule-availability-result .availability-slot-list{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}

.technical-runtime-section{
  width:100%;
  border-top:2px solid #D7E5F5;
  padding-top:1.15rem;
}
.technical-runtime-heading{
  width:min(100%, 980px);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.8rem;
}
.technical-runtime-heading h2{
  margin:0 0 .2rem;
  color:#0F2D5C;
  font-size:1.35rem;
  font-weight:800;
}
.technical-runtime-heading p{
  margin:0;
  color:#64748B;
  font-size:.88rem;
}
.technical-runtime-retention{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  padding:.3rem .58rem;
  border-radius:999px;
  background:#EAF4FF;
  color:#0F2D5C;
  font-size:.74rem;
  font-weight:800;
}
.technical-runtime-message{
  width:min(100%, 980px);
  margin-bottom:0;
}
.technical-runtime-table-wrap{
  width:min(100%, 980px);
  overflow-x:auto;
}
.technical-runtime-table{
  width:100%;
  min-width:690px;
  margin:0;
  background:#FFFFFF;
  border-collapse:separate;
  border-spacing:0;
  font-size:.82rem;
}
.technical-runtime-table thead th{
  background:#0F2D5C;
  color:#FFFFFF;
  border:0;
  padding:.55rem .65rem;
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.02em;
  white-space:nowrap;
}
.technical-runtime-table thead th:first-child{ border-radius:8px 0 0 0; }
.technical-runtime-table thead th:last-child{ border-radius:0 8px 0 0; }
.technical-runtime-table tbody td{
  padding:.48rem .65rem;
  border-top:1px solid #E2E8F0;
  color:#334155;
  vertical-align:middle;
}
.technical-runtime-table tbody tr.runtime-page-start td{
  border-top:2px solid #AFC8E8;
}
.technical-runtime-table tbody tr:first-child td{
  border-top:0;
}
.technical-runtime-table tbody td:first-child{
  width:25%;
  color:#0F2D5C;
}
.technical-runtime-table tbody td:nth-child(2){ width:22%; white-space:nowrap; }
.technical-runtime-table tbody td:nth-child(3){ width:14%; white-space:nowrap; }
.technical-runtime-table tbody td:nth-child(4){ width:15%; white-space:nowrap; }
.technical-runtime-table tbody td:nth-child(5){ width:24%; }
.technical-runtime-value{
  color:#0F2D5C !important;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}

@media(max-width:768px){
  .technical-runtime-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:.45rem;
  }
  .technical-runtime-table{
    font-size:.78rem;
  }
  .user-schedule-availability-result .availability-slot-list{
    grid-template-columns:1fr;
  }
}

/* CT7 — alinhamento do verificador abaixo da data sem deslocar os demais campos */
.user-schedule-inline-form{
  grid-template-areas:
    "target date ok"
    ". availability ."
    "result result result";
}
.user-schedule-target-wrap{ grid-area:target; }
.user-schedule-date-wrap{ grid-area:date; }
.user-schedule-ok-wrap{ grid-area:ok; }
.user-schedule-availability-wrap{ grid-area:availability; min-width:0; }
.user-schedule-availability-result{ grid-area:result; }
.user-schedule-availability-wrap .user-schedule-availability-btn{
  width:100% !important;
  margin:0 !important;
}
@media(max-width:768px){
  .user-schedule-inline-form{
    grid-template-areas:
      "target"
      "date"
      "availability"
      "ok"
      "result";
  }
}


/* =========================================================
   AcolheMGA v0.94 CT7b — hotfix off-canvas desktop
   Replica no desktop a escala interna validada no drawer mobile.
   ========================================================= */
@media (min-width: 992px){
  .mobile-offcanvas-panel .mobile-offcanvas-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:.75rem!important;padding:.25rem .15rem 1rem!important;border-bottom:1px solid rgba(255,255,255,.22)!important;margin-bottom:.85rem!important;}
  .mobile-offcanvas-panel .mobile-offcanvas-brand{display:flex!important;align-items:center!important;gap:.72rem!important;color:#fff!important;text-decoration:none!important;min-width:0!important;}
  .mobile-offcanvas-panel .mobile-offcanvas-brand:hover{color:#fff!important;text-decoration:none!important;}
  .mobile-offcanvas-panel .mobile-offcanvas-brand .brand-icon{width:58px!important;height:58px!important;max-width:58px!important;max-height:58px!important;flex:0 0 58px!important;object-fit:contain!important;border-radius:.8rem!important;background:#fff!important;box-shadow:0 8px 20px rgba(0,0,0,.16)!important;}
  .mobile-offcanvas-panel .mobile-offcanvas-brand .brand-text{display:block!important;min-width:0!important;}
  .mobile-offcanvas-panel .mobile-offcanvas-brand .brand-title{display:block!important;color:#fff!important;font-size:1.35rem!important;line-height:1.05!important;font-weight:900!important;}
  .mobile-offcanvas-panel .mobile-offcanvas-brand .brand-subtitle{display:block!important;color:rgba(255,255,255,.86)!important;font-size:.83rem!important;line-height:1.16!important;white-space:normal!important;}
  .mobile-offcanvas-panel .mobile-offcanvas-close{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 36px!important;border:0!important;background:rgba(255,255,255,.1)!important;color:#fff!important;width:36px!important;height:36px!important;padding:0!important;border-radius:999px!important;font-size:1.55rem!important;line-height:1!important;font-weight:700!important;}
  .mobile-offcanvas-panel .mobile-offcanvas-nav{display:flex!important;flex-direction:column!important;gap:.26rem!important;width:100%!important;}
  .mobile-offcanvas-panel .mobile-offcanvas-link{display:flex!important;align-items:center!important;gap:.85rem!important;width:100%!important;min-height:52px!important;padding:.62rem .7rem!important;border-radius:.78rem!important;color:#fff!important;text-decoration:none!important;font-family:'Montserrat',Arial,sans-serif!important;font-weight:850!important;font-size:.99rem!important;line-height:1.1!important;border:0!important;background:transparent!important;text-align:left!important;}
  .mobile-offcanvas-panel .mobile-offcanvas-link:hover,.mobile-offcanvas-panel .mobile-offcanvas-link:focus,.mobile-offcanvas-panel .mobile-offcanvas-link.active{color:#fff!important;text-decoration:none!important;background:rgba(96,165,250,.28)!important;outline:none!important;}
  .mobile-offcanvas-panel .mobile-menu-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important;flex:0 0 28px!important;color:#fff!important;overflow:hidden!important;}
  .mobile-offcanvas-panel .mobile-menu-icon svg{display:block!important;width:26px!important;height:26px!important;min-width:26px!important;max-width:26px!important;min-height:26px!important;max-height:26px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.15!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
  .mobile-offcanvas-panel .mobile-offcanvas-docs{width:100%!important;}
  .mobile-offcanvas-panel .mobile-docs-toggle{cursor:pointer!important;}
  .mobile-offcanvas-panel .mobile-offcanvas-caret{margin-left:auto!important;font-size:1rem!important;opacity:.86!important;}
  .mobile-offcanvas-panel .mobile-docs-dropdown{position:static!important;display:none!important;width:100%!important;min-width:0!important;margin:.2rem 0 .45rem!important;padding:.35rem 0 .35rem 2.75rem!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:.72rem!important;box-shadow:none!important;}
  .mobile-offcanvas-panel .mobile-offcanvas-docs.open .mobile-docs-dropdown{display:block!important;}
  .mobile-offcanvas-panel .mobile-docs-dropdown .docs-menu-link{display:block!important;color:rgba(255,255,255,.9)!important;padding:.42rem .55rem!important;border-radius:.55rem!important;font-weight:750!important;font-size:.86rem!important;text-decoration:none!important;white-space:normal!important;}
  .mobile-offcanvas-panel .mobile-docs-dropdown .docs-menu-link:hover,.mobile-offcanvas-panel .mobile-docs-dropdown .docs-menu-link.active{background:rgba(255,255,255,.12)!important;color:#fff!important;text-decoration:none!important;}
  .mobile-offcanvas-panel .mobile-offcanvas-split-row{display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;width:100%!important;gap:0!important;}
  .mobile-offcanvas-panel .mobile-panel-main{min-width:0!important;border-radius:.78rem 0 0 .78rem!important;}
  .mobile-offcanvas-panel .mobile-panel-arrow{min-width:48px!important;width:48px!important;padding:.62rem .4rem!important;justify-content:center!important;border-radius:0 .78rem .78rem 0!important;}
  .mobile-offcanvas-panel .mobile-panel-arrow .mobile-offcanvas-caret{margin-left:0!important;}
  .mobile-offcanvas-panel .mobile-offcanvas-footer{margin-top:auto!important;padding-top:.95rem!important;border-top:1px solid rgba(255,255,255,.18)!important;}
  .mobile-offcanvas-panel .mobile-unit-card{display:flex!important;align-items:center!important;gap:.72rem!important;width:100%!important;padding:.68rem .72rem!important;margin-bottom:.7rem!important;border-radius:.9rem!important;background:#fff!important;color:#0F2D5C!important;box-shadow:0 10px 24px rgba(0,0,0,.16)!important;}
  .mobile-offcanvas-panel .mobile-unit-card .mobile-menu-icon{color:#1D4E89!important;}
  .mobile-offcanvas-panel .mobile-unit-content{display:flex!important;flex-direction:column!important;min-width:0!important;flex:1 1 auto!important;}
  .mobile-offcanvas-panel .mobile-unit-content span{font-size:.76rem!important;font-weight:800!important;color:#64748B!important;}
  .mobile-offcanvas-panel .mobile-unit-content strong{font-size:1.2rem!important;font-weight:900!important;color:#0F2D5C!important;}
  .mobile-offcanvas-panel .mobile-unit-form{width:100%!important;margin:0!important;}
  .mobile-offcanvas-panel .mobile-unit-select{width:100%!important;border:0!important;background:transparent!important;color:#0F2D5C!important;font-weight:900!important;font-size:1.15rem!important;padding:0!important;appearance:auto!important;}
  .mobile-offcanvas-panel .mobile-account-link{min-height:48px!important;}
  .mobile-offcanvas-panel .mobile-account-link .mobile-menu-icon{color:#FACC15!important;}
  .mobile-offcanvas-panel .mobile-account-link.danger,.mobile-offcanvas-panel .mobile-account-link.danger .mobile-menu-icon{color:#FCA5A5!important;}
}

/* =========================================================
   AcolheMGA v0.94 CT8c — Cadastro/CadÚnico e contagem total
   ========================================================= */
.user-schedule-inline-form{
  grid-template-areas:
    "target date ok"
    ". time ."
    ". availability ."
    "result result result";
}
.user-schedule-time-wrap{grid-area:time;min-width:0;}
.user-schedule-time-wrap .form-control{width:100%;}
@media(max-width:768px){
  .user-schedule-inline-form{
    grid-template-areas:
      "target"
      "date"
      "time"
      "availability"
      "ok"
      "result";
  }
}
.benefits-current-count-total{
  margin-top:.22rem !important;
  padding-top:.48rem !important;
  border-top:2px solid rgba(15,45,92,.18) !important;
  color:#0F2D5C !important;
  font-weight:700 !important;
}
.user-center-cadunico-date-row{align-items:flex-end;}
.user-center-cadunico-alert-wrap{display:flex;align-items:flex-end;}
.user-center-cadunico-outdated-card{
  width:100%;
  padding:.72rem .9rem;
  border:1px solid #F1B8BE;
  border-left:5px solid #C62828;
  border-radius:.8rem;
  background:#FFF1F2;
  color:#991B1B;
  font-size:.88rem;
  line-height:1.35;
  font-weight:800;
}


/* =========================================================
   AcolheMGA v0.94 CT8d — pesquisa cadastro: D.N. e Nome da Mãe
   ========================================================= */
.registration-person-details-line{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:.34rem !important;
  width:100% !important;
  max-width:100% !important;
  margin:.02rem 0 .42rem !important;
  box-sizing:border-box !important;
}
.registration-person-details-line .registration-birth-date-field,
.registration-person-details-line .registration-mother-name-field{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  background:#F6FAFF !important;
  border:1px solid rgba(215,236,255,.82) !important;
  border-radius:0 !important;
  box-shadow:0 8px 18px rgba(15,45,92,.035) !important;
  color:#334155 !important;
  font-size:.84rem !important;
  line-height:1.15 !important;
  font-weight:600 !important;
  padding:.32rem .56rem !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  box-sizing:border-box !important;
}
.registration-person-details-line .registration-birth-date-field strong,
.registration-person-details-line .registration-mother-name-field strong{
  color:#334155 !important;
  font-size:inherit !important;
  font-weight:800 !important;
  margin-right:.12rem !important;
}
@media (max-width:768px){
  .registration-person-details-line{
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    gap:.22rem !important;
    margin-bottom:.42rem !important;
  }
  .registration-person-details-line .registration-birth-date-field,
  .registration-person-details-line .registration-mother-name-field{
    display:flex !important;
    width:max-content !important;
    max-width:100% !important;
    font-size:.82rem !important;
    padding:.31rem .5rem !important;
  }
  .registration-person-details-line .registration-mother-name-field{
    margin-top:0 !important;
  }
}


/* =========================================================
   AcolheMGA v0.94 CT9 — Central do Usuário: hierarquia e ações
   ========================================================= */

.user-center-page #cadastro .institutional-section-title{
  padding-bottom:.36rem !important;
}
.user-center-page #cadastro .user-center-section-header.compact-title-only{
  margin-bottom:.36rem !important;
}

.user-center-page .user-action-schedule{
  background:#14549C !important;
  border-color:#0F3D75 !important;
  color:#FFFFFF !important;
}
.user-center-page .user-action-schedule:hover,
.user-center-page .user-action-schedule:focus{
  background:#0F3D75 !important;
  border-color:#0A2B54 !important;
}

.user-center-page .user-schedule-inline-form{
  gap:.585rem !important;
  padding:.675rem !important;
}
.user-center-page .user-schedule-availability-result .availability-card{
  padding:10.8px !important;
}
.user-center-page .user-schedule-availability-result .availability-card-title{
  margin-bottom:7.2px !important;
}
.user-center-page .user-schedule-availability-result .availability-slot-list{
  gap:7.2px !important;
}
.user-center-page .user-schedule-availability-result .availability-slot-item{
  padding:8.1px 9px !important;
}

.user-center-page .user-schedule-availability-wrap .user-schedule-availability-btn{
  background:#0F2D5C !important;
  border-color:#0F2D5C !important;
  color:#FFFFFF !important;
  font-size:.82rem !important;
  font-weight:800 !important;
  box-shadow:0 8px 18px rgba(15,45,92,.16) !important;
}
.user-center-page .user-schedule-availability-wrap .user-schedule-availability-btn:hover,
.user-center-page .user-schedule-availability-wrap .user-schedule-availability-btn:focus{
  background:#1D4E89 !important;
  border-color:#1D4E89 !important;
  color:#FFFFFF !important;
}
.user-center-page .user-schedule-ok-wrap .user-action-schedule-ok{
  background:#EAF6FF !important;
  border:1px solid #BFD5EF !important;
  color:#0F2D5C !important;
  font-weight:600 !important;
  box-shadow:none !important;
}
.user-center-page .user-schedule-ok-wrap .user-action-schedule-ok:hover,
.user-center-page .user-schedule-ok-wrap .user-action-schedule-ok:focus{
  background:#D7ECFF !important;
  border-color:#9BC5EF !important;
  color:#0F2D5C !important;
}

.user-center-page .user-quick-actions-toggle{
  width:98% !important;
  margin:.05rem auto 0 !important;
  padding:.55rem .8rem !important;
  font-weight:850 !important;
  font-size:.80rem !important;
}
.user-center-page .user-quick-actions-collapse{
  width:98% !important;
  margin:0 auto !important;
}
.user-center-page .user-quick-actions-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:.48rem !important;
  width:100% !important;
  padding-top:.45rem !important;
}
.user-center-page .user-quick-actions-grid .btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:44px !important;
  margin:0 !important;
  padding:.48rem .52rem !important;
  font-size:.95rem !important;
  font-weight:800 !important;
  line-height:1.13 !important;
  text-align:center !important;
  white-space:normal !important;
}
.user-center-page .user-quick-actions-grid .user-action-sascweb{
  background:#0369A1 !important;
  border-color:#0369A1 !important;
  color:#FFFFFF !important;
}
.user-center-page .user-quick-actions-grid .user-action-sascweb:hover,
.user-center-page .user-quick-actions-grid .user-action-sascweb:focus{
  background:#075985 !important;
  border-color:#075985 !important;
}
.user-center-page .user-quick-actions-grid .user-action-reports{
  background:#1D4E89 !important;
  border-color:#1D4E89 !important;
  color:#FFFFFF !important;
}
.user-center-page .user-quick-actions-grid .user-action-reports:hover,
.user-center-page .user-quick-actions-grid .user-action-reports:focus{
  background:#0F2D5C !important;
  border-color:#0F2D5C !important;
}
.user-center-page .user-quick-actions-grid .user-action-whatsapp-icon{
  width:1.12rem !important;
  height:1.12rem !important;
}

.user-center-page .user-center-cadunico-date-row > .form-group:first-child{
  margin-bottom:.35rem !important;
}
.user-center-page .user-center-cadunico-alert-wrap{
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.user-center-page .user-center-cadunico-outdated-card{
  margin-bottom:.35rem !important;
}

.user-center-page #addFamilyMember,
.user-center-page .user-family-section button[type="submit"].user-center-strong-button{
  font-weight:700 !important;
}
.user-center-page .family-member-action-wrap{
  align-items:flex-end !important;
}
.user-center-page .family-profile-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-weight:700 !important;
}

@media(max-width:768px){
  .user-center-page .user-quick-actions-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:.42rem !important;
  }
  .user-center-page .user-quick-actions-grid .btn{
    min-height:42px !important;
    padding:.44rem .42rem !important;
    font-size:.95rem !important;
  }
}

/* =========================================================
   AcolheMGA v0.94 CT9a — Central do Usuário: ajustes finos
   ========================================================= */

.user-center-page .user-center-topline{
  margin-bottom:.42rem !important;
}
.user-center-page .page-title{
  margin-bottom:.28rem !important;
}
.user-center-hero-divider{
  display:block !important;
  width:98% !important;
  height:1px !important;
  max-height:2px !important;
  margin:.08rem auto .04rem !important;
  background:rgba(255,255,255,.34) !important;
  border:0 !important;
}

/* Troca de hierarquia: Agendar passa ao amarelo; CadÚnico passa ao azul. */
.user-center-page .user-action-schedule{
  min-height:54px !important;
  padding:.68rem .86rem !important;
  background:#FACC15 !important;
  border-color:#EAB308 !important;
  color:#0F2D5C !important;
  font-weight:800 !important;
  box-shadow:0 10px 22px rgba(250,204,21,.20) !important;
}
.user-center-page .user-action-schedule:hover,
.user-center-page .user-action-schedule:focus{
  background:#FBBF24 !important;
  border-color:#D97706 !important;
  color:#0F2D5C !important;
}
.user-center-page .user-quick-actions-grid .user-action-copy-cadunico{
  background:#14549C !important;
  border-color:#0F3D75 !important;
  color:#FFFFFF !important;
}
.user-center-page .user-quick-actions-grid .user-action-copy-cadunico:hover,
.user-center-page .user-quick-actions-grid .user-action-copy-cadunico:focus{
  background:#0F3D75 !important;
  border-color:#0A2B54 !important;
  color:#FFFFFF !important;
}

.user-center-page .user-quick-actions-grid .btn{
  font-weight:700 !important;
}
.user-center-page .user-quick-actions-grid .user-action-reports{
  gap:.35rem !important;
}

/* Relatos: hierarquia tipográfica. */
.user-center-page .user-confidential-meta{
  align-items:flex-start !important;
}
.user-center-page .user-confidential-title-row{
  display:inline-flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:.5rem !important;
  min-width:0 !important;
}
.user-center-page .user-confidential-meta strong,
.user-center-page .user-benefit-report-card .user-confidential-meta strong{
  font-weight:850 !important;
}
.user-center-page .user-confidential-meta span:not(.confidential-sealed-badge){
  font-weight:500 !important;
}
.user-center-page .benefit-guide-badge,
.user-center-page .confidential-sealed-badge{
  font-weight:700 !important;
}
.user-center-page .confidential-sealed-badge-inline{
  margin-top:0 !important;
  margin-left:0 !important;
  vertical-align:middle !important;
}

/* Botões secundários: reduzir peso visual. */
.user-center-page .user-center-cadastro-form .user-center-edit-actions .user-center-strong-button,
.user-center-page .user-center-legacy-toggle{
  font-weight:700 !important;
}


/* =========================================================
   AcolheMGA v0.94 CT9b — correções visuais da Central
   ========================================================= */

/* Agendamento: corrige escala do CT9a e reforça ação principal. */
.user-center-page .user-action-schedule{
  min-height:51px !important;
  padding:.63rem .86rem !important;
  color:#FFFFFF !important;
  font-weight:900 !important;
}
.user-center-page .user-action-schedule:hover,
.user-center-page .user-action-schedule:focus{
  color:#FFFFFF !important;
}
.user-center-page .user-center-hero-divider + .user-center-hero-actions{
  margin-top:-.03rem !important;
}
.user-center-page .user-schedule-availability-wrap .user-schedule-availability-btn{
  padding:.39rem .78rem !important;
  font-size:.853rem !important;
}
.user-center-page .user-schedule-ok-wrap .user-action-schedule-ok{
  font-weight:700 !important;
}

/* Ação Relatos na paleta teal institucional. */
.user-center-page .user-quick-actions-grid .user-action-reports{
  background:#2E756E !important;
  border-color:#2E756E !important;
  color:#FFFFFF !important;
}
.user-center-page .user-quick-actions-grid .user-action-reports:hover,
.user-center-page .user-quick-actions-grid .user-action-reports:focus{
  background:#245F59 !important;
  border-color:#245F59 !important;
  color:#FFFFFF !important;
}

/* Relatos: tipos uniformes, maiores e com peso intermediário. */
.user-center-page .user-confidential-title-row > .user-confidential-type-title,
.user-center-page .user-benefit-report-card .user-confidential-title-row > .user-confidential-type-title{
  display:inline-block !important;
  font-size:1.05rem !important;
  line-height:1.18 !important;
  font-weight:800 !important;
}
.user-center-page .user-confidential-metadata{
  font-weight:500 !important;
}
.user-center-page .user-confidential-metadata .user-confidential-datetime{
  display:inline !important;
  color:inherit !important;
  font-size:inherit !important;
  line-height:inherit !important;
  margin:0 !important;
  padding:0 !important;
  font-weight:550 !important;
}

/* Recupera o selo vermelho original, mantendo-o ao lado do título. */
.user-center-page .confidential-sealed-badge,
.user-center-page .confidential-sealed-badge-inline{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 !important;
  padding:.25rem .55rem !important;
  border:0 !important;
  border-radius:999px !important;
  background:#FEE2E2 !important;
  color:#991B1B !important;
  font-size:.72rem !important;
  line-height:1 !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  letter-spacing:0 !important;
}
.user-center-page .benefit-guide-badge{
  font-weight:700 !important;
}

@media(max-width:768px){
  .user-center-page .user-confidential-title-row > .user-confidential-type-title,
  .user-center-page .user-benefit-report-card .user-confidential-title-row > .user-confidential-type-title{
    font-size:1.05rem !important;
  }
}

/* =========================================================
   AcolheMGA v0.94 CT9c — refinamentos de agendamento e Relatos
   ========================================================= */

/* Ação principal: amarelo -> dourado, com contraste ousado e controlado. */
.user-center-page .user-action-schedule{
  min-height:51px !important;
  padding:.63rem .86rem !important;
  background:linear-gradient(135deg,#F4C84A 0%,#E7B52B 52%,#C98A16 100%) !important;
  border-color:#C98A16 !important;
  color:#FFFFFF !important;
  font-weight:900 !important;
  text-shadow:0 1px 2px rgba(100,60,0,.32) !important;
  box-shadow:0 10px 22px rgba(201,138,22,.24) !important;
}
.user-center-page .user-action-schedule:hover,
.user-center-page .user-action-schedule:focus{
  background:linear-gradient(135deg,#EABF3D 0%,#DDA722 52%,#B97910 100%) !important;
  border-color:#B97910 !important;
  color:#FFFFFF !important;
}

/* Agendamento interno: Agendar primeiro e disponibilidade depois. */
.user-center-page .user-schedule-inline-form{
  grid-template-areas:
    "target date ok"
    ". time availability"
    "result result result" !important;
}
.user-center-page .user-schedule-ok-wrap .user-action-schedule-ok,
.user-center-page .user-schedule-availability-wrap .user-schedule-availability-btn{
  font-size:.90rem !important;
  line-height:1.2 !important;
}
.user-center-page .user-schedule-availability-wrap .user-schedule-availability-btn{
  padding:.39rem .78rem !important;
}

/* Ações rápidas: somente paleta institucional AcolheMGA. */
.user-center-page .user-quick-actions-grid .btn{
  color:#FFFFFF !important;
  font-weight:700 !important;
  text-shadow:0 1px 1px rgba(0,0,0,.12) !important;
}
.user-center-page .user-quick-actions-grid .user-action-sascweb{
  background:linear-gradient(135deg,#0F2D5C 0%,#14549C 100%) !important;
  border-color:#1D4E89 !important;
}
.user-center-page .user-quick-actions-grid .user-action-sascweb:hover,
.user-center-page .user-quick-actions-grid .user-action-sascweb:focus{
  background:linear-gradient(135deg,#0A244B 0%,#0F3D75 100%) !important;
  border-color:#0F3D75 !important;
}
.user-center-page .user-quick-actions-grid .user-action-copy-cadunico{
  background:linear-gradient(135deg,#1D4E89 0%,#2B6CB0 100%) !important;
  border-color:#2B6CB0 !important;
}
.user-center-page .user-quick-actions-grid .user-action-copy-cadunico:hover,
.user-center-page .user-quick-actions-grid .user-action-copy-cadunico:focus{
  background:linear-gradient(135deg,#173F70 0%,#245B96 100%) !important;
  border-color:#245B96 !important;
}
.user-center-page .user-quick-actions-grid .user-action-whatsapp{
  background:linear-gradient(135deg,#1F766D 0%,#2E8B7E 100%) !important;
  border-color:#2E756E !important;
}
.user-center-page .user-quick-actions-grid .user-action-whatsapp:hover,
.user-center-page .user-quick-actions-grid .user-action-whatsapp:focus{
  background:linear-gradient(135deg,#185E57 0%,#256F66 100%) !important;
  border-color:#245F59 !important;
}
.user-center-page .user-quick-actions-grid .user-action-reports{
  background:linear-gradient(135deg,#0E7490 0%,#23869A 100%) !important;
  border-color:#0E7490 !important;
  color:#FFFFFF !important;
}
.user-center-page .user-quick-actions-grid .user-action-reports:hover,
.user-center-page .user-quick-actions-grid .user-action-reports:focus{
  background:linear-gradient(135deg,#0B5D73 0%,#1A6D7E 100%) !important;
  border-color:#0B5D73 !important;
  color:#FFFFFF !important;
}

/* Relatos: somente data e hora recebem +100 de peso sobre a CT9b. */
.user-center-page .user-confidential-metadata .user-confidential-datetime{
  font-weight:650 !important;
}

/* RELATO RESTRITO: restaura integralmente o padrão visual e a posição da CT8k. */
.user-center-page .confidential-sealed-badge{
  display:inline-flex !important;
  margin-top:.6rem !important;
  margin-left:0 !important;
  padding:.25rem .55rem !important;
  border:0 !important;
  border-radius:999px !important;
  background:#FEE2E2 !important;
  color:#991B1B !important;
  font-size:.72rem !important;
  line-height:normal !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:0 !important;
  width:auto !important;
  max-width:100% !important;
}

@media(max-width:768px){
  .user-center-page .user-schedule-inline-form{
    grid-template-areas:
      "target"
      "date"
      "time"
      "ok"
      "availability"
      "result" !important;
  }
}

/* =========================================================
   AcolheMGA v0.94 CT9d — hierarquia de ações e Relatos
   ========================================================= */

/* Agendar atendimento: recupera o destaque sólido do antigo CadÚnico. */
.user-center-page .user-action-schedule{
  background:#FFD54A !important;
  border-color:#F8C829 !important;
  color:#3B2F00 !important;
  font-weight:950 !important;
  text-shadow:none !important;
  box-shadow:0 8px 18px rgba(245,158,11,.20) !important;
}
.user-center-page .user-action-schedule:hover,
.user-center-page .user-action-schedule:focus{
  background:#F8C829 !important;
  border-color:#EAB308 !important;
  color:#3B2F00 !important;
  text-shadow:none !important;
}

/* SASCWEB e CadÚnico: ações externas neutras, sem competir com a ação principal. */
.user-center-page .user-quick-actions-grid .user-action-sascweb,
.user-center-page .user-quick-actions-grid .user-action-copy-cadunico{
  background:#FFFFFF !important;
  border-color:#D7ECFF !important;
  color:#172033 !important;
  text-shadow:none !important;
  box-shadow:0 6px 14px rgba(15,45,92,.07) !important;
}
.user-center-page .user-quick-actions-grid .user-action-sascweb:hover,
.user-center-page .user-quick-actions-grid .user-action-sascweb:focus,
.user-center-page .user-quick-actions-grid .user-action-copy-cadunico:hover,
.user-center-page .user-quick-actions-grid .user-action-copy-cadunico:focus{
  background:#F4F9FF !important;
  border-color:#9BC5EF !important;
  color:#0F2D5C !important;
}

/* Guia Espelho é link: affordance textual explícita. */
.user-center-page .benefit-guide-badge{
  text-decoration:underline !important;
  text-underline-offset:2px !important;
  text-decoration-thickness:1px !important;
}
.user-center-page .benefit-guide-badge:hover,
.user-center-page .benefit-guide-badge:focus{
  text-decoration:underline !important;
}

/* Data e hora recebem semântica <b> e bold visual real. */
.user-center-page .user-confidential-metadata .user-confidential-datetime{
  font-weight:700 !important;
}

/* RELATO RESTRITO: visual CT8k, agora ao lado do título. */
.user-center-page .confidential-sealed-badge.confidential-sealed-badge-inline{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 0 0 .35rem !important;
  padding:.25rem .55rem !important;
  border:0 !important;
  border-radius:999px !important;
  background:#FEE2E2 !important;
  color:#991B1B !important;
  font-size:.72rem !important;
  line-height:normal !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
}



/* v0.94 CT10 — temas genéricos para fontes de benefícios */
.benefit-source-purple { --benefit-source-color: #7c3aed; --benefit-source-soft: #f3e8ff; }
.benefit-source-default { --benefit-source-color: #64748b; --benefit-source-soft: #f1f5f9; }

/* =========================================================
   AcolheMGA v0.94 CT10 — temas de equipe despersonalizados
   Último override: cores representam temas, nunca pessoas.
   ========================================================= */
.tech-color-blue,
.agenda-section-title.tech-color-blue { color:#1D4E89 !important; }
.agenda-section-title.tech-color-blue { background:#EAF4FF !important; border-color:#A7D2FF !important; }

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

.tech-color-green,
.agenda-section-title.tech-color-green { color:#1B7F3A !important; }
.agenda-section-title.tech-color-green { background:#E6F7EC !important; border-color:#9ED9B2 !important; }

.tech-color-purple,
.agenda-section-title.tech-color-purple { color:#581C87 !important; }
.agenda-section-title.tech-color-purple { background:#F3E8FF !important; border-color:#C084FC !important; }

.tech-color-teal,
.agenda-section-title.tech-color-teal { color:#0F766E !important; }
.agenda-section-title.tech-color-teal { background:#E6FFFB !important; border-color:#7DD3C7 !important; }

.tech-default,
.agenda-section-title.tech-default { color:#475569 !important; }
.agenda-section-title.tech-default { background:#F8FAFC !important; border-color:#CBD5E1 !important; }

.benefit-source-blue { background:#1D4E89 !important; color:#FFFFFF !important; }
.benefit-source-pink { background:#C2187A !important; color:#FFFFFF !important; }
.benefit-source-green { background:#1B7F3A !important; color:#FFFFFF !important; }
.benefit-source-purple { background:#581C87 !important; color:#FFFFFF !important; }
.benefit-source-teal { background:#0F766E !important; color:#FFFFFF !important; }
.benefit-source-default { background:#475569 !important; color:#FFFFFF !important; }

/* =========================================================
   AcolheMGA v0.94 CT11c — índice rápido das agendas
   ========================================================= */
.agenda-quick-index{
  margin:.65rem 0 1rem;
}
.agenda-quick-index .user-center-form-group-title.user-center-collapse-toggle{
  margin-bottom:.5rem !important;
}
.agenda-quick-index-links{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(150px, max-content));
  gap:.5rem;
  align-items:stretch;
  padding:.15rem 0 .45rem;
}
.agenda-quick-index-link.agenda-section-title{
  width:100%;
  min-height:42px;
  margin:0 !important;
  padding:.55rem .85rem !important;
  justify-content:center;
  text-align:center;
  text-decoration:none !important;
  border-radius:.8rem !important;
  font-size:.84rem !important;
  font-weight:900 !important;
  line-height:1.15;
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.agenda-quick-index-link.agenda-section-title:hover,
.agenda-quick-index-link.agenda-section-title:focus{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(15,45,92,.12);
  filter:saturate(1.05);
  outline:none;
}
#agendaTablesContainer .agenda-section-title[id],
#cadunicoTablesContainer .agenda-section-title[id],
#educatorSocialTablesContainer .agenda-section-title[id]{
  scroll-margin-top:92px;
}
@media(max-width:768px){
  .agenda-quick-index-links{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .agenda-quick-index-link.agenda-section-title{
    font-size:.78rem !important;
    padding:.52rem .6rem !important;
  }
}

/* CT12 — Consulta assistiva de benefícios federais */
.user-quick-actions-grid .user-action-government-benefits{
  background:#173f63;
  border-color:#173f63;
  color:#fff;
}
.user-quick-actions-grid .user-action-government-benefits:hover,
.user-quick-actions-grid .user-action-government-benefits:focus{
  background:#102f4d;
  border-color:#102f4d;
  color:#fff;
}
.government-benefits-panel{
  background:#f8fbfd;
  border:1px solid #c9d9e4;
  border-left:5px solid #2e756e;
  border-radius:14px;
  box-shadow:0 7px 22px rgba(12,35,64,.07);
  padding:1rem 1.1rem;
  scroll-margin-top:92px;
}
.government-benefits-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:.75rem;
  border-bottom:1px solid #dce7ee;
}
.government-benefits-header h2{
  margin:.1rem 0 0;
  color:#0c2340;
  font-size:1.12rem;
  font-weight:800;
}
.government-benefits-kicker{
  display:block;
  color:#2e756e;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.government-benefits-config-badge,
.government-benefits-status{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:.25rem .55rem;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
  white-space:nowrap;
}
.government-benefits-config-badge.ready,
.government-benefits-status.success{
  background:#dff3eb;
  color:#145b4b;
}
.government-benefits-config-badge.pending,
.government-benefits-status.neutral{
  background:#edf1f5;
  color:#556575;
}
.government-benefits-status.warning{
  background:#fff1cc;
  color:#765300;
}
.government-benefits-status.danger{
  background:#fde3e3;
  color:#8b2323;
}
.government-benefits-content{
  min-height:54px;
  padding:.85rem 0 .25rem;
}
.government-benefits-empty{
  margin:.15rem 0 .65rem;
  color:#607282;
  font-size:.88rem;
}
.government-benefits-result-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.75rem;
  color:#5c6b78;
  font-size:.78rem;
}
.government-benefits-program-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:.7rem;
}
.government-benefit-program-card{
  display:flex;
  flex-direction:column;
  gap:.28rem;
  background:#fff;
  border:1px solid #d8e3ea;
  border-radius:10px;
  padding:.75rem .8rem;
}
.government-benefit-program-card strong{
  color:#0c2340;
  font-size:.9rem;
}
.government-benefit-program-card span,
.government-benefit-program-card small{
  color:#5c6d7b;
  font-size:.77rem;
}
.government-benefit-program-card .btn{
  align-self:flex-start;
  margin-top:.35rem;
}
.government-benefits-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.55rem;
  padding-top:.7rem;
  border-top:1px solid #dce7ee;
}
.government-benefits-actions small{
  flex:1 1 360px;
  color:#687987;
  font-size:.72rem;
  line-height:1.35;
}
.government-benefits-warning{
  margin:.6rem 0;
  padding:.6rem .7rem;
  border-radius:8px;
  background:#fff3d9;
  color:#705300;
  font-size:.8rem;
}
.government-benefits-source{
  margin-top:.65rem;
  color:#687987;
  font-size:.7rem;
}
.government-benefits-loading{
  display:flex;
  align-items:center;
  gap:.5rem;
  color:#36566d;
  font-size:.86rem;
}
@media(max-width:767px){
  .government-benefits-header,
  .government-benefits-result-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .government-benefits-actions .btn{
    width:100%;
  }
}

.government-benefits-notice {
  margin-top: .65rem;
  padding: .55rem .7rem;
  border: 1px solid rgba(46, 117, 110, .25);
  border-radius: 8px;
  background: rgba(46, 117, 110, .08);
  color: #245e59;
  font-size: .82rem;
}
