/*
 * AcolheMGA — Design System operacional canônico
 *
 * Arquivo gerado por consolidação ordenada das camadas históricas. As folhas
 * de origem permanecem no pacote apenas para auditoria contratual e não devem
 * mais ser carregadas pelas páginas. Regras novas pertencem à seção CR 3d no
 * fim deste arquivo.
 */

/* ===== Origem consolidada: agenda_single_connection.css ===== */
/* AcolheMGA GV16a1b — conexão única bloqueia somente o espaço da Agenda. */
#agendaApplicationShell {
    position: relative;
}

body.agenda-connection-pending #agendaWorkspace {
    pointer-events: none;
    cursor: wait;
    opacity: .72;
}

body.agenda-connection-blocked #agendaWorkspace {
    pointer-events: none !important;
    user-select: none !important;
    filter: grayscale(.35) blur(.7px);
    opacity: .42;
}

.agenda-single-connection-overlay[hidden] {
    display: none !important;
}

.agenda-single-connection-overlay {
    position: absolute;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-height: 100%;
    padding: 56px 24px 24px;
    background: rgba(235, 243, 250, .58);
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
    animation: agenda-connection-fade-in .18s ease-out both;
}

.agenda-single-connection-dialog {
    position: sticky;
    top: 24px;
    width: min(520px, 100%);
    padding: 26px 28px 24px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 16px;
    background: linear-gradient(145deg, #0F2D5C 0%, #1D4E89 100%);
    color: #FFFFFF;
    text-align: center;
    box-shadow: 0 20px 52px rgba(15, 45, 92, .34);
    animation: agenda-connection-card-in .2s ease-out both;
}

.agenda-single-connection-dialog h2 {
    margin: 0 0 12px;
    color: #FFFFFF;
    font-size: clamp(1.3rem, 4vw, 1.7rem);
    font-weight: 800;
    letter-spacing: -.02em;
}

.agenda-single-connection-dialog p {
    margin: 0;
    color: #EAF4FF;
    font-size: 1rem;
    line-height: 1.55;
}

.agenda-single-connection-dialog .agenda-single-connection-help {
    margin-top: 9px;
    color: #D7ECFF;
    font-size: .86rem;
}

.agenda-single-connection-ok {
    min-width: 170px;
    margin-top: 22px;
    padding: 10px 24px;
    border: 1px solid #D6AE00;
    border-radius: 9px;
    background: #FFD400;
    color: #0F2D5C;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .2);
}

.agenda-single-connection-ok:hover,
.agenda-single-connection-ok:focus {
    background: #FFE04A;
    color: #0B2448;
    outline: 3px solid rgba(255, 255, 255, .42);
    outline-offset: 3px;
}

@keyframes agenda-connection-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes agenda-connection-card-in {
    from { opacity: 0; transform: translateY(8px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 720px) {
    .agenda-single-connection-overlay { padding: 24px 12px; }
    .agenda-single-connection-dialog { top: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .agenda-single-connection-overlay,
    .agenda-single-connection-dialog { animation: none; }
}

/* ===== Origem consolidada: cr2h1_hotfix.css ===== */
/* AcolheMGA v0.96 CR 2H1 — hotfix visual sem alterar a identidade existente. */
.schedule-slot-blocked.schedule-slot-activity td {
  background:#111827 !important;
  border-color:#334155 !important;
  color:#fff !important;
}
.schedule-slot-blocked.schedule-slot-activity .schedule-activity-link {
  color:#93c5fd !important;
}

/* Atividades e Condicionalidades no mesmo acabamento dos módulos atuais. */
.activities-page,
.conditionalities-page {
  width:100%;
  max-width:1480px;
  margin:0 auto;
}
.activities-page > .d-flex:first-child,
.conditionalities-page > .d-flex:first-child {
  gap:1rem;
  padding:1.05rem 1.15rem;
  border:1px solid #d7e3ed;
  border-left:6px solid #1d4e89;
  border-radius:1rem;
  background:linear-gradient(135deg,#fff 0%,#f4f9ff 100%);
  box-shadow:0 10px 25px rgba(15,45,92,.08);
}
.activities-page .control-card,
.conditionalities-page .control-card {
  border:1px solid #d7e3ed;
  border-radius:1rem;
  box-shadow:0 9px 22px rgba(15,45,92,.07);
}
.activities-page .table-responsive,
.conditionalities-page .table-responsive {
  border:1px solid #dbe5ee;
  border-radius:.8rem;
}
@media (max-width:767.98px) {
  .activities-page,
  .conditionalities-page { padding:.85rem !important; }
  .activities-page > .d-flex:first-child,
  .conditionalities-page > .d-flex:first-child { padding:.9rem; }
}

/* ===== Origem consolidada: cr2i_operations.css ===== */
/* AcolheMGA v0.96 CR 2I — planejamento de participantes e triagem de prazos. */
.activity-participant-planning {
  padding:1rem;
  border:1px solid #d7e3ed;
  border-radius:.85rem;
  background:#f7fbff;
}
.activity-participant-planning-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:.65rem;
}
.activity-participant-planning-heading label,
.activity-participant-planning-heading small { display:block; }
.activity-participant-planning-status { margin-top:.5rem;color:#64748b;font-size:.86rem; }
.activity-participant-planning-list { display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem; }
.activity-participant-chip { display:inline-flex;align-items:center;gap:.55rem;padding:.45rem .5rem .45rem .7rem;border:1px solid #b8cde0;border-radius:999px;background:#fff;color:#173b68;font-weight:700; }
.activity-participant-chip button { width:1.55rem;height:1.55rem;padding:0;border:0;border-radius:999px;background:#e8f0f7;color:#173b68;font-size:1rem;line-height:1;cursor:pointer; }
.pbf-deadline-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem; }
.pbf-deadline-card { display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid #d7e3ed;border-left:5px solid #d39e00;border-radius:.8rem;background:#fff;color:#173b68;text-decoration:none!important;box-shadow:0 5px 14px rgba(15,45,92,.05); }
.pbf-deadline-card.is-overdue { border-left-color:#b42318;background:#fff8f7; }
.pbf-deadline-card span { font-weight:750; }
.pbf-deadline-card strong { min-width:2rem;text-align:center;font-size:1.3rem; }
@media (max-width:767.98px) {
  .activity-participant-planning-heading { flex-direction:column;gap:.35rem; }
  .pbf-deadline-grid { grid-template-columns:1fr; }
}

/* ===== Origem consolidada: gv16a1b_admin_tools.css ===== */
/* AcolheMGA GV16a1b — ferramentas de teste, banco legado e grade semanal. */
.fake-data-direct-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .55rem;
}
.fake-data-direct-card .btn { width: 100%; }
.fake-data-direct-card small { color: #5b6470; font-weight: 650; }

.legacy-database-danger-card {
    border: 1px solid #e5a3a3;
    background: linear-gradient(135deg, #fffafa 0%, #fff 100%);
}
.technical-danger-badge {
    display: inline-flex;
    margin-bottom: .45rem;
    padding: .28rem .58rem;
    border-radius: 999px;
    background: #8f1d1d;
    color: #fff;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .06em;
}
.legacy-database-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}
.legacy-database-summary span {
    padding: .55rem .72rem;
    border: 1px solid #efc7c7;
    border-radius: 9px;
    background: #fff;
}
.legacy-database-delete-form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    align-items: end;
    gap: .75rem;
    margin-top: 1rem;
}
.legacy-database-delete-form label { grid-column: 1 / -1; margin: 0; }

.schedule-builder-card {
    border: 1px solid #c9dbef;
    border-radius: 12px;
    background: #f8fbff;
    padding: 1rem;
}
.schedule-builder-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(260px, 1.4fr);
    gap: .85rem 1rem;
}
.schedule-builder-grid .schedule-builder-full { grid-column: 1 / -1; }
.schedule-weekday-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(100px, 1fr));
    gap: .45rem;
}
.schedule-weekday-option {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-height: 42px;
    padding: .52rem .65rem;
    border: 1px solid #c9d8e8;
    border-radius: 8px;
    background: #fff;
    font-weight: 700;
}
.schedule-times-help { margin: .35rem 0 0; color: #5c6875; font-size: .82rem; }
.technician-schedule-groups {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}
.technician-schedule-group {
    border: 1px solid #d3dfeb;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}
.technician-schedule-group h3 {
    margin: 0;
    padding: .78rem .9rem;
    background: #edf5fc;
    color: #173a5f;
    font-size: 1rem;
}
.schedule-day-row {
    display: grid;
    grid-template-columns: 74px 1fr;
    gap: .55rem;
    padding: .62rem .8rem;
    border-top: 1px solid #edf1f5;
}
.schedule-day-label { font-weight: 800; color: #38536f; }
.schedule-time-chips { display: flex; flex-wrap: wrap; gap: .38rem; }
.schedule-time-chip {
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    padding: .28rem .42rem .28rem .56rem;
    border: 1px solid #bfd0e1;
    border-radius: 999px;
    background: #f7fbff;
    color: #173a5f;
    font-weight: 750;
}
.schedule-time-chip form { margin: 0; }
.schedule-time-chip button {
    border: 0;
    background: transparent;
    color: #a11f1f;
    font-weight: 900;
    line-height: 1;
    padding: 0 .1rem;
}
.schedule-empty-state {
    padding: 1rem;
    border: 1px dashed #b9c9d9;
    border-radius: 10px;
    background: #f8fbfe;
    color: #4d6175;
}

@media (max-width: 900px) {
    .legacy-database-delete-form,
    .schedule-builder-grid { grid-template-columns: 1fr; }
    .schedule-weekday-grid { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
}


/* GV18 — grade semanal compacta e legível */
.technician-schedule-groups { grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); align-items: start; }
.technician-schedule-group { box-shadow: 0 8px 22px rgba(18,58,95,.07); }
.technician-schedule-group h3 { display:flex; align-items:center; min-height:48px; padding:.85rem 1rem; font-size:.95rem; border-bottom:1px solid #d8e4ef; }
.schedule-day-row { grid-template-columns: 86px minmax(0,1fr); align-items:start; padding:.7rem 1rem; }
.schedule-day-label { font-size:.78rem; text-transform:uppercase; letter-spacing:.035em; padding-top:.3rem; }
.schedule-time-chip { min-width:68px; justify-content:space-between; }
@media (max-width: 575.98px) { .technician-schedule-groups{grid-template-columns:1fr}.schedule-day-row{grid-template-columns:1fr}.schedule-day-label{padding-top:0}.schedule-time-chips{margin-top:.2rem} }

/* ===== Origem consolidada: maintenance_suite.css ===== */
.maintenance-suite-page .content,.maintenance-probe-page .content{max-width:1480px;margin:0 auto}.maintenance-suite-intro,.maintenance-probe-section{background:#fff;border:1px solid #dfe6f1;border-radius:14px;padding:20px;box-shadow:0 6px 18px rgba(24,57,98,.05)}.maintenance-suite-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.maintenance-suite-card{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid #dfe6f1;border-radius:14px;background:#fff;color:#183962;text-decoration:none;min-height:150px;box-shadow:0 5px 16px rgba(24,57,98,.05);transition:transform .15s ease,box-shadow .15s ease}.maintenance-suite-card:hover{text-decoration:none;color:#102c50;transform:translateY(-2px);box-shadow:0 9px 24px rgba(24,57,98,.10)}.maintenance-suite-card strong{font-size:1.03rem}.maintenance-suite-card span{color:#667085;line-height:1.45}.maintenance-suite-card .probe-badge{align-self:flex-start;margin-top:auto}.probe-badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.74rem;font-weight:800;letter-spacing:.02em;white-space:nowrap}.probe-badge-pass{background:#dff5e7;color:#136c37}.probe-badge-warn{background:#fff1ca;color:#8a5a00}.probe-badge-fail{background:#ffe0e0;color:#a51d1d}.probe-badge-na{background:#edf0f4;color:#5f6876}.maintenance-probe-heading{gap:16px}.maintenance-probe-actions{display:flex;gap:8px;flex-wrap:wrap}.maintenance-probe-section{margin-top:18px}.maintenance-probe-section h2{font-size:1.15rem;font-weight:800;margin-bottom:14px}.maintenance-probe-table th{background:#f4f7fb;color:#344054;border-top:0}.maintenance-probe-table td{vertical-align:middle}.maintenance-probe-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:.85em;word-break:break-word}.maintenance-probe-callout{border-left:4px solid #315efb;background:#eef4ff;padding:12px 14px;border-radius:8px}.maintenance-suite-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.maintenance-suite-summary .probe-badge{font-size:.8rem;padding:6px 10px}@media(max-width:768px){.maintenance-probe-heading{display:block}.maintenance-probe-actions{margin-top:12px}.maintenance-suite-grid{grid-template-columns:1fr}}

/* ===== Origem consolidada: cr2j_visual_system.css ===== */
/* AcolheMGA v0.96 CR 2J — contrato visual e operacional. */
:root{
  --cr2j-navy:#0f2d5c;
  --cr2j-blue:#1d4e89;
  --cr2j-sky:#228be6;
  --cr2j-line:#d7e3ef;
  --cr2j-ink:#172033;
  --cr2j-muted:#64748b;
  --cr2j-surface:#fff;
  --cr2j-soft:#f5f9fd;
  --cr2j-shadow:0 14px 34px rgba(15,45,92,.08);
}

/* Subtítulos: o mesmo contrato tipográfico da Linha do Tempo. */
.acolhe-section-heading h2,
.visit-intro-box h2,
.visit-filter-subtitle,
.visit-table-header h2,
.user-center-section-header h2:not(.user-timeline-title),
.admin-hub-heading h2,
.admin-section-title,
.admin-page .control-card>h2,
.admin-page .control-card-header-row h2{
  width:100%;
  margin:0 0 .75rem!important;
  padding:0 0 .45rem!important;
  border:0!important;
  border-bottom:4px solid var(--cr2j-blue)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--cr2j-navy)!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:clamp(1.42rem,2.4vw,1.62rem)!important;
  font-weight:900!important;
  line-height:1.08!important;
  letter-spacing:-.022em!important;
  text-align:left!important;
  text-transform:none!important;
}
.conditionalities-page .user-center-section-header h2{
  width:100%;
  margin:0 0 .75rem!important;
  padding:0 0 .45rem!important;
  border:0!important;
  border-bottom:4px solid var(--cr2j-blue)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--cr2j-navy)!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:clamp(1.42rem,2.4vw,1.62rem)!important;
  font-weight:900!important;
  line-height:1.08!important;
  letter-spacing:-.022em!important;
  text-align:left!important;
  text-transform:none!important;
}

/* O aviso de teste mantém exatamente o dourado consagrado na CR1. */
.selected-unit-banner.test-unit.test-unit-gold,
.selected-unit-banner.test-unit.test-unit-gold.test-database-session-banner{
  background:linear-gradient(135deg,#f8df7a 0%,#f2c94c 100%)!important;
  border:1px solid #d6a700!important;
  color:#3f3200!important;
  box-shadow:0 8px 22px rgba(165,124,0,.14)!important;
}
.selected-unit-banner.test-unit.test-unit-gold strong{color:#3f3200!important;}
.mobile-offcanvas-sublink{display:flex;align-items:center;min-height:40px;margin:-.18rem .8rem .38rem 4.25rem;padding:.48rem .72rem;border:1px solid rgba(255,255,255,.20);border-radius:10px;background:rgba(255,255,255,.09);color:#fff!important;font-size:.78rem;font-weight:850;text-decoration:none!important;}
.mobile-offcanvas-sublink:before{content:"";width:6px;height:6px;margin-right:.5rem;border-radius:50%;background:#7fc4ff}.mobile-offcanvas-sublink:hover,.mobile-offcanvas-sublink:focus-visible,.mobile-offcanvas-sublink.active{border-color:#7fc4ff;background:rgba(127,196,255,.2);outline:0}.mobile-offcanvas-sublink-dark{border-color:#111827;background:#111827}.mobile-offcanvas-sublink-dark:before{background:#f2c94c}

/* Atividades: título fora dos cards, composição ousada e legível. */
.activities-modern-body{background:linear-gradient(180deg,#f4f8fc 0,#fff 34rem);}
.activities-modern-page{max-width:1420px;margin:0 auto;padding-left:clamp(1rem,2.4vw,2rem)!important;padding-right:clamp(1rem,2.4vw,2rem)!important;}
.activities-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.1rem;}
.activities-topline .page-title{width:auto!important;flex:1 1 auto;}
.activities-agenda-link{min-height:44px;padding:.62rem 1rem;border:1px solid var(--cr2j-blue);border-radius:12px;color:var(--cr2j-blue);background:#fff;font-weight:850;}
.activities-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:2rem;overflow:hidden;margin:0 0 1rem;padding:clamp(1.25rem,3vw,2.25rem);border:1px solid #cfe0f0;border-left:7px solid var(--cr2j-blue);border-radius:24px;background:linear-gradient(135deg,#fff 0%,#edf6ff 62%,#dceeff 100%);box-shadow:var(--cr2j-shadow);}
.activities-hero:after{content:"";position:absolute;width:260px;height:260px;right:-90px;top:-145px;border-radius:50%;background:rgba(34,139,230,.10);}
.activities-kicker,.acolhe-section-eyebrow{display:block;margin-bottom:.38rem;color:#1c6cb2;font-size:.72rem;font-weight:900;letter-spacing:.095em;text-transform:uppercase;}
.activities-hero h2{max-width:760px;margin:0 0 .7rem;color:var(--cr2j-navy);font-size:clamp(1.65rem,3.2vw,2.65rem);font-weight:950;line-height:1.04;letter-spacing:-.035em;}
.activities-hero p{max-width:820px;margin:0;color:#4d6075;font-size:clamp(.98rem,1.6vw,1.12rem);font-weight:580;line-height:1.55;}
.activities-hero-orbit{position:relative;z-index:1;display:grid;place-items:center;width:128px;height:128px;margin:auto;border:1px solid rgba(255,255,255,.75);border-radius:38px;background:linear-gradient(145deg,var(--cr2j-navy),#1d5b9b);box-shadow:0 18px 30px rgba(15,45,92,.2);color:#fff;transform:rotate(5deg);}
.activities-hero-orbit span{position:absolute;inset:13px;border:1px solid rgba(255,255,255,.24);border-radius:29px;}
.activities-hero-orbit strong{font-size:1.55rem;letter-spacing:.1em;transform:rotate(-5deg);}
.activities-quick-index{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1.5rem;padding:.72rem;border:1px solid #d6e3ef;border-radius:16px;background:rgba(255,255,255,.9);box-shadow:0 8px 22px rgba(15,45,92,.05);}
.activities-quick-index a{display:inline-flex;align-items:center;min-height:38px;padding:.48rem .8rem;border-radius:10px;color:var(--cr2j-navy);font-size:.84rem;font-weight:850;text-decoration:none;}
.activities-quick-index a:hover,.activities-quick-index a:focus-visible{background:#eaf4ff;color:#0b5eaa;outline:0;}
.activities-section{margin:0 0 1.5rem;scroll-margin-top:1rem;}
.acolhe-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.9rem;}
.acolhe-section-heading>div{flex:1 1 auto;min-width:0;}
.activities-section-note,.activities-counter{display:inline-flex;align-items:center;padding:.32rem .62rem;border-radius:999px;background:#eaf4ff;color:#174f85;font-size:.76rem;font-weight:850;white-space:nowrap;}
.activities-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;}
.activities-stat-card{position:relative;overflow:hidden;min-height:112px;padding:1rem 1.05rem;border:1px solid #d7e3ef;border-radius:17px;background:#fff;box-shadow:0 8px 20px rgba(15,45,92,.055);}
.activities-stat-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--stat,#228be6);}
.activities-stat-card span,.activities-stat-card small{display:block;color:#637287;font-weight:750;}
.activities-stat-card strong{display:block;margin:.12rem 0;color:var(--cr2j-navy);font-size:2rem;font-weight:950;line-height:1;}
.activities-stat-card small{font-size:.72rem;}.stat-cyan{--stat:#0e9fba}.stat-green{--stat:#16895b}.stat-gold{--stat:#d7a800}
.activities-create-form{display:grid;gap:.85rem;}
.activities-form-block{padding:1.05rem;border:1px solid #d5e2ee;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(15,45,92,.05);}
.activities-form-block h3{margin:0 0 .85rem;color:var(--cr2j-navy);font-size:1rem;font-weight:900;}
.activities-create-form label{color:#334e68;font-size:.8rem;font-weight:800;}
.activities-create-form .form-control{min-height:44px;border:1px solid #bcd0e2;border-radius:10px;background:#fbfdff;}
.activity-technician-options{display:flex;flex-wrap:wrap;gap:.5rem}.activity-technician-option{margin:0}.activity-technician-option input{position:absolute;opacity:0}.activity-technician-option span{display:inline-flex;padding:.55rem .78rem;border:1px solid #b9cde0;border-radius:999px;background:#fff}.activity-technician-option input:checked+span{border-color:var(--cr2j-blue);background:var(--cr2j-blue);color:#fff;}
.activities-participant-search{position:relative}.activities-participant-search>span{position:absolute;z-index:2;left:.85rem;top:50%;transform:translateY(-50%);font-size:1.2rem;color:#3679b8}.activities-participant-search input{padding-left:2.4rem}
.activities-reservation-switch{display:flex;gap:.75rem;align-items:flex-start;margin:0;padding:.8rem;border:1px solid #bed9cc;border-radius:13px;background:#f1faf6}.activities-reservation-switch input{margin-top:.3rem}.activities-reservation-switch strong,.activities-reservation-switch small{display:block}.activities-reservation-switch small{color:#567064;margin-top:.12rem}
.activities-create-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.activities-primary-action{min-height:48px;border:0;border-radius:13px;background:linear-gradient(135deg,var(--cr2j-navy),#1d5b9b);color:#fff;font-weight:900;box-shadow:0 10px 20px rgba(15,45,92,.18)}.activities-create-actions span{color:#68778a;font-size:.8rem;font-weight:650}
.activities-filter-bar{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,.7fr) minmax(160px,.7fr) auto;align-items:end;gap:.65rem;margin-bottom:.8rem;padding:.85rem;border:1px solid #d5e2ee;border-radius:15px;background:#f8fbfe}.activities-filter-bar label{margin:0;color:#52677c;font-size:.74rem;font-weight:850}.activities-filter-bar label>span{display:block;margin-bottom:.25rem}.activities-filter-bar .btn{min-height:44px}
.activities-card-list{display:grid;gap:.7rem}.activity-modern-card{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.9rem;border:1px solid #d6e3ef;border-left:5px solid #228be6;border-radius:17px;background:#fff;box-shadow:0 8px 20px rgba(15,45,92,.055)}.activity-modern-card.is-held{border-left-color:#16895b}.activity-modern-card.is-cancelled{border-left-color:#a94442;opacity:.82}
.activity-date-tile{display:grid;place-items:center;min-height:76px;border-radius:14px;background:#edf6ff;color:var(--cr2j-navy)}.activity-date-tile span{text-transform:uppercase;font-size:.66rem;font-weight:900}.activity-date-tile strong{font-size:1.65rem;line-height:1;font-weight:950}.activity-date-tile small{font-size:.68rem;font-weight:750}
.activity-modern-meta{display:flex;align-items:center;gap:.55rem}.activity-modern-meta span{display:inline-flex;padding:.27rem .54rem;border-radius:999px;background:#111827;color:#fff;font-size:.68rem;font-weight:900}.activity-modern-meta b{color:#64748b;font-size:.74rem}.activity-modern-copy h3{margin:.38rem 0 .16rem;color:var(--cr2j-navy);font-size:1.08rem;font-weight:900}.activity-modern-copy p{margin:0;color:#5b6d80;font-size:.83rem}.activity-modern-facts{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.48rem}.activity-modern-facts span{padding:.22rem .44rem;border-radius:7px;background:#f0f5f9;color:#466079;font-size:.68rem;font-weight:800}.activity-modern-actions{display:grid;justify-items:end;gap:.55rem}.activity-status-pill{font-size:.72rem;font-weight:850;color:#466079}.activities-empty-state{display:grid;gap:.2rem;padding:1.3rem;border:1px dashed #b9cbdb;border-radius:15px;text-align:center;color:#607286}

/* Condicionalidades: a mesma hierarquia visual da Central do Usuário. */
.conditionalities-page{max-width:1500px;margin:0 auto;padding-left:clamp(1rem,2.4vw,2rem)!important;padding-right:clamp(1rem,2.4vw,2rem)!important;background:linear-gradient(180deg,#f7faff 0,#fff 34rem)}
.conditionalities-page>.d-flex:first-child{gap:1rem;padding:0 0 1rem;border-bottom:1px solid #d7e3ef}.conditionalities-page>.d-flex:first-child>div:first-child{min-width:0}.conditionalities-page>.d-flex:first-child .text-muted{max-width:850px;color:#607286!important;font-size:.9rem}.pbf-page-actions{display:flex;flex-wrap:wrap;gap:.5rem}.pbf-page-actions .btn{min-height:42px;border-radius:11px;font-weight:800}
.conditionalities-page .control-card{padding:clamp(.95rem,2vw,1.3rem);border:1px solid #d4e2ef;border-radius:19px;background:#fff;box-shadow:0 9px 24px rgba(15,45,92,.06)}
.conditionalities-page .user-center-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.conditionalities-page .user-center-section-header>div{flex:1 1 auto;min-width:0}.conditionalities-page .user-center-section-header p{font-size:.82rem}
.pbf-scope-card{position:relative;overflow:hidden;padding:.85rem 1rem .85rem 1.2rem!important;border-left:5px solid #d7a800!important;background:linear-gradient(135deg,#fffdf3,#fff8d9)!important;color:#594d18}.pbf-scope-card:before{content:"i";display:inline-grid;place-items:center;width:24px;height:24px;margin-right:.55rem;border-radius:50%;background:#f2c94c;color:#3f3200;font-weight:950}
.pbf-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem}.pbf-summary-card{position:relative;overflow:hidden;min-height:82px;padding:.72rem .82rem;border:1px solid #d7e3ef;border-radius:14px;background:#fff;box-shadow:0 6px 16px rgba(15,45,92,.05)}.pbf-summary-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#228be6}.pbf-summary-card span,.pbf-summary-card strong{display:block}.pbf-summary-card span{min-height:2.1em;color:#627286;font-size:.69rem;font-weight:800;line-height:1.15}.pbf-summary-card strong{margin-top:.18rem;color:var(--cr2j-navy);font-size:1.45rem;font-weight:950;line-height:1}.pbf-summary-active:before{background:#16895b}.pbf-summary-overdue:before{background:#c0392b}.pbf-summary-appeal:before{background:#d7a800}.pbf-summary-resolved:before{background:#64748b}
.pbf-deadline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.pbf-deadline-card{display:flex;align-items:center;justify-content:space-between;gap:.7rem;min-height:70px;padding:.78rem .88rem;border:1px solid #c9dceb;border-radius:13px;background:#f5faff;color:#244d72;text-decoration:none!important}.pbf-deadline-card:hover,.pbf-deadline-card:focus-visible{border-color:#228be6;background:#eaf4ff;outline:0}.pbf-deadline-card span{font-size:.76rem;font-weight:850;line-height:1.18}.pbf-deadline-card strong{color:var(--cr2j-navy);font-size:1.35rem;font-weight:950}.pbf-deadline-card.is-overdue{border-color:#e8c6c1;background:#fff7f6}.pbf-deadline-card.is-overdue strong{color:#a62d20}
.conditionality-form .form-group,.conditionalities-page form .form-group{margin-bottom:.72rem}.conditionalities-page label{margin-bottom:.28rem;color:#3d566f;font-size:.74rem;font-weight:850}.conditionalities-page .form-control{min-height:43px;border-color:#b8ccde;border-radius:10px;background:#fbfdff}.conditionalities-page textarea.form-control{height:auto}.conditionalities-page .btn-primary{border-color:var(--cr2j-navy);border-radius:11px;background:linear-gradient(135deg,var(--cr2j-navy),#1d5b9b);font-weight:850}
.pbf-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.pbf-detail-grid>div{min-height:76px;padding:.72rem;border:1px solid #d6e3ef;border-radius:12px;background:#f7faff}.pbf-detail-grid span,.pbf-detail-grid strong{display:block}.pbf-detail-grid span{color:#69798c;font-size:.68rem;font-weight:850;text-transform:uppercase}.pbf-detail-grid strong{margin-top:.2rem;color:var(--cr2j-navy);font-size:.88rem;font-weight:900}
.pbf-followup-timeline{display:grid;gap:.65rem}.pbf-followup-timeline article{position:relative;padding:.8rem .85rem .8rem 1rem;border:1px solid #d5e2ee;border-left:4px solid #228be6;border-radius:12px;background:#f8fbfe}.pbf-followup-timeline article p{margin:.35rem 0;color:#465d73}.pbf-followup-timeline article small{color:#6c7c8d;font-weight:650}
.pbf-filter-grid{display:grid;grid-template-columns:minmax(210px,1.5fr) repeat(5,minmax(130px,1fr)) auto;gap:.55rem;align-items:end;padding:.78rem;border:1px solid #d6e3ef;border-radius:14px;background:#f7faff}.pbf-filter-grid .btn{min-height:43px}.pbf-occurrence-table{border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:12px}.pbf-occurrence-table thead th{border-color:#d4e2ee;background:#edf5fc;color:#254967;font-size:.68rem;font-weight:900;letter-spacing:.025em;text-transform:uppercase}.pbf-occurrence-table td{border-color:#dfE8f0;color:#344b61;font-size:.76rem;vertical-align:middle}

/* Visitas: duas origens explícitas e compactação dos cartões CadÚnico. */
.visits-page .content{max-width:1500px;margin:0 auto;padding-left:calc(clamp(1rem,2.4vw,2rem) + 1px)!important;padding-right:clamp(1rem,2.4vw,2rem)!important;}
.visits-page .visit-main-title{text-transform:none!important;}
.visits-page .visit-intro-box{margin-bottom:.75rem;padding:.9rem 1rem;border:1px solid #d4e2ef;border-left:5px solid var(--cr2j-blue);border-radius:15px;background:#f8fbfe;}
.visits-page .visit-intro-box h2{font-size:1.15rem!important;border-bottom-width:3px!important;margin-bottom:.45rem!important;}.visits-page .visit-intro-box p{margin:0;color:#617185;font-size:.86rem;}
.visits-page .visit-summary-grid{gap:.55rem;margin-bottom:.8rem;}
.visits-page .visit-summary-card{min-height:74px!important;padding:.62rem .78rem!important;border-radius:13px!important;box-shadow:0 5px 14px rgba(15,45,92,.05)!important;}
.visits-page .visit-summary-card span{font-size:.72rem!important;line-height:1.15}.visits-page .visit-summary-card strong{font-size:1.45rem!important;line-height:1!important}
.visit-name-loupe-search{display:flex;align-items:stretch}.visit-name-loupe-search .form-control{border-radius:10px 0 0 10px}.visit-search-loupe{width:46px;border:1px solid #9ebad3;border-left:0;border-radius:0 10px 10px 0;background:var(--cr2j-blue);color:#fff;font-size:1.3rem;font-weight:900;cursor:pointer}
.visit-list-group-title>span,.visit-technical-tabs-label{display:block;margin-bottom:.25rem;color:#5b7892;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.visit-list-group-title h2{margin-bottom:.65rem!important}
.visit-tabs-technical-row{display:flex!important;align-items:center;gap:.45rem;margin-top:.72rem!important;padding:.72rem!important;border:1px solid #cddcea!important;border-radius:14px;background:#f4f8fc}.visit-tabs-technical-row .visit-technical-tabs-label{margin:0 auto 0 0}.visit-tab-tecnicas_agendadas,.visit-tab-tecnicas_realizadas{border-color:#214d77!important}.visit-tab-tecnicas_agendadas.active,.visit-tab-tecnicas_realizadas.active{background:#123f68!important;color:#fff!important}.visit-row[data-source-table="appointments"]{background:#f7fbff!important}
.visits-page .visit-table-section{margin-left:1px;}

/* Painel: acordeões legíveis e grade semanal em etapas. */
.admin-hub-clean-page .content{max-width:1500px;margin:0 auto;}
.admin-hub-clean-page .admin-hub-primary-card{padding:clamp(1rem,2.2vw,1.45rem)!important;border-radius:20px!important;}
.admin-hub-clean-page .admin-hub-directory-toggle{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:52px!important;margin:0!important;padding:.72rem .9rem!important;border:1px solid #0f3d70!important;border-radius:13px!important;background:linear-gradient(135deg,#0f2d5c,#174f85)!important;color:#fff!important;font-size:.9rem!important;font-weight:900!important;text-transform:none!important;letter-spacing:0!important;transform:none!important;}
.admin-hub-clean-page .admin-hub-directory-toggle span{display:inline-grid!important;place-items:center;flex:0 0 26px;width:26px;height:26px;margin:0!important;border-radius:50%;background:rgba(255,255,255,.13);color:#fff!important;transform:none!important;transition:transform .16s ease!important;}
.admin-hub-clean-page .admin-hub-directory-toggle[aria-expanded="false"] span{transform:rotate(-90deg)!important}.admin-hub-clean-page .admin-hub-directory-toggle[aria-expanded="true"] span{transform:rotate(0)!important}
.admin-hub-clean-page .admin-hub-secondary-pages{padding-top:.7rem!important;border:0!important}.admin-hub-clean-page .admin-hub-page-button{justify-content:flex-start!important;min-height:44px;padding:.62rem .75rem;border-radius:10px;text-align:left!important;}
.schedule-builder-card{position:relative;overflow:hidden;padding:1rem!important;border:1px solid #bdd4e7!important;border-radius:18px!important;background:linear-gradient(145deg,#f8fbff,#eef6fd)!important;box-shadow:0 10px 24px rgba(15,45,92,.07)}
.schedule-builder-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.schedule-builder-heading strong{display:block;color:var(--cr2j-navy);font-size:1rem;font-weight:900}.schedule-builder-heading span{color:#64748b;font-size:.78rem}.schedule-builder-badge{display:inline-grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:12px;background:var(--cr2j-navy);color:#fff!important;font-weight:950}
.schedule-builder-grid{gap:.85rem!important}.schedule-builder-field,.schedule-builder-full{position:relative;margin:0!important;padding:.85rem;border:1px solid #d3e1ed;border-radius:14px;background:#fff}.schedule-builder-field>span,.schedule-builder-full legend{display:block;margin-bottom:.45rem;color:#35526d;font-size:.74rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.schedule-builder-field .form-control{min-height:46px;border-color:#aec6da;border-radius:10px}.schedule-builder-field textarea.form-control{min-height:78px;resize:vertical}
.schedule-time-presets{display:flex;flex-wrap:wrap;gap:.38rem;margin:.58rem 0 .15rem}.schedule-time-preset{min-height:34px;padding:.35rem .58rem;border:1px solid #9db8cf;border-radius:999px;background:#f4f9fd;color:#174f7c;font-size:.76rem;font-weight:850;cursor:pointer}.schedule-time-preset.is-selected{border-color:var(--cr2j-navy);background:var(--cr2j-navy);color:#fff}.schedule-time-preset:focus-visible{outline:3px solid rgba(34,139,230,.2);outline-offset:1px}
.schedule-weekday-grid{gap:.48rem!important}.schedule-weekday-option{position:relative;justify-content:center;min-height:46px!important;border-radius:11px!important;cursor:pointer}.schedule-weekday-option:has(input:checked){border-color:var(--cr2j-blue);background:#eaf4ff;color:var(--cr2j-navy);box-shadow:inset 0 0 0 1px var(--cr2j-blue)}.schedule-builder-submit{display:flex;align-items:center;justify-content:space-between;gap:1rem}.schedule-builder-submit small{color:#607286}.schedule-builder-submit .btn{min-height:46px;border-radius:11px;font-weight:850}

@media(max-width:991.98px){
  .activities-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activities-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.activities-filter-bar .btn{width:100%}.activity-modern-card{grid-template-columns:70px minmax(0,1fr)}.activity-modern-actions{grid-column:2;grid-template-columns:auto auto;justify-content:start;align-items:center}.pbf-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pbf-deadline-grid,.pbf-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pbf-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pbf-filter-grid .btn{width:100%}
}
@media(max-width:767.98px){
  .activities-topline{align-items:stretch;flex-direction:column}.activities-agenda-link{text-align:center}.activities-hero{grid-template-columns:1fr}.activities-hero-orbit{display:none}.activities-stat-grid,.activities-filter-bar{grid-template-columns:1fr 1fr}.acolhe-section-heading{align-items:flex-start;flex-direction:column}.activities-create-actions{align-items:stretch;flex-direction:column}.activities-primary-action{width:100%}.visit-tabs-technical-row{align-items:stretch;flex-direction:column}.visit-tabs-technical-row .visit-technical-tabs-label{margin:0 0 .2rem}.schedule-builder-submit{align-items:stretch;flex-direction:column}.schedule-builder-submit .btn{width:100%}
}
@media(max-width:575.98px){
  .activities-modern-page,.visits-page .content,.conditionalities-page{padding-left:1rem!important;padding-right:1rem!important}.activities-hero{padding:1.05rem;border-radius:18px}.activities-quick-index{display:grid;grid-template-columns:1fr}.activities-stat-grid,.activities-filter-bar{grid-template-columns:1fr}.activity-modern-card{grid-template-columns:58px minmax(0,1fr);gap:.7rem;padding:.72rem}.activity-date-tile{min-height:64px}.activity-modern-actions{grid-column:1/-1;grid-template-columns:1fr auto;justify-content:stretch}.activity-modern-actions .btn{width:auto}.activities-form-block{padding:.85rem}.visits-page .visit-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.visits-page .visit-summary-card{min-height:66px!important}.pbf-summary-grid,.pbf-deadline-grid,.pbf-detail-grid,.pbf-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.conditionalities-page .control-card{padding:.8rem}.conditionalities-page .user-center-section-header{align-items:flex-start;flex-direction:column}.admin-hub-clean-page .admin-hub-directory-toggle{font-size:.84rem!important}.schedule-builder-card{padding:.75rem!important}.schedule-builder-field,.schedule-builder-full{padding:.7rem}.schedule-weekday-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ===== Origem consolidada: cr3_visual_system.css ===== */
/* AcolheMGA v0.96 CR 3 — correções visuais prioritárias e padronização responsiva. */
:root{
  --cr3-navy:#0f2d5c;
  --cr3-blue:#1d4e89;
  --cr3-sky:#2f80d1;
  --cr3-line:#1d6fbe;
  --cr3-border:#cadbea;
  --cr3-ink:#173a5f;
  --cr3-muted:#61758a;
}

/* Menu: itens-filhos pertencem ao domínio do item-pai; não são cards. */
.mobile-offcanvas-domain-group{display:block;margin:0;padding:0;}
.mobile-offcanvas-domain-group>.mobile-offcanvas-link{margin-bottom:0!important;}
.mobile-offcanvas-domain-group>.mobile-offcanvas-sublink,
.mobile-offcanvas-domain-group>.mobile-offcanvas-sublink.mobile-offcanvas-sublink-dark{
  position:relative;
  display:flex!important;
  align-items:center;
  width:auto!important;
  min-height:28px!important;
  margin:-.12rem .55rem .18rem 3.72rem!important;
  padding:.12rem .3rem .2rem .78rem!important;
  border:0!important;
  border-left:2px solid rgba(255,255,255,.26)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:rgba(255,255,255,.78)!important;
  font-size:.78rem!important;
  font-weight:760!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-align:left!important;
  text-decoration:none!important;
  text-transform:none!important;
}
.mobile-offcanvas-domain-group>.mobile-offcanvas-sublink::before{
  content:"";
  position:absolute;
  left:-4px;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#87b8e8;
  transform:translateY(-50%);
}
.mobile-offcanvas-domain-group>.mobile-offcanvas-sublink:hover,
.mobile-offcanvas-domain-group>.mobile-offcanvas-sublink:focus-visible,
.mobile-offcanvas-domain-group>.mobile-offcanvas-sublink.active{
  border-left-color:#f2c94c!important;
  background:transparent!important;
  color:#fff!important;
  outline:0!important;
}
.mobile-offcanvas-domain-group>.mobile-offcanvas-sublink.active::before{background:#f2c94c;box-shadow:0 0 0 3px rgba(242,201,76,.14);}

/* Contrato de títulos: título de página fora de cards, caixa normal e mesma escala. */
.activities-page .page-title.page-title-with-icon,
.visits-page .visit-main-title,
.visits-page .visit-main-title>span,
.visits-page .visit-main-title>.acolhe-page-title-text{
  color:var(--cr3-navy)!important;
  font-size:clamp(1.42rem,2.4vw,1.62rem)!important;
  font-weight:900!important;
  line-height:1.08!important;
  letter-spacing:-.022em!important;
  text-transform:none!important;
}
.activities-page .activities-topline{
  margin-bottom:.8rem!important;
  padding-bottom:.72rem!important;
  border-bottom:1px solid #d4e1ec;
}
.activities-page .activities-topline+.alert,
.activities-page .activities-topline+.activities-hero,
.activities-page .activities-topline+.alert+.activities-hero{margin-top:0!important;}

/* Subtítulos de seção: mesma hierarquia da Linha do tempo, com linha azul. */
.acolhe-section-heading h2,
.visit-source-heading h2,
.visits-page .visit-filter-subtitle,
.visits-page .visit-form-card>h2,
.admin-hub-clean-page .control-card-header-row>h2{
  display:block!important;
  margin:0!important;
  padding:0 0 .42rem!important;
  border-bottom:4px solid var(--cr3-line)!important;
  color:var(--cr3-navy)!important;
  font-size:clamp(1.42rem,2.4vw,1.62rem)!important;
  font-weight:900!important;
  line-height:1.18!important;
  letter-spacing:-.012em!important;
  text-transform:none!important;
}

/* Visitas: página compacta e dois grupos com exatamente o mesmo componente. */
.visits-page .content{
  max-width:1500px;
  margin:0 auto;
  padding-left:calc(clamp(1rem,2.4vw,2rem) + 1px)!important;
  padding-right:clamp(1rem,2.4vw,2rem)!important;
}
.visits-page .visit-main-title{margin-bottom:.78rem!important;}
.visits-page .visit-intro-box{
  margin:0 0 .65rem!important;
  padding:.7rem .82rem!important;
  border:1px solid #d4e2ef!important;
  border-left:4px solid var(--cr3-sky)!important;
  border-radius:13px!important;
  background:#f8fbfe!important;
  box-shadow:none!important;
}
.visits-page .visit-intro-box h2{
  margin:0 0 .28rem!important;
  padding:0!important;
  border:0!important;
  color:var(--cr3-navy)!important;
  font-size:1rem!important;
  font-weight:900!important;
  line-height:1.18!important;
  text-transform:none!important;
}
.visits-page .visit-intro-box p{margin:0!important;color:var(--cr3-muted)!important;font-size:.79rem!important;line-height:1.42!important;}
.visits-page .visit-summary-grid{gap:.42rem!important;margin:0 0 .65rem!important;}
.visits-page .visit-summary-card{
  min-height:56px!important;
  padding:.44rem .58rem!important;
  border-radius:11px!important;
  border-left-width:4px!important;
  box-shadow:0 3px 10px rgba(15,45,92,.045)!important;
}
.visits-page .visit-summary-card span{min-height:0!important;margin:0!important;font-size:.63rem!important;font-weight:850!important;line-height:1.1!important;}
.visits-page .visit-summary-card strong{margin-top:.14rem!important;font-size:1.2rem!important;line-height:1!important;}
.visits-page .visit-quick-actions{gap:.55rem!important;margin-bottom:.78rem!important;}
.visits-page .visit-quick-actions .btn{min-height:42px!important;padding:.52rem .72rem!important;border-radius:11px!important;font-size:.86rem!important;font-weight:850!important;}
.visit-source-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem;margin:0 0 .78rem;}
.visit-source-group{
  min-width:0;
  padding:.78rem;
  border:1px solid var(--cr3-border);
  border-radius:14px;
  background:#f9fbfe;
  box-shadow:0 5px 14px rgba(15,45,92,.045);
}
.visit-source-heading{margin:0 0 .62rem;}
.visit-source-heading>span{display:block;margin:0 0 .22rem;color:#688198;font-size:.63rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase;}
.visit-source-heading h2{font-size:1rem!important;border-bottom-width:3px!important;}
.visit-source-tab-grid,
.visit-tabs.visit-source-tab-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.45rem!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.visit-source-tab-grid .visit-tab{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.45rem!important;
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  margin:0!important;
  padding:.55rem .64rem!important;
  border:1px solid #bdd1e2!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#214a70!important;
  box-shadow:0 3px 9px rgba(15,45,92,.035)!important;
  font-size:.78rem!important;
  font-weight:850!important;
  line-height:1.15!important;
  text-align:left!important;
  text-decoration:none!important;
}
.visit-source-tab-grid .visit-tab strong{
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  min-width:28px!important;
  min-height:28px!important;
  padding:.18rem .4rem!important;
  border-radius:999px!important;
  background:#edf4fa!important;
  color:var(--cr3-navy)!important;
  font-size:.72rem!important;
  font-weight:900!important;
}
.visit-source-tab-grid .visit-tab.active{
  border-color:var(--cr3-navy)!important;
  background:linear-gradient(135deg,var(--cr3-navy),var(--cr3-blue))!important;
  color:#fff!important;
  box-shadow:0 7px 14px rgba(15,45,92,.14)!important;
}
.visit-source-tab-grid .visit-tab.active strong{background:#fff!important;color:var(--cr3-navy)!important;}
.visits-page .visit-table-section{margin-left:1px!important;}

/* Painel Hub: seletor de grade com três etapas inequívocas. */
.schedule-builder-card{padding:1rem!important;border:1px solid #b9cee1!important;border-radius:17px!important;background:#f4f8fc!important;box-shadow:0 8px 20px rgba(15,45,92,.065)!important;}
.schedule-builder-heading{margin-bottom:.72rem!important;padding:0 0 .66rem;border-bottom:1px solid #ccdbe8;}
.schedule-builder-heading strong{font-size:1.05rem!important;}.schedule-builder-heading>div>span{display:block;margin-top:.12rem;color:var(--cr3-muted)!important;font-size:.77rem!important;}
.schedule-builder-badge{width:auto!important;min-width:48px!important;height:32px!important;padding:0 .48rem;border-radius:999px!important;font-size:.68rem!important;letter-spacing:.04em;}
.schedule-builder-grid{grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr)!important;gap:.65rem!important;}
.schedule-builder-field,.schedule-builder-full{padding:.72rem!important;border:1px solid #cfdeea!important;border-radius:12px!important;background:#fff!important;}
.schedule-builder-step-title{
  display:flex!important;
  align-items:center!important;
  gap:.48rem!important;
  margin:0 0 .52rem!important;
  padding:0!important;
  color:#34536f!important;
  font-size:.73rem!important;
  font-weight:900!important;
  letter-spacing:0!important;
  line-height:1.2!important;
  text-transform:none!important;
}
.schedule-builder-step-title>b{display:inline-grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:8px;background:var(--cr3-navy);color:#fff;font-size:.72rem;font-weight:950;}
.schedule-builder-field>.schedule-builder-step-title>span{display:inline!important;margin:0!important;color:inherit!important;font:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important;}
.schedule-builder-field .form-control{min-height:42px!important;border-color:#aac2d7!important;border-radius:9px!important;}
.schedule-builder-field textarea.form-control{min-height:64px!important;}
.schedule-time-presets{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(66px,1fr));gap:.35rem!important;margin:.5rem 0 .3rem!important;}
.schedule-time-preset{min-height:34px!important;padding:.32rem .46rem!important;border-radius:9px!important;background:#f4f8fc!important;}
.schedule-time-preset.is-selected{border-color:var(--cr3-navy)!important;background:var(--cr3-navy)!important;color:#fff!important;}
.schedule-time-selection-summary{display:block;margin:.35rem 0 0;color:#16613f;font-size:.72rem;font-weight:850;}
.schedule-times-help{display:block!important;margin:.18rem 0 0!important;color:#6b7c8e!important;font-size:.7rem!important;line-height:1.35!important;}
.schedule-weekday-grid{grid-template-columns:repeat(5,minmax(92px,1fr))!important;gap:.38rem!important;}
.schedule-weekday-option{min-height:40px!important;padding:.42rem .52rem!important;border-radius:9px!important;font-size:.76rem!important;}
.schedule-builder-submit{padding:.55rem 0 0!important;border:0!important;background:transparent!important;}

@media(max-width:900px){
  .visit-source-groups{grid-template-columns:1fr;}
  .schedule-builder-grid{grid-template-columns:1fr!important;}
}
@media(max-width:575.98px){
  .activities-modern-page,.visits-page .content,.conditionalities-page{padding-left:calc(1rem + 1px)!important;padding-right:1rem!important;}
  .mobile-offcanvas-domain-group>.mobile-offcanvas-sublink,
  .mobile-offcanvas-domain-group>.mobile-offcanvas-sublink.mobile-offcanvas-sublink-dark{margin-left:3.55rem!important;font-size:.76rem!important;}
  .visits-page .visit-intro-box{padding:.62rem .7rem!important;}
  .visits-page .visit-summary-card{min-height:54px!important;padding:.4rem .5rem!important;}
  .visit-source-group{padding:.66rem;}
  .visit-source-tab-grid .visit-tab{min-height:46px!important;padding:.5rem .56rem!important;font-size:.74rem!important;}
  .schedule-builder-card{padding:.72rem!important;}
  .schedule-weekday-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .schedule-builder-submit{align-items:stretch!important;}
  .schedule-builder-submit .btn{width:100%;}
}

/* ===== Origem consolidada: cr3a_component_system.css ===== */
/* AcolheMGA v0.96 CR 3a — gramática visual por níveis e componentes operacionais. */
:root{
  --cr3a-navy:#0f2d5c;
  --cr3a-blue:#1d4e89;
  --cr3a-accent:#1d6fbe;
  --cr3a-border:#cfdeea;
  --cr3a-soft:#f6f9fc;
  --cr3a-muted:#64778a;
  --cr3a-radius:16px;
  --cr3a-radius-control:10px;
  --cr3a-shadow:0 7px 20px rgba(15,45,92,.06);
}

/* Largura e ritmo comuns somente nos módulos operacionais auditados. */
.admin-page .content,
.benefits-page .content,
.reports-page-body .content,
.registration-page .content,
.maintenance-suite-page .content,
.technical-center-page .content{
  max-width:1500px;
  margin-right:auto;
  margin-left:auto;
}

/* Nível 1: títulos de página preservam o contrato existente. */
.admin-page-heading,
.page-heading-row{
  align-items:flex-start!important;
  margin-bottom:1rem!important;
  padding-bottom:.85rem;
  border-bottom:1px solid #d7e3ed;
}
.admin-page-heading>div:first-child,
.page-heading-row>div:first-child{min-width:0;}
.admin-page-heading p,
.page-heading-row p{margin-top:.3rem;color:var(--cr3a-muted)!important;font-size:.86rem;line-height:1.42;}

/* Nível 2: seções principais recebem a linha azul da Linha do Tempo. */
.admin-page .admin-section-title,
.maintenance-suite-page .control-card>h2,
.benefits-page .benefits-main-header h2,
.reports-page .report-section-title,
.registration-page .registration-add-header h2{
  display:block!important;
  width:100%!important;
  margin:1.35rem 0 .72rem!important;
  padding:0 0 .42rem!important;
  border:0!important;
  border-bottom:4px solid var(--cr3a-accent)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--cr3a-navy)!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:clamp(1.32rem,2.2vw,1.55rem)!important;
  font-weight:900!important;
  line-height:1.12!important;
  letter-spacing:-.018em!important;
  text-align:left!important;
  text-transform:none!important;
}
.benefits-page .benefits-main-header h2,
.registration-page .registration-add-header h2{margin:0!important;}

/* Nível 3: títulos internos de card não competem com a seção. */
.admin-page .control-card>h2,
.admin-page .control-card-header-row h2,
.technical-center-page .control-card h2,
.technical-center-page .admin-tool-card h2,
.maintenance-suite-page .maintenance-suite-card strong{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--cr3a-navy)!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:1rem!important;
  font-weight:850!important;
  line-height:1.28!important;
  letter-spacing:-.006em!important;
  text-align:left!important;
  text-transform:none!important;
}
.admin-page .control-card-header-row{align-items:flex-start!important;margin-bottom:.65rem;}
.admin-page .control-card-header-row>div:first-child{min-width:0;flex:1 1 320px;}
.admin-page .control-card-header-row p{margin-top:.2rem!important;font-size:.8rem;line-height:1.4;}
.admin-page.maintenance-suite-page .control-card>h2{
  display:block!important;
  width:100%!important;
  margin:0 0 .72rem!important;
  padding:0 0 .42rem!important;
  border:0!important;
  border-bottom:4px solid var(--cr3a-accent)!important;
  border-radius:0!important;
  color:var(--cr3a-navy)!important;
  font-size:clamp(1.25rem,2vw,1.48rem)!important;
  font-weight:900!important;
}

/* Superfícies: mesma borda, raio e profundidade, com cores funcionais preservadas. */
.admin-page .control-card,
.technical-center-page .control-card,
.conditionalities-page .control-card,
.benefits-page .benefits-main-card,
.maintenance-suite-page .control-card,
.registration-page .registration-search-card,
.registration-page .registration-empty-state{
  border:1px solid var(--cr3a-border)!important;
  border-radius:var(--cr3a-radius)!important;
  background:#fff;
  box-shadow:var(--cr3a-shadow)!important;
}
.admin-page .control-card,
.technical-center-page .control-card,
.maintenance-suite-page .control-card{padding:clamp(.85rem,1.8vw,1.08rem)!important;}
.admin-page .control-grid{gap:.8rem!important;align-items:start;}

/* Filtros: a mesma superfície, controles e espaçamento em todos os módulos. */
.acolhe-filter-bar,
.benefits-page .institutional-filter,
.reports-page .institutional-filter,
.conditionalities-page .pbf-filter-grid,
.activities-page .activities-filter-bar,
.visits-page .visit-filter-card{
  gap:.55rem!important;
  margin-bottom:.9rem!important;
  padding:.78rem!important;
  border:1px solid var(--cr3a-border)!important;
  border-radius:14px!important;
  background:var(--cr3a-soft)!important;
  box-shadow:none!important;
}
.registration-page .acolhe-filter-surface{
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.acolhe-filter-bar .form-control,
.benefits-page .institutional-filter .form-control,
.reports-page .institutional-filter .form-control,
.conditionalities-page .pbf-filter-grid .form-control,
.activities-page .activities-filter-bar .form-control,
.visits-page .visit-filter-card .form-control{
  min-height:42px!important;
  margin:0!important;
  border:1px solid #afc5d8!important;
  border-radius:var(--cr3a-radius-control)!important;
  background:#fff!important;
  color:#213f5b!important;
  box-shadow:none!important;
}
.acolhe-filter-bar label,
.benefits-page .institutional-filter label,
.reports-page .institutional-filter label{
  margin:0 .1rem 0 0!important;
  color:#405d77!important;
  font-size:.74rem!important;
  font-weight:850!important;
}
.acolhe-filter-bar .ml-2,
.acolhe-filter-bar .ml-3,
.benefits-page .institutional-filter .ml-2,
.reports-page .institutional-filter .ml-2{margin-left:0!important;}

/* Ações: altura e raio por tamanho; significado cromático permanece intacto. */
.admin-page .content .btn:not(.btn-sm),
.benefits-page .content .btn:not(.btn-sm),
.reports-page-body .content .btn:not(.btn-sm),
.registration-page .content .btn:not(.btn-sm),
.conditionalities-page .btn:not(.btn-sm),
.activities-page .btn:not(.btn-sm),
.visits-page .btn:not(.btn-sm),
.maintenance-suite-page .btn:not(.btn-sm),
.technical-center-page .btn:not(.btn-sm){
  min-height:42px;
  padding:.5rem .78rem;
  border-radius:var(--cr3a-radius-control)!important;
  font-size:.83rem;
  font-weight:800;
  line-height:1.2;
}
.admin-page .content .btn-sm,
.benefits-page .content .btn-sm,
.reports-page-body .content .btn-sm,
.conditionalities-page .btn-sm,
.maintenance-suite-page .btn-sm,
.technical-center-page .btn-sm{
  min-height:34px;
  padding:.34rem .58rem;
  border-radius:8px!important;
  font-size:.74rem;
  font-weight:800;
}

/* Tabelas administrativas e operacionais: moldura, cabeçalho e leitura comuns. */
.admin-page .table-responsive,
.conditionalities-page .table-responsive,
.benefits-page .acolhe-table-shell,
.registration-page .registration-results-wrap,
.technical-center-page .technical-runtime-table-wrap,
.maintenance-probe-page .table-responsive{
  border:1px solid var(--cr3a-border)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:auto!important;
}
.admin-page .table-responsive>.table,
.conditionalities-page .table-responsive>.table,
.benefits-page .acolhe-table-shell>.table,
.registration-page .registration-results-wrap>.table,
.technical-center-page .technical-runtime-table-wrap>.table,
.maintenance-probe-page .table-responsive>.table{margin-bottom:0!important;}
.admin-page .control-table thead th,
.conditionalities-page .pbf-occurrence-table thead th,
.technical-center-page .technical-runtime-table thead th,
.maintenance-probe-page .maintenance-probe-table thead th{
  padding:.62rem .68rem!important;
  border-color:#173f69!important;
  background:linear-gradient(135deg,#123a70,#1d4e89)!important;
  color:#fff!important;
  font-size:.68rem!important;
  font-weight:900!important;
  letter-spacing:.045em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  white-space:nowrap;
}
.admin-page .control-table tbody td,
.conditionalities-page .pbf-occurrence-table tbody td,
.technical-center-page .technical-runtime-table tbody td,
.maintenance-probe-page .maintenance-probe-table tbody td{
  padding:.58rem .66rem!important;
  border-color:#dce6ef!important;
  color:#334e68;
  font-size:.77rem;
  line-height:1.35;
  vertical-align:middle!important;
}
.admin-page .control-table tbody tr:nth-child(even)>td,
.conditionalities-page .pbf-occurrence-table tbody tr:nth-child(even)>td,
.technical-center-page .technical-runtime-table tbody tr:nth-child(even)>td,
.maintenance-probe-page .maintenance-probe-table tbody tr:nth-child(even)>td{background:#f8fbfd;}

/* Estados vazios: uma única linguagem, inclusive dentro de tabelas. */
.acolhe-empty-state,
.registration-page .registration-empty-state,
.conditionalities-page #pbfOccurrences>p.text-muted,
.activities-page .activities-empty-state{
  display:grid!important;
  place-items:center;
  gap:.22rem;
  min-height:82px;
  margin:.72rem 0 0!important;
  padding:.9rem!important;
  border:1px dashed #aebfd0!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  color:#617386!important;
  font-size:.8rem!important;
  line-height:1.4;
  text-align:center!important;
  box-shadow:none!important;
}
.acolhe-empty-state strong,
.registration-page .registration-empty-state h2,
.activities-page .activities-empty-state strong{color:var(--cr3a-navy)!important;font-size:.92rem!important;font-weight:900!important;}
.acolhe-table-empty,
.benefits-page .benefits-empty-row td{
  height:76px!important;
  padding:1rem!important;
  background:#f8fafc!important;
  color:#697a8c!important;
  font-size:.78rem!important;
  font-weight:750!important;
  text-align:center!important;
}

/* Alertas e badges compartilham geometria, sem trocar sua semântica de cor. */
.admin-page .alert,
.benefits-page .alert,
.reports-page-body .alert,
.registration-page .alert,
.conditionalities-page .alert,
.activities-page .alert,
.visits-page .alert,
.maintenance-suite-page .alert,
.technical-center-page .alert{
  padding:.72rem .86rem!important;
  border-width:1px 1px 1px 4px!important;
  border-radius:12px!important;
  font-size:.8rem;
  line-height:1.45;
  box-shadow:none!important;
}
.badge,.probe-badge{border-radius:999px!important;font-weight:850!important;letter-spacing:.01em!important;}

/* Painel e Centro Técnico: cards de navegação pertencem à mesma família. */
.maintenance-suite-page .maintenance-suite-grid,
.technical-center-page .technical-center-map-grid,
.technical-center-page .technical-center-grid{gap:.72rem!important;}
.maintenance-suite-page .maintenance-suite-card,
.technical-center-page .admin-tool-card,
.technical-center-page .maintenance-action-card{
  min-height:132px!important;
  padding:.9rem!important;
  border:1px solid var(--cr3a-border)!important;
  border-top:4px solid var(--cr3a-accent)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--cr3a-navy)!important;
  box-shadow:0 5px 15px rgba(15,45,92,.05)!important;
}
.maintenance-suite-page .maintenance-suite-card:hover,
.technical-center-page .admin-tool-card:hover,
.technical-center-page .maintenance-action-card:hover{
  border-color:#9bbad4!important;
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(15,45,92,.09)!important;
}
.maintenance-suite-page .maintenance-suite-card span,
.technical-center-page .admin-tool-card p,
.technical-center-page .maintenance-action-card p{color:var(--cr3a-muted)!important;font-size:.78rem!important;line-height:1.42!important;}

@media(max-width:767.98px){
  .admin-page .content,
  .benefits-page .content,
  .reports-page-body .content,
  .registration-page .content,
  .maintenance-suite-page .content,
  .technical-center-page .content{padding-right:1rem!important;padding-left:calc(1rem + 1px)!important;}
  .admin-page-heading,.page-heading-row{flex-direction:column!important;gap:.65rem!important;}
  .admin-version-pill,.health-unit-box{align-self:flex-start;padding:.45rem .65rem!important;font-size:.74rem;}
  .acolhe-filter-bar,
  .benefits-page .institutional-filter,
  .reports-page .institutional-filter{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important;}
  .acolhe-filter-bar .form-control,
  .acolhe-filter-bar .btn,
  .acolhe-filter-bar a.btn,
  .benefits-page .institutional-filter .form-control,
  .benefits-page .institutional-filter .btn,
  .reports-page .institutional-filter .form-control,
  .reports-page .institutional-filter .btn{width:100%!important;max-width:none!important;margin:0!important;}
  .admin-page .control-card,
  .technical-center-page .control-card,
  .maintenance-suite-page .control-card{padding:.78rem!important;}
  .admin-page .control-card-header-row{flex-direction:column!important;align-items:stretch!important;}
  .admin-page .control-card-header-row>.btn,
  .admin-page .control-card-header-row>div+.btn{width:100%;}
}

/* ===== Origem consolidada: cr3b_operational_documents.css ===== */
/* AcolheMGA v0.96 CR 3b — documentos, prazos e mobilização. */
.conditionalities-page .pbf-operational-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin-top:1rem}
.conditionalities-page .pbf-operational-panel{min-width:0;border:1px solid #d6e2ec;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbfd);padding:1rem;box-shadow:0 8px 24px rgba(18,58,112,.06)}
.conditionalities-page .pbf-operational-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:3px solid #2583d8;padding-bottom:.65rem;margin-bottom:1rem}
.conditionalities-page .pbf-operational-heading span{display:block;color:#61758a;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.conditionalities-page .pbf-operational-heading h3{font-size:1.05rem!important;line-height:1.25!important;margin:.18rem 0 0!important;color:#123a70!important;text-transform:none!important}
.conditionalities-page .pbf-operational-heading b{white-space:nowrap;border-radius:999px;background:#eaf4ff;color:#174f89;padding:.3rem .58rem;font-size:.75rem}
.conditionalities-page .pbf-deadline-form,.conditionalities-page .pbf-document-form{background:#f2f7fb;border:1px solid #dbe7f0;border-radius:14px;padding:.85rem;margin-bottom:.9rem}
.conditionalities-page .pbf-deadline-list,.conditionalities-page .pbf-document-list{display:grid;gap:.7rem}
.conditionalities-page .pbf-deadline-list>article,.conditionalities-page .pbf-document-list>article{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;border:1px solid #d9e4ed;border-left:4px solid #6b7f92;border-radius:13px;background:#fff;padding:.8rem}
.conditionalities-page .pbf-deadline-list>article.is-active,.conditionalities-page .pbf-document-list>article.is-active{border-left-color:#2388d8}
.conditionalities-page .pbf-document-list>article.is-voided{border-left-color:#a43b49;background:#fff7f8;opacity:.82}
.conditionalities-page .pbf-deadline-list span,.conditionalities-page .pbf-document-list span{display:block;color:#607489;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.conditionalities-page .pbf-deadline-list strong,.conditionalities-page .pbf-document-list strong{display:block;color:#173d6b;margin:.1rem 0}
.conditionalities-page .pbf-deadline-list small,.conditionalities-page .pbf-document-list small{display:block;color:#66788b}
.conditionalities-page .pbf-deadline-list p,.conditionalities-page .pbf-document-list p{margin:.4rem 0 0;font-size:.82rem}
.conditionalities-page .pbf-document-list code{display:block;margin-top:.35rem;color:#526579;font-size:.7rem;word-break:break-all}
.conditionalities-page .pbf-deadline-close-form,.conditionalities-page .pbf-document-actions{display:grid;gap:.4rem;min-width:150px}
.conditionalities-page .pbf-document-actions form{display:grid;gap:.35rem}
.activity-detail-page .activity-contact-details{margin-top:.45rem;min-width:190px}
.activity-detail-page .activity-contact-details summary{cursor:pointer;color:#1b65a7;font-size:.78rem;font-weight:800}
.activity-detail-page .activity-contact-form,.activity-detail-page .activity-status-form{display:grid;gap:.35rem;margin-top:.45rem;min-width:180px}
.activity-detail-page .activity-contact-form .d-flex{gap:.3rem}
.activity-detail-page .activity-participant-table td{vertical-align:top!important}
@media(max-width:991.98px){.conditionalities-page .pbf-operational-grid{grid-template-columns:1fr}.conditionalities-page .pbf-deadline-list>article,.conditionalities-page .pbf-document-list>article{flex-direction:column}.conditionalities-page .pbf-deadline-close-form,.conditionalities-page .pbf-document-actions{width:100%}}
@media(max-width:575.98px){.conditionalities-page .pbf-operational-panel{padding:.75rem;border-radius:14px}.conditionalities-page .pbf-operational-heading{align-items:center}.activity-detail-page .activity-contact-form,.activity-detail-page .activity-status-form{min-width:210px}}

/* ===== Origem consolidada: cr3c_report_editing.css ===== */
/* AcolheMGA v0.96 CR 3c — correção controlada de relatos. */
.report-card-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(24,82,139,.16)}
.report-card-actions small{color:#60758c;font-weight:600}
.report-edit-link{border-radius:999px!important;font-weight:750;padding:.36rem .85rem}
.report-edit-page{max-width:1040px;margin:0 auto;width:100%}
.report-edit-card{border-left:7px solid #18528b!important;box-shadow:0 14px 34px rgba(12,48,84,.09)}
.report-edit-card .institutional-section-title{margin-bottom:.25rem}
.report-edit-rules{border-radius:16px;border:1px solid #b9dcf3;background:#edf8ff;color:#173f66}
.report-edit-form textarea{min-height:300px;line-height:1.62;resize:vertical}
.report-edit-form .user-center-edit-actions{display:flex;gap:.65rem;flex-wrap:wrap}
@media (max-width:720px){
  .report-edit-page{padding:1rem!important}
  .report-edit-card{padding:1rem!important}
  .report-edit-card .user-center-section-header{align-items:flex-start;gap:.7rem}
  .report-edit-form textarea{min-height:360px}
  .report-edit-form .user-center-edit-actions>*{width:100%}
}

/* ===== CR 3d — contrato canônico para toda a interface operacional ===== */
:root{
  --acolhe-color-navy:#0f2d5c;
  --acolhe-color-blue:#1d6fbe;
  --acolhe-color-sky:#2f80d1;
  --acolhe-color-ink:#173a5f;
  --acolhe-color-muted:#61758a;
  --acolhe-color-border:#cfdeea;
  --acolhe-color-soft:#f6f9fc;
  --acolhe-color-surface:#fff;
  --acolhe-color-success:#16895b;
  --acolhe-color-warning:#d6a700;
  --acolhe-color-danger:#b23a3a;
  --acolhe-radius-control:10px;
  --acolhe-radius-card:16px;
  --acolhe-radius-section:20px;
  --acolhe-shadow-card:0 7px 20px rgba(15,45,92,.06);
  --acolhe-space-1:.25rem;
  --acolhe-space-2:.5rem;
  --acolhe-space-3:.75rem;
  --acolhe-space-4:1rem;
  --acolhe-space-5:1.25rem;
  --acolhe-space-6:1.5rem;
  --acolhe-page-width:1500px;
  --acolhe-page-padding-inline:clamp(.5rem,1.2vw,1rem);
  --acolhe-page-padding-inline-mobile:1rem;
  --acolhe-section-title-size:clamp(1.32rem,2.2vw,1.55rem);
}

body:not(.presentation-body):not(.external-presentation-body) .app-shell>.content,
body:not(.presentation-body):not(.external-presentation-body) .app-shell>main.content{
  width:100%;
  max-width:var(--acolhe-page-width);
  margin-inline:auto;
  padding-inline:var(--acolhe-page-padding-inline)!important;
}

/* Nível 1: título de página fora do card, sempre em caixa normal. */
.content .page-title,
.content .page-title.page-title-with-icon,
.content .page-title.acolhe-standard-page-title,
.content .visit-main-title{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:.62rem!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--acolhe-color-navy)!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:clamp(1.42rem,2.4vw,1.62rem)!important;
  font-weight:900!important;
  line-height:1.08!important;
  letter-spacing:-.022em!important;
  text-align:left!important;
  text-transform:none!important;
}
.content .page-title::after,
.content .page-title.page-title-with-icon::after,
.content .page-title.acolhe-standard-page-title::after{content:none!important;display:none!important;}
.admin-page-heading,.page-heading-row,.activities-topline,.visit-page-heading{
  align-items:flex-start!important;
  margin:0 0 var(--acolhe-space-4)!important;
  padding:0 0 .85rem!important;
  border-bottom:1px solid #d7e3ed!important;
}

/* Nível 2: seção equivalente à Linha do Tempo, com a mesma linha azul. */
.content .institutional-section-title,
.content .user-timeline-title,
.content .admin-section-title,
.content .report-section-title,
.content .visit-source-heading h2,
.content .visit-filter-subtitle,
.content .acolhe-section-heading h2,
.content .visit-intro-box h2,
.content .visit-table-header h2,
.content .user-center-section-header h2:not(.user-timeline-title),
.content .admin-hub-heading h2,
.admin-page .content .control-card>h2,
.maintenance-suite-page .content .control-card>h2,
.benefits-page .content .benefits-main-header h2,
.registration-page .content .registration-add-header h2,
.visits-page .content .visit-form-card>h2,
.content .initial-setup-section>.initial-setup-heading-row h2,
.content .installer-section-title{
  display:block!important;
  width:100%!important;
  margin:0 0 .72rem!important;
  padding:0 0 .42rem!important;
  border:0!important;
  border-bottom:4px solid var(--acolhe-color-blue)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--acolhe-color-navy)!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:var(--acolhe-section-title-size)!important;
  font-weight:900!important;
  line-height:1.12!important;
  letter-spacing:-.018em!important;
  text-align:left!important;
  text-transform:none!important;
}

/* Nível 3: título interno de card, menor que o título da seção. */
.content .control-card>h2:not(.institutional-section-title):not(.installer-section-title),
.content .control-card-header-row h2,
.content .initial-technician-card h3,
.content .maintenance-suite-card strong,
.content .card-title{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--acolhe-color-navy)!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:1rem!important;
  font-weight:850!important;
  line-height:1.28!important;
  letter-spacing:-.006em!important;
  text-align:left!important;
  text-transform:none!important;
}

.content .control-card,
.content .acolhe-surface-card,
.content .maintenance-suite-card,
.content .initial-technician-card,
.content .installer-preflight-card{
  border:1px solid var(--acolhe-color-border)!important;
  border-radius:var(--acolhe-radius-card)!important;
  background:var(--acolhe-color-surface)!important;
  box-shadow:var(--acolhe-shadow-card)!important;
}
.content .form-control,
.content .custom-select,
.content select.form-control,
.content textarea.form-control{
  min-height:42px;
  border-color:#b9cde0;
  border-radius:var(--acolhe-radius-control);
  background-color:#fff;
  color:var(--acolhe-color-ink);
}
.content .form-control:focus,.content .custom-select:focus{
  border-color:var(--acolhe-color-blue);
  box-shadow:0 0 0 .16rem rgba(29,111,190,.14);
}
.content .btn:not(.btn-sm){min-height:42px;border-radius:var(--acolhe-radius-control);font-weight:800;}
.content .btn-sm{min-height:34px;border-radius:9px;font-weight:800;}
.content .table-responsive,.content .acolhe-table-shell{
  overflow:auto;
  border:1px solid var(--acolhe-color-border);
  border-radius:var(--acolhe-radius-card);
  background:#fff;
}
.content table thead th{
  background:#123a70;
  color:#fff;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.015em;
  text-transform:none;
}

/* Instalador: progresso, pré-verificação e equipe. */
.unit-installer-page .installer-progress{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  margin:0 0 var(--acolhe-space-5);
  border:1px solid var(--acolhe-color-border);
  border-radius:var(--acolhe-radius-card);
  background:var(--acolhe-color-border);
}
.unit-installer-page .installer-progress>span{
  display:flex;
  align-items:center;
  gap:.48rem;
  min-height:54px;
  padding:.72rem .82rem;
  background:#f8fbfe;
  color:var(--acolhe-color-muted);
  font-size:.78rem;
  font-weight:800;
}
.unit-installer-page .installer-progress b{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#dceaf7;
  color:var(--acolhe-color-navy);
}
.unit-installer-page .installer-progress .is-current{background:#eaf4ff;color:var(--acolhe-color-navy);}
.unit-installer-page .installer-progress .is-current b{background:var(--acolhe-color-blue);color:#fff;}
.installer-preflight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.65rem;}
.installer-preflight-card{display:flex;align-items:flex-start;gap:.65rem;padding:.8rem .9rem;}
.installer-preflight-card>span{flex:0 0 auto;display:grid;place-items:center;width:25px;height:25px;border-radius:999px;font-weight:900;}
.installer-preflight-card.is-pass>span{background:#dcf5e9;color:#11633f;}
.installer-preflight-card.is-fail>span{background:#fde8e8;color:#922b2b;}
.installer-preflight-card strong,.installer-preflight-card small{display:block;}
.installer-preflight-card small{margin-top:.18rem;color:var(--acolhe-color-muted);line-height:1.35;}
.initial-setup-form{display:grid;gap:var(--acolhe-space-4);}
.initial-setup-section{padding:clamp(.9rem,2vw,1.2rem)!important;}
.initial-setup-unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;}
.initial-setup-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;}
.initial-technician-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.8rem;}
.initial-technician-card{padding:.9rem;}
.initial-technician-card-head{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:.7rem;}
.initial-technician-pair{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;}
.initial-weekdays{display:flex;flex-wrap:wrap;gap:.48rem;margin:.7rem 0;padding:.7rem;border:1px solid #dbe6ef;border-radius:12px;background:#f8fbfe;}
.initial-weekdays legend{width:100%;margin:0;font-size:.76rem;font-weight:850;color:var(--acolhe-color-muted);}
.initial-setup-final{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem!important;}

@media(max-width:767.98px){
  body:not(.presentation-body):not(.external-presentation-body) .app-shell>.content,
  body:not(.presentation-body):not(.external-presentation-body) .app-shell>main.content{padding-inline:var(--acolhe-page-padding-inline-mobile)!important;}
  .unit-installer-page .installer-progress{grid-template-columns:1fr 1fr;}
  .initial-setup-unit-grid,.initial-technician-pair{grid-template-columns:1fr;}
  .initial-setup-heading-row,.initial-setup-final{align-items:stretch;flex-direction:column;}
  .initial-setup-heading-row .btn,.initial-setup-final .btn{width:100%;}
}

/* Família RMA: uma competência, uma barra de ações e uma tabela. */
.rma-page .rma-competence-filter{
  display:flex!important;
  align-items:flex-end!important;
  gap:.65rem!important;
  margin:0!important;
  padding:.82rem!important;
  border:1px solid var(--acolhe-color-border)!important;
  border-radius:var(--acolhe-radius-card)!important;
  background:var(--acolhe-color-soft)!important;
}
.rma-page .rma-competence-filter>div{flex:0 1 230px;min-width:190px;}
.rma-page .rma-competence-filter .btn{margin:0!important;}
.rma-page .content>section.mb-4>h2.h4,
.rma-page .content>section.mb-4>h2,
.rma-page .rma-section-title{
  margin:1.25rem 0 .72rem!important;
  padding:0 0 .42rem!important;
  border-bottom:4px solid var(--acolhe-color-blue)!important;
  color:var(--acolhe-color-navy)!important;
  font-size:var(--acolhe-section-title-size)!important;
  font-weight:900!important;
  line-height:1.12!important;
  text-transform:none!important;
}
.rma-review-card{margin-bottom:1rem;padding:1rem;border:1px solid var(--acolhe-color-border);border-radius:var(--acolhe-radius-card);background:#fff;box-shadow:var(--acolhe-shadow-card);}
.rma-visit-row{margin:.4rem 0;padding:.65rem;border-radius:10px;background:#f7f9fc;}
.rma-evidence{color:#53657a;font-size:.86rem;}
.rma-source-choice{display:block;margin:.45rem 0;padding:.65rem;border:1px solid #dfe7f0;border-radius:10px;background:#fbfcfe;}
.rma-code-badge{font-size:.85rem;font-weight:800;}
.rma-warning-family{padding:.55rem .7rem;border-radius:8px;background:#fff8dd;color:#805b00;font-size:.86rem;}
.rma-conf-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem;}
.rma-conf-summary>div{padding:.8rem;border:1px solid var(--acolhe-color-border);border-radius:var(--acolhe-radius-card);background:#fff;box-shadow:var(--acolhe-shadow-card);}
.rma-conf-summary strong{display:block;color:var(--acolhe-color-navy);font-size:1.5rem;}
.rma-conf-table td{font-size:.83rem;}
.rma-conf-hash{word-break:break-all;font-family:monospace;font-size:.78rem;}

/* Diagnósticos, probes e testes compartilham a mesma semântica de estado. */
.maintenance-probe-table .probe-badge,
.diagnostics-table .badge,
.health-page .badge,
.technical-tests-page .badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:.27rem .58rem;
  border-radius:999px;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.02em;
}
.probe-pass,.probe-ok,.diagnostic-row-ok .badge,.health-status-ok{color:#11633f!important;background:#dcf5e9!important;border-color:#a9dfc3!important;}
.probe-warn,.diagnostic-row-warn .badge,.health-status-warning{color:#745500!important;background:#fff3c4!important;border-color:#ead174!important;}
.probe-fail,.probe-bad,.diagnostic-row-critical .badge,.health-status-error{color:#922b2b!important;background:#fde8e8!important;border-color:#efb5b5!important;}

@media(max-width:767.98px){
  .rma-page .rma-competence-filter{align-items:stretch!important;flex-direction:column!important;}
  .rma-page .rma-competence-filter>div{flex-basis:auto;min-width:0;width:100%;}
  .rma-page .rma-competence-filter .btn{width:100%;}
}

/* CR 3d — componentes operacionais antes mantidos dentro das páginas. */
.support-panel{max-width:1120px;margin:0 auto;}
.support-card{padding:22px;border:1px solid #dbe7f4;border-radius:var(--acolhe-radius-card);background:#fff;box-shadow:var(--acolhe-shadow-card);}
.support-warning{padding:14px 16px;border-left:5px solid #b45309;border-radius:10px;background:#fff7ed;color:#7c2d12;font-weight:700;}
.support-incident{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #e8ca64;border-radius:12px;background:#fff6cf;color:#594500;}
.support-incident strong{flex:0 0 auto;color:#283c50;}
.support-incident span{line-height:1.4;}
.support-card label{color:var(--acolhe-color-navy);font-weight:800;}
.support-muted,.support-ticket-meta,.support-message-head{color:var(--acolhe-color-muted);font-size:.82rem;}
.support-ticket-list{display:grid;gap:8px;}
.support-ticket-row{display:block;padding:12px 14px;border:1px solid #dde8f5;border-radius:12px;background:#fff;color:var(--acolhe-color-navy);text-decoration:none;}
.support-ticket-row:hover,.support-ticket-row.active{border-color:#9fc4f2;background:#f4f8ff;text-decoration:none;}
.support-ticket-title{font-weight:850;}
.support-message{margin-bottom:10px;padding:12px 14px;border:1px solid #dbe7f4;border-radius:12px;background:#fff;}
.support-message-admin{border-color:#b6d4fe;background:#f4f8ff;}
.support-message-system{background:#f7f7f7;}
.support-ticket-grid{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:16px;}
.support-ticket-grid>*{min-width:0;}
.support-ticket-title,.support-message,.support-muted{overflow-wrap:anywhere;word-break:break-word;}

.health-fix-step{display:inline-flex;margin-bottom:.55rem;padding:.28rem .55rem;border-radius:999px;background:#fff1b8;color:#684f00;font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;}
.health-fix-action-card .btn{width:100%;margin-top:auto;}
.health-fix-action-card{display:flex;flex-direction:column;}
.health-partial-load-warning div,.admin-partial-load-warning div{margin-top:.28rem;overflow-wrap:anywhere;}

.devqa-hero{border-left:5px solid var(--acolhe-color-blue);}
.devqa-hero.is-production,.devqa-prod{border-left-color:#a32020;}
.devqa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;}
.devqa-card{display:flex;min-height:150px;flex-direction:column;padding:17px;border:1px solid var(--acolhe-color-border);border-radius:var(--acolhe-radius-card);background:#fff;color:inherit;text-decoration:none;}
.devqa-card:hover{border-color:#7ca8cc;box-shadow:var(--acolhe-shadow-card);}
.devqa-card strong{color:var(--acolhe-color-navy);font-size:1rem;}
.devqa-card span{margin:7px 0 12px;color:var(--acolhe-color-muted);line-height:1.45;}
.devqa-card em{margin-top:auto;color:var(--acolhe-color-blue);font-style:normal;font-weight:850;}
.devqa-confirm{margin:12px 0;padding:14px;border:1px solid #d8e0e7;border-radius:10px;background:#f7f9fb;}
.devqa-confirm code{display:block;margin:8px 0;padding:8px 10px;border-radius:7px;background:#152c40;color:#fff;font-weight:850;}
.devqa-confirm .form-check{margin-bottom:6px;}
.stress-test-item h3{font-size:1rem;font-weight:850;}
.stress-test-metrics{white-space:pre-wrap;}

.test-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;}
.test-kpi{padding:14px;border:1px solid var(--acolhe-color-border);border-radius:var(--acolhe-radius-card);background:#fff;}
.test-kpi strong{display:block;color:var(--acolhe-color-navy);font-size:1.5rem;}
.test-kpi span{color:var(--acolhe-color-muted);font-size:.82rem;}
.test-toolbar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(150px,1fr));gap:10px;}
.test-status{display:inline-flex;min-width:82px;justify-content:center;padding:4px 9px;border-radius:999px;font-size:.72rem;font-weight:850;}
.test-status.pass,.test-status.passed{background:#e0f2e6;color:#145d31;}
.test-status.warn,.test-status.partial{background:#fff0c7;color:#765700;}
.test-status.fail,.test-status.failed{background:#f8dddd;color:#8a2222;}
.test-status.skipped,.test-status.manual,.test-status.not_run{background:#edf1f4;color:#536574;}
.test-status.stale{background:#e9e1f4;color:#5d397b;}
.test-catalog-table td{vertical-align:top;}
.test-detail{min-width:360px;max-width:650px;}
.test-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;}
.test-source{padding:13px;border:1px solid var(--acolhe-color-border);border-radius:10px;}
.test-source strong,.test-source small{display:block;}
.test-source code{font-size:.75rem;}
.test-run-button{min-width:230px;}

.agenda-probe-page{margin:0;background:#f5f7fa;color:#172b4d;font-family:Arial,sans-serif;}
.agenda-probe-page .probe-shell{max-width:1500px;margin:28px auto;padding:0 18px 48px;}
.agenda-probe-page .probe-top-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.agenda-probe-page .probe-box{margin-bottom:14px;padding:18px;border:1px solid #ccd6e0;border-radius:var(--acolhe-radius-card);background:#fff;box-shadow:var(--acolhe-shadow-card);}
.agenda-probe-page .probe-box h1,.agenda-probe-page .probe-box h2{margin-top:0;}
.agenda-probe-page .probe-code{padding:2px 5px;border-radius:4px;background:#edf2f7;word-break:break-all;}
.agenda-probe-page .probe-line{margin:4px 0;font-weight:800;}
.agenda-probe-page .probe-files,.agenda-probe-page .probe-agenda-wrap{overflow-x:auto;}
.agenda-probe-page .probe-files table{min-width:850px;}
.agenda-probe-page .probe-synthetic{margin-top:12px;padding:10px;border:1px dashed #aab7c4;border-radius:6px;}
.agenda-probe-page .probe-agenda-wrap{padding-bottom:10px;}
.agenda-probe-page .probe-agenda-note{margin-bottom:12px;color:var(--acolhe-color-muted);font-size:.9rem;}
.agenda-probe-page .probe-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px 16px;}
.agenda-probe-page .probe-meta-item{padding:8px 0;border-bottom:1px solid #edf1f5;}
.agenda-probe-page .probe-date-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.agenda-probe-page .probe-date-form label{margin:0;font-weight:800;}

@media(max-width:900px){.support-ticket-grid{grid-template-columns:1fr;}}
@media(max-width:800px){.test-toolbar{grid-template-columns:1fr;}.test-detail{min-width:260px;}}
@media(max-width:768px){
  .support-page .content.p-4{padding:.75rem!important;}
  .support-panel{width:100%;max-width:100%;}
  .support-page .page-title{font-size:1.45rem!important;line-height:1.15;}
  .support-card{padding:14px 12px;border-radius:12px;}
  .support-warning{padding:10px 12px;font-size:.82rem;}
  .support-incident{display:grid;padding:11px 12px;font-size:.82rem;}
  .support-card .form-row{display:block;margin-right:0;margin-left:0;}
  .support-card .form-row>[class*=col-]{width:100%;max-width:100%;padding-right:0;padding-left:0;}
  .support-card .form-control{min-height:46px;font-size:16px;}
  .support-card textarea.form-control{min-height:150px;}
  .support-submit-button{width:100%;min-height:48px;}
  .support-ticket-row{padding:10px 11px;}
  .support-ticket-row .d-flex{display:block!important;}
  .support-ticket-row .badge{display:inline-block;margin-top:.35rem;white-space:normal;}
  .support-ticket-title{display:block;font-size:.86rem;line-height:1.25;}
  .support-ticket-meta,.support-message-head{font-size:.72rem;}
  .support-message{padding:10px 11px;font-size:.84rem;}
  .support-card h2,.support-card h3{line-height:1.2;}
  .support-card form .btn-sm{min-height:42px;padding:.55rem .8rem;}
  .support-card .d-inline-block{display:block!important;margin:0 0 .5rem!important;}
  .support-card .d-inline-block .btn{width:100%;}
  #supportDescription{min-height:120px;}
}

/* ===== CR 4: Teste Completo e padronização das famílias operacionais ===== */
.complete-test-page .content{width:100%;max-width:1480px;margin:0 auto;}
.complete-test-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.complete-test-state-card{display:flex;min-height:150px;flex-direction:column;justify-content:center;border-top:5px solid var(--acolhe-color-blue);}
.complete-test-state-card.is-fresh{border-top-color:#198754;background:linear-gradient(145deg,#fff 0%,#f2fbf5 100%);}
.complete-test-state-card.is-stale,.complete-test-state-card.has-issues{border-top-color:#d39e00;background:linear-gradient(145deg,#fff 0%,#fff9e8 100%);}
.complete-test-state-card>strong{margin:.2rem 0;color:var(--acolhe-color-navy);font-size:1.65rem;line-height:1.15;}
.complete-test-state-card>span:last-child{color:var(--acolhe-color-muted);font-size:.84rem;line-height:1.4;}
.complete-test-eyebrow{color:var(--acolhe-color-blue);font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;}
.complete-test-action-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:24px;align-items:start;}
.complete-test-action-copy{display:flex;align-items:flex-start;gap:12px;}
.complete-test-action-copy h2{margin:0 0 .35rem;color:var(--acolhe-color-navy);font-size:1.15rem;font-weight:850;}
.complete-test-step{display:inline-grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--acolhe-color-navy);color:#fff;font-weight:900;}
.complete-test-form{display:grid;gap:12px;}
.complete-test-option{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px;border:1px solid var(--acolhe-color-border);border-radius:10px;background:#f8fbff;cursor:pointer;}
.complete-test-option input{margin-top:.3rem;accent-color:var(--acolhe-color-blue);}
.complete-test-option span,.complete-test-option small{display:block;}
.complete-test-option strong{color:var(--acolhe-color-navy);}
.complete-test-option small{margin-top:3px;color:var(--acolhe-color-muted);line-height:1.35;}
.complete-test-primary{min-height:48px;font-weight:850;}
.complete-test-file-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.complete-test-file-grid>div{padding:14px;border:1px solid var(--acolhe-color-border);border-radius:10px;background:#f8fbff;}
.complete-test-file-grid strong,.complete-test-file-grid span{display:block;}
.complete-test-file-grid strong{margin-bottom:4px;color:var(--acolhe-color-navy);}
.complete-test-file-grid span{color:var(--acolhe-color-muted);font-size:.84rem;line-height:1.4;}
.complete-test-links{display:flex;flex-wrap:wrap;gap:8px;}
body.reports-page-body .content,body.benefits-page .content,body.rma-page .content{width:100%;max-width:1480px;margin-right:auto;margin-left:auto;}
body.reports-page-body .page-title,body.benefits-page .page-title,body.rma-page .page-title{color:var(--acolhe-color-navy);font-size:clamp(1.45rem,2.4vw,2rem);font-weight:850;line-height:1.15;letter-spacing:-.02em;}
body.reports-page-body .control-card,body.benefits-page .control-card,body.rma-page .control-card{border:1px solid var(--acolhe-color-border);border-radius:var(--acolhe-radius-card);box-shadow:var(--acolhe-shadow-card);}
body.rma-page .acolhe-filter-bar{padding:12px;border-radius:10px;background:#f7fbff;}
body.rma-page section>h2.h4{margin-bottom:.85rem;color:var(--acolhe-color-navy);font-size:1.08rem;font-weight:850;}
body.reports-page-body .acolhe-table-shell,body.benefits-page .acolhe-table-shell,body.rma-page .acolhe-table-shell{overflow:hidden;border:1px solid var(--acolhe-color-border);border-radius:10px;background:#fff;}
body.reports-page-body .acolhe-data-table thead th,body.benefits-page .acolhe-data-table thead th,body.rma-page .acolhe-data-table thead th{background:#edf4fb;color:var(--acolhe-color-navy);font-size:.76rem;font-weight:900;letter-spacing:.025em;}
@media(max-width:900px){.complete-test-overview,.complete-test-action-card,.complete-test-file-grid{grid-template-columns:1fr;}.complete-test-state-card{min-height:120px;}}
@media(max-width:768px){.complete-test-page .content.p-4,body.rma-page .content.p-4{padding:.85rem!important;}.complete-test-links .btn{width:100%;}body.rma-page .acolhe-filter-bar{align-items:stretch!important;}body.rma-page .acolhe-filter-bar>*{width:100%;}}

/* ===== CR 4a: títulos, descrições e cabeçalhos acessíveis das tabelas ===== */
.acolhe-table-caption{
  caption-side:top;
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  border:0!important;
  white-space:nowrap!important;
}
.acolhe-table-caption-title{
  display:block;
}
.acolhe-table-caption-description{
  display:block;
}
table[data-a11y-table-enhanced="true"] thead th{vertical-align:middle;}

/* ===== CR 4a1: revisão visual, títulos e módulos operacionais ===== */
:root{--acolhe-title-underline:#173b5f;}
.content .page-title,
.content .page-title.page-title-with-icon,
.content .page-title.acolhe-standard-page-title,
.content .visit-main-title{
  padding-bottom:.52rem!important;
  border-bottom:4px solid var(--acolhe-title-underline)!important;
}
.content .institutional-section-title,
.content .user-timeline-title,
.content .admin-section-title,
.content .report-section-title,
.content .visit-source-heading h2,
.content .visit-filter-subtitle,
.content .acolhe-section-heading h2,
.content .initial-setup-section>.initial-setup-heading-row h2,
.content .installer-section-title{
  border-bottom-color:var(--acolhe-title-underline)!important;
}
.conditionalities-page>.conditionalities-page-heading{
  gap:1rem!important;
  margin-bottom:1rem!important;
  padding:0 0 .2rem!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.conditionalities-page>.conditionalities-page-heading>div:first-child{flex:1 1 620px;min-width:0;}
.conditionalities-page>.conditionalities-page-heading .text-muted{max-width:850px;}
.pbf-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
.activities-reservation-block{padding:.75rem!important;}
@media(max-width:767.98px){
  .pbf-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .conditionalities-page>.conditionalities-page-heading{padding:.1rem 0 .2rem!important;}
}

/* ===== CR 4a2: contrato visual de formulários e identidade de contato ===== */
:root{
  --acolhe-field-label-color:#0f2d5c;
  --acolhe-field-label-size:.82rem;
  --acolhe-field-label-weight:900;
  --acolhe-field-label-spacing:.025em;
  --acolhe-cpf-bg:#f3fff6;
  --acolhe-cpf-bg-focus:#ecfff1;
  --acolhe-cpf-border:#bdeccb;
  --acolhe-cpf-border-focus:#76d895;
  --acolhe-cpf-text:#1b5e2a;
}

/* Títulos continuam sem negrito; a linha azul-escura sustenta a hierarquia. */
.content .page-title,
.content .institutional-section-title,
.content .user-timeline-title,
.content .admin-section-title,
.content .report-section-title,
.content .visit-source-heading h2,
.content .visit-filter-subtitle,
.content .acolhe-section-heading h2,
.content .initial-setup-section>.initial-setup-heading-row h2,
.content .installer-section-title{
  font-weight:500!important;
}

/* Rótulo de campo = mesmo contrato visual do Cadastro da pessoa. */
html body form :is(label,legend,.form-label):not(#acolhe-native-label-style),
html body form :is(.schedule-builder-field>span,.schedule-builder-full>legend):not(#acolhe-native-label-style){
  color:var(--acolhe-field-label-color)!important;
  font-size:var(--acolhe-field-label-size)!important;
  font-weight:var(--acolhe-field-label-weight)!important;
  letter-spacing:var(--acolhe-field-label-spacing)!important;
  text-transform:uppercase!important;
}

/* Opções, confirmações e textos corridos não são rótulos de campo. */
html body form :is(
  label:has(input[type="checkbox"]),
  label:has(input[type="radio"]),
  .form-check-label,
  .custom-control-label,
  .checkbox-line,
  .activity-technician-option,
  .activities-reservation-switch,
  .complete-test-option,
  .report-reader-item,
  .report-referral-item,
  .presentation-code-mode-option,
  .technical-toggle-row,
  .transfer-radio,
  .transfer-selection-list label,
  .transfer-category>label
):not(#acolhe-native-choice-style){
  letter-spacing:normal!important;
  text-transform:none!important;
}

/* CPF e telefone seguem a apresentação e o comportamento da Agenda Técnica. */
input.cpf-input,
input[name="cpf"],
input.family-cpf-mask{
  border-color:var(--acolhe-cpf-border)!important;
  background:var(--acolhe-cpf-bg)!important;
  color:var(--acolhe-cpf-text)!important;
  font-family:'Montserrat',Arial,sans-serif!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
}
input.cpf-input:focus,
input[name="cpf"]:focus,
input.family-cpf-mask:focus{
  border-color:var(--acolhe-cpf-border-focus)!important;
  background:var(--acolhe-cpf-bg-focus)!important;
  box-shadow:0 0 0 .12rem rgba(88,199,122,.2)!important;
}
input.phone-input,
input[name="phone"],
input[name="message_phone"],
input.concession-phone-input{
  font-family:'Montserrat',Arial,sans-serif!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
}
input.acolhe-identity-invalid:not(:focus){
  border-color:#b42318!important;
  box-shadow:0 0 0 .1rem rgba(180,35,24,.12)!important;
}
.acolhe-cpf-field{
  position:relative;
  display:block;
  width:100%;
}
.acolhe-cpf-field>.cpf-input{width:100%;padding-right:2.45rem!important;}
.acolhe-copy-cpf-btn{
  position:absolute!important;
  z-index:2;
  top:50%!important;
  right:.38rem!important;
  display:inline-flex!important;
  width:24px!important;
  min-width:24px!important;
  height:24px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  transform:translateY(-50%)!important;
  border:1px solid #0b4938!important;
  border-radius:999px!important;
  background:#0f5c46!important;
  color:#fff!important;
  box-shadow:0 2px 6px rgba(15,92,70,.18)!important;
}
.acolhe-copy-cpf-btn:hover,.acolhe-copy-cpf-btn.copied{background:#0b4938!important;}
.acolhe-copy-cpf-btn[hidden]{display:none!important;}
.acolhe-copy-cpf-btn img{width:13px!important;height:13px!important;object-fit:contain;filter:brightness(0) invert(1);}

/* ===== CR5e: início das folhas históricas consolidadas ===== */
/* Origem: cr5a_operational_harmony.css — preservada como fallback legado. */
/* AcolheMGA v0.96 CR5a
 * Ritmo de títulos e harmonização de Atividade em Grupo / Condicionalidades
 * com o contrato visual aprovado em Visitas Domiciliares.
 */

:root {
  --cr5a-navy: #0f2d5c;
  --cr5a-navy-deep: #081f3f;
  --cr5a-navy-soft: #173b5f;
  --cr5a-blue: #2f80d1;
  --cr5a-border: #cadbea;
  --cr5a-soft: #f8fbfe;
  --cr5a-muted: #61758a;
}

/* A linha do título não encosta no conteúdo seguinte. */
.content .page-title,
.content .page-title.page-title-with-icon,
.content .page-title.acolhe-standard-page-title,
.content .visit-main-title {
  margin-bottom: .82rem !important;
  padding-bottom: .56rem !important;
}

/* O contêiner do título não cria uma segunda linha nem espaço redundante. */
.activities-page .activities-topline,
.conditionalities-page > .conditionalities-page-heading {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.activities-page .activities-topline .page-title,
.conditionalities-page > .conditionalities-page-heading .page-title {
  margin-bottom: .82rem !important;
}

/* Atividade em Grupo: mesma largura, densidade e superfícies de Visitas. */
.activities-modern-body,
.conditionalities-page-body {
  background: #fff !important;
}

.activities-modern-page,
.conditionalities-page {
  width: 100%;
  max-width: 1500px !important;
  margin-inline: auto !important;
}

.activities-page .activities-hero,
.conditionalities-page .pbf-intro-box {
  display: block !important;
  overflow: visible !important;
  margin: 0 0 .65rem !important;
  padding: .7rem .82rem !important;
  border: 1px solid #d4e2ef !important;
  border-left: 4px solid var(--cr5a-blue) !important;
  border-radius: 13px !important;
  background: var(--cr5a-soft) !important;
  box-shadow: none !important;
}

.activities-page .activities-hero::after {
  content: none !important;
  display: none !important;
}

.activities-page .activities-hero-orbit {
  display: none !important;
}

.activities-page .activities-kicker {
  margin: 0 0 .2rem !important;
  color: #688198 !important;
  font-size: .63rem !important;
  font-weight: 900 !important;
  letter-spacing: .075em !important;
  text-transform: uppercase !important;
}

.activities-page .activities-hero h2,
.conditionalities-page .pbf-intro-box h2 {
  display: block !important;
  width: 100% !important;
  margin: 0 0 .28rem !important;
  padding: 0 0 .42rem !important;
  border: 0 !important;
  border-bottom: 3px solid var(--cr5a-blue) !important;
  color: var(--cr5a-navy) !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  letter-spacing: -.01em !important;
}

.activities-page .activities-hero p,
.conditionalities-page .pbf-intro-box p {
  margin: .52rem 0 0 !important;
  color: var(--cr5a-muted) !important;
  font-size: .79rem !important;
  font-weight: 600 !important;
  line-height: 1.42 !important;
}

.activities-page #visao-geral.activities-section {
  margin: 0 0 .65rem !important;
}

.activities-page .activities-stat-grid,
.conditionalities-page .pbf-summary-grid {
  gap: .42rem !important;
  margin-top: 0 !important;
}

.activities-page .activities-stat-card,
.conditionalities-page .pbf-summary-card {
  min-height: 56px !important;
  padding: .44rem .58rem !important;
  border: 1px solid #d7e3ef !important;
  border-left: 4px solid var(--stat, var(--cr5a-blue)) !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, #fff 0%, #f4f9fe 100%) !important;
  box-shadow: 0 3px 10px rgba(15, 45, 92, .045) !important;
}

.conditionalities-page .pbf-summary-card::before,
.activities-page .activities-stat-card::before {
  content: none !important;
  display: none !important;
}

.activities-page .activities-stat-card span,
.conditionalities-page .pbf-summary-card span {
  min-height: 0 !important;
  margin: 0 !important;
  color: #637287 !important;
  font-size: .63rem !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

.activities-page .activities-stat-card strong,
.conditionalities-page .pbf-summary-card strong {
  margin: .14rem 0 0 !important;
  color: var(--cr5a-navy) !important;
  font-size: 1.2rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.activities-page .activities-stat-card small {
  margin-top: .14rem !important;
  color: #68788b !important;
  font-size: .62rem !important;
  font-weight: 750 !important;
  line-height: 1.1 !important;
}

.activities-page .stat-cyan { --stat: #0e9fba; }
.activities-page .stat-green { --stat: #16895b; }
.activities-page .stat-gold { --stat: #d7a800; }
.conditionalities-page .pbf-summary-primary { --stat: #2f80d1; }
.conditionalities-page .pbf-summary-warning { --stat: #d7a800; }
.conditionalities-page .pbf-summary-danger { --stat: #b23a3a; }
.conditionalities-page .pbf-summary-info { --stat: #0e9fba; }
.conditionalities-page .pbf-summary-secondary { --stat: #64748b; }

/* Ações curtas, imediatamente após o panorama. */
.activities-page .activities-quick-actions,
.conditionalities-page .pbf-page-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: .55rem !important;
  margin: 0 0 .78rem !important;
  padding: 0 !important;
}

.activities-page .activities-quick-actions .btn,
.conditionalities-page .pbf-page-actions .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: .52rem .72rem !important;
  border-radius: 11px !important;
  font-size: .82rem !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-decoration: none !important;
}

.activities-page .activities-action-primary,
.conditionalities-page .pbf-action-primary {
  border-color: var(--cr5a-navy-deep) !important;
  background: linear-gradient(118deg, var(--cr5a-navy-deep), var(--cr5a-navy)) !important;
  color: #fff !important;
}

.activities-page .activities-action-secondary,
.conditionalities-page .pbf-action-secondary {
  border-color: #1d4e89 !important;
  background: linear-gradient(118deg, #173b5f, #245c96) !important;
  color: #fff !important;
}

.activities-page .activities-action-outline {
  border: 1px solid #9cb8d0 !important;
  background: #fff !important;
  color: var(--cr5a-navy) !important;
}

/* Seções, formulários e listas usam o mesmo ritmo compacto. */
.activities-page .activities-section {
  margin-bottom: .9rem !important;
}

.activities-page .acolhe-section-heading,
.conditionalities-page .user-center-section-header {
  gap: .55rem !important;
  margin-bottom: .65rem !important;
}

.activities-page .activities-form-block,
.conditionalities-page .control-card {
  padding: .78rem !important;
  border: 1px solid var(--cr5a-border) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 5px 14px rgba(15, 45, 92, .045) !important;
}

.activities-page .activities-create-form {
  gap: .62rem !important;
}

.activities-page .activities-form-block h3 {
  margin-bottom: .62rem !important;
}

.activities-page .activities-filter-bar,
.conditionalities-page .pbf-filter-grid {
  margin-bottom: .65rem !important;
  padding: .7rem !important;
  border-radius: 13px !important;
}

.activities-page .activities-card-list {
  gap: .55rem !important;
}

.activities-page .activity-modern-card {
  padding: .72rem !important;
  border-radius: 13px !important;
  box-shadow: 0 4px 12px rgba(15, 45, 92, .045) !important;
}

.conditionalities-page .pbf-scope-card,
.conditionalities-page .control-card.mb-4,
.conditionalities-page .control-card.mt-4 {
  margin-bottom: .78rem !important;
}

.conditionalities-page .pbf-summary-grid.mb-4 {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  margin-bottom: .65rem !important;
}

.conditionalities-page .pbf-deadline-grid {
  gap: .45rem !important;
}

.conditionalities-page .pbf-deadline-card {
  min-height: 56px !important;
  padding: .55rem .65rem !important;
  border-radius: 11px !important;
}

.conditionalities-page .table-responsive:not(.acolhe-table-shell) {
  margin-top: .65rem !important;
  border-radius: 13px !important;
}

.conditionalities-page .pbf-occurrence-table {
  margin-top: 0 !important;
}

.conditionalities-page .pbf-occurrence-table:not(.acolhe-table) thead th {
  background: linear-gradient(135deg, var(--cr5a-navy-deep), #1d4e89) !important;
}

/* Fallback histórico: só alcança tabelas que ainda não migraram para .acolhe-table. */
.activities-page .table-responsive,
.conditionalities-page .table-responsive:not(.acolhe-table-shell) {
  overflow: auto !important;
  border: 1px solid var(--cr5a-border) !important;
  border-radius: 13px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.activities-page .table-responsive:not(.acolhe-table-shell) > .table,
.conditionalities-page .table-responsive:not(.acolhe-table-shell) > .table {
  margin: 0 !important;
}

.activities-page .table:not(.acolhe-table) thead th,
.conditionalities-page .table:not(.acolhe-table) thead th {
  padding: .62rem .68rem !important;
  border-color: #173f69 !important;
  background: linear-gradient(135deg, var(--cr5a-navy-deep), #1d4e89) !important;
  color: #fff !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  letter-spacing: .045em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  white-space: nowrap;
}

.activities-page .table:not(.acolhe-table) tbody td,
.conditionalities-page .table:not(.acolhe-table) tbody td {
  padding: .58rem .66rem !important;
  border-color: #dce6ef !important;
  color: #334e68;
  font-size: .77rem;
  line-height: 1.35;
  vertical-align: middle !important;
}

.activities-page .table:not(.acolhe-table) tbody tr:nth-child(even) > td,
.conditionalities-page .table:not(.acolhe-table) tbody tr:nth-child(even) > td {
  background: #f8fbfd;
}

/* Botão principal ao final da Agenda Técnica: azul-escuro com variação sutil. */
.agenda-activities-cta {
  border-color: #081f3f !important;
  background: linear-gradient(118deg, #081f3f 0%, #0f2d5c 55%, #173b5f 100%) !important;
  color: #fff !important;
  font-weight: 850 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  box-shadow: 0 7px 18px rgba(8, 31, 63, .22) !important;
}

.agenda-activities-cta:hover,
.agenda-activities-cta:focus-visible {
  background: linear-gradient(118deg, #061a35 0%, #0b274e 55%, #123454 100%) !important;
  outline-color: rgba(15, 45, 92, .22) !important;
}

@media (max-width: 991.98px) {
  .conditionalities-page .pbf-summary-grid.mb-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767.98px) {
  .activities-page .activities-stat-grid,
  .conditionalities-page .pbf-summary-grid.mb-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .activities-page .activities-quick-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .activities-page .activities-action-outline {
    grid-column: 1 / -1;
  }
}

@media (max-width: 575.98px) {
  .content .page-title,
  .content .page-title.page-title-with-icon,
  .content .page-title.acolhe-standard-page-title,
  .content .visit-main-title {
    margin-bottom: .7rem !important;
    padding-bottom: .5rem !important;
  }

  .activities-modern-page,
  .conditionalities-page {
    padding-inline: 1rem !important;
  }

  .activities-page .activities-stat-card,
  .conditionalities-page .pbf-summary-card {
    min-height: 54px !important;
    padding: .4rem .5rem !important;
  }

  .activities-page .activities-quick-actions .btn,
  .conditionalities-page .pbf-page-actions .btn {
    font-size: .77rem !important;
  }

  .conditionalities-page .pbf-page-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .conditionalities-page .pbf-page-actions .btn:only-child {
    grid-column: 1 / -1;
  }
}

/* Origem: cr5b_rma_visual_template.css — consolidada no canônico. */
/* AcolheMGA v0.96 CR5b
 * Correção visual de Benefícios e contrato estrutural compartilhado dos
 * módulos operacionais. As identidades de cada domínio permanecem próprias;
 * largura, ritmo, hierarquia e superfícies seguem a mesma gramática.
 */

:root {
  --cr5b-navy: #0f2d5c;
  --cr5b-blue: #1d4e89;
  --cr5b-accent: #2f80d1;
  --cr5b-border: #cadbea;
  --cr5b-soft: #f7fafe;
  --cr5b-shadow: 0 6px 18px rgba(15, 45, 92, .06);
}

/* Família operacional: o mesmo esqueleto, com sotaque próprio por módulo. */
.operational-template-page {
  --operational-accent: var(--cr5b-accent);
  width: 100%;
  max-width: 1500px;
  margin-inline: auto;
}

.operational-template-group { --operational-accent: #1d6fbe; }
.operational-template-conditionalities { --operational-accent: #7551a6; }
.operational-template-visits { --operational-accent: #2f80d1; }

.operational-template-title {
  margin-bottom: .78rem;
  padding-bottom: .55rem;
}

.operational-template-intro {
  margin-bottom: .68rem;
  border-color: var(--cr5b-border);
  border-left-color: var(--operational-accent);
  border-radius: 13px;
  box-shadow: none;
}

.operational-template-summary {
  gap: .45rem;
  margin-bottom: .68rem;
}

.operational-template-actions {
  gap: .55rem;
  margin-bottom: .78rem;
}

.operational-template-filter {
  margin-bottom: .68rem;
  border-color: var(--cr5b-border);
  border-radius: 13px;
  background: var(--cr5b-soft);
  box-shadow: none;
}

.operational-template-data {
  margin-bottom: .85rem;
}

/* Benefícios repete exatamente a superfície azul da Pesquisa de Cadastros. */
.benefits-overview-hero {
  display: block;
  padding: 1.05rem 1.15rem;
  border-radius: 1.15rem;
  background: linear-gradient(135deg, #0f2d5c 0%, #1d4e89 100%);
  color: #fff;
  box-shadow: 0 14px 30px rgba(15, 45, 92, .18);
}

.benefits-overview-heading {
  margin-bottom: .85rem;
}

.benefits-overview-eyebrow {
  display: block;
  margin-bottom: .12rem;
  color: rgba(255, 255, 255, .88);
  font-size: .76rem;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.benefits-overview-heading h1 {
  display: flex;
  align-items: center;
  gap: .62rem;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(1.35rem, 2.6vw, 1.65rem);
  font-weight: 950;
  line-height: 1.15;
}

.benefits-overview-heading h1::after {
  content: none;
}

.benefits-overview-heading .page-heading-icon {
  flex: 0 0 auto;
  border-color: rgba(255, 255, 255, .72) !important;
  background: rgba(255, 255, 255, .96) !important;
}

.benefits-overview-heading p {
  max-width: 820px;
  margin: .42rem 0 0;
  color: rgba(255, 255, 255, .86);
  font-size: .84rem;
  font-weight: 650;
  line-height: 1.42;
}

.benefits-page .benefits-overview-filter {
  gap: .5rem;
  margin: 0 !important;
  padding: .78rem !important;
  border: 1px solid rgba(255, 255, 255, .28) !important;
  border-radius: .95rem !important;
  background: rgba(255, 255, 255, .12) !important;
  box-shadow: none !important;
}

.benefits-page .benefits-overview-filter label,
.benefits-page .benefits-overview-month-label {
  margin: 0 !important;
  color: #fff !important;
  font-size: .78rem;
  font-weight: 850;
}

.benefits-page .benefits-overview-filter .form-control {
  min-height: 42px !important;
  margin: 0 !important;
  border-color: rgba(255, 255, 255, .38) !important;
  background: #fff !important;
  color: var(--cr5b-navy) !important;
}

.benefits-page .benefits-overview-filter .btn {
  min-height: 42px;
  margin: 0;
  border-radius: .72rem;
  font-size: .76rem;
  font-weight: 900;
}

.benefits-overview-filter-submit {
  border-color: #fff;
  background: #fff;
  color: var(--cr5b-navy);
}

.benefits-page .benefits-overview-filter .btn-outline-warning {
  color: #ffe07a;
}

.benefits-overview-month-label {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  margin-left: auto;
  padding-inline: .35rem;
}

@media (max-width: 991.98px) {
  .benefits-page .benefits-overview-filter {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .benefits-page .benefits-overview-filter label,
  .benefits-page .benefits-overview-month-label,
  .benefits-page .benefits-overview-filter .benefits-stream-link {
    grid-column: 1 / -1;
  }

  .benefits-overview-month-label {
    margin-left: 0;
  }
}

@media (max-width: 575.98px) {
  .operational-template-page {
    padding-inline: 1rem;
  }

  .benefits-overview-hero {
    padding: .9rem;
  }

  .benefits-page .benefits-overview-filter {
    grid-template-columns: 1fr;
    padding: .68rem;
  }

  .benefits-page .benefits-overview-filter label,
  .benefits-page .benefits-overview-filter .form-control,
  .benefits-page .benefits-overview-filter .btn,
  .benefits-page .benefits-overview-month-label {
    grid-column: 1;
    width: 100%;
  }
}
/* ===== CR5e: fim das folhas históricas consolidadas ===== */

/* ========================================================================
   AcolheMGA v0.96 CR5c — consolidação visual e redução de exceções
   Um mesmo significado usa um mesmo componente: pessoa, filtro e tabela.
   ======================================================================== */
:root{
  --acolhe-table-head:#123a70;
  --acolhe-table-head-border:#255784;
  --acolhe-table-border:#d7e3ef;
  --acolhe-table-stripe:#f8fbfe;
  --acolhe-table-hover:#eef6fd;
  --acolhe-search-accent:#1768ad;
}

/* Busca global de pessoa. */
.acolhe-person-search{position:relative;width:100%}
.acolhe-person-search>.form-control{width:100%;padding-left:2.35rem!important}
.acolhe-loupe-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.8' cy='10.8' r='6.2' fill='none' stroke='black' stroke-width='2.15'/%3E%3Cpath d='m15.4 15.4 4.3 4.3' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.8' cy='10.8' r='6.2' fill='none' stroke='black' stroke-width='2.15'/%3E%3Cpath d='m15.4 15.4 4.3 4.3' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.acolhe-person-search-icon{position:absolute;z-index:3;top:50%;left:.72rem;display:inline-flex;width:1.15rem;height:1.15rem;align-items:center;justify-content:center;transform:translateY(-50%);color:var(--acolhe-search-accent);pointer-events:none}
.acolhe-person-search-icon .acolhe-loupe-icon{width:100%;height:100%}
.history-icon-link .acolhe-loupe-icon,.standardized-history-link .acolhe-loupe-icon,.standard-person-lookup .acolhe-loupe-icon{width:1rem;height:1rem}

/* Seção tabular não é card. O shell existe apenas para borda/clipping/overflow. */
.acolhe-table-section{margin:0 0 1rem;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.acolhe-table-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem;margin:0 0 .62rem;padding:0 0 .48rem;border-bottom:3px solid var(--operational-accent,var(--cr3-blue,#2f80d1))}
.acolhe-table-heading>div{min-width:0}
.acolhe-table-heading h2,.acolhe-table-heading h3{margin:0!important;color:var(--cr3-navy,#123a70)!important;font-size:1.05rem!important;font-weight:900!important;line-height:1.2!important}
.acolhe-table-heading p{margin:.18rem 0 0!important;color:var(--cr3-muted,#607286)!important;font-size:.78rem!important;line-height:1.35!important}
.acolhe-table-count{flex:0 0 auto;border-radius:999px;background:#eaf4ff;color:#174f89;padding:.28rem .56rem;font-size:.72rem;font-weight:850;white-space:nowrap}
.acolhe-table-shell{width:100%;max-width:100%;margin:0;padding:0!important;overflow-x:auto;overflow-y:hidden;border:1px solid var(--acolhe-table-border);border-radius:11px;background:#fff;box-shadow:none!important;-webkit-overflow-scrolling:touch}
.acolhe-table-shell>.table,.acolhe-table-shell>table{margin:0!important}
table.acolhe-table,.acolhe-table-shell>table{width:100%;max-width:none;border-collapse:collapse;table-layout:auto}
table.acolhe-table>thead>tr>th,.acolhe-table-shell>table>thead>tr>th{border-color:var(--acolhe-table-head-border)!important;background:var(--acolhe-table-head)!important;color:#fff!important;font-size:.72rem!important;font-weight:900!important;letter-spacing:.02em!important;line-height:1.2!important;vertical-align:middle!important;text-transform:uppercase!important}
table.acolhe-table>tbody>tr>td,table.acolhe-table>tbody>tr>th,.acolhe-table-shell>table>tbody>tr>td,.acolhe-table-shell>table>tbody>tr>th{border-color:var(--acolhe-table-border)!important;vertical-align:middle!important}
table.acolhe-table>tbody>tr:nth-child(even)>td,table.acolhe-table>tbody>tr:nth-child(even)>th{background:var(--acolhe-table-stripe)}
table.acolhe-table>tbody>tr:hover>td,table.acolhe-table>tbody>tr:hover>th{background:var(--acolhe-table-hover)}
table.acolhe-table--operational{min-width:760px}
table.acolhe-table--analytical{min-width:680px}
table.acolhe-table--wide{min-width:1120px}
table.acolhe-table caption{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* PAIF: chassi operacional + apenas regras próprias do domínio. */
.operational-template-paif{--operational-accent:#1f6eb5}
.paif-page{background:#fff;color:#162033}
.paif-page .content{max-width:1500px!important}
.paif-page-heading{display:block;margin:0}
.paif-page-heading .page-title{margin-bottom:.78rem!important}
.paif-intro-box{padding:.72rem .84rem;border:1px solid #d4e2ef;border-left:4px solid var(--operational-accent);border-radius:13px;background:#f8fbfe}
.paif-intro-box h2{margin:0 0 .28rem;padding:0 0 .42rem;border-bottom:3px solid var(--operational-accent);color:#0f2d5c;font-size:1rem;font-weight:900}
.paif-intro-box p{margin:.5rem 0 0;color:#61758a;font-size:.79rem;font-weight:600}
.paif-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem}
.paif-summary-card{min-height:56px;padding:.44rem .58rem;border:1px solid #d7e3ef;border-left:4px solid var(--operational-accent);border-radius:11px;background:linear-gradient(135deg,#fff,#f4f9fe)}
.paif-summary-card span{display:block;color:#637287;font-size:.63rem;font-weight:850;text-transform:uppercase}
.paif-summary-card strong{display:block;margin-top:.14rem;color:#0f2d5c;font-size:1.2rem;font-weight:950;line-height:1}
.paif-actions{display:flex;flex-wrap:wrap;gap:.55rem}
.paif-new-button{font-weight:850}
.paif-create-panel{margin-bottom:1rem;overflow:visible;border:1px solid #dbe4ef;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(18,45,78,.055)}
.paif-create-form{padding:1rem}
.paif-panel-title{margin:-.1rem 0 1rem;padding-bottom:.6rem;border-bottom:3px solid var(--operational-accent)}
.paif-panel-title h2{margin:0;color:#17365d;font-size:1.05rem;font-weight:900}
.paif-panel-title p{margin:.2rem 0 0;color:#6b778b;font-size:.8rem}
.paif-create-grid{display:grid;grid-template-columns:minmax(250px,2fr) repeat(3,minmax(130px,1fr));gap:.75rem}
.paif-create-grid .form-group{margin:0}
.paif-person-search-field{position:relative;z-index:5}
.paif-autocomplete{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;max-height:270px;overflow:auto;border:1px solid #b9c9dd;border-radius:10px;background:#fff;box-shadow:0 14px 30px rgba(18,45,78,.16)}
.paif-autocomplete-option{display:flex;width:100%;flex-direction:column;align-items:flex-start;padding:.7rem .85rem;border:0;border-bottom:1px solid #e8eef5;background:#fff;color:#152842;text-align:left}
.paif-autocomplete-option:hover,.paif-autocomplete-option:focus{background:#edf6ff;outline:2px solid #168bd2;outline-offset:-2px}
.paif-autocomplete-option span,.paif-autocomplete-empty{color:#66758b;font-size:.8rem}
.paif-autocomplete-empty{padding:.8rem}
.paif-referrals-field,.paif-profile-field{grid-column:span 2}
.paif-profile-field{margin:0;padding:0;border:0}
.paif-profile-options,.paif-profile-chips{display:flex;flex-wrap:wrap;gap:.3rem}
.paif-profile-options label,.paif-profile-chips label,.paif-profile-chips span{display:inline-flex;align-items:center;gap:.2rem;margin:0;padding:.28rem .48rem;border:1px solid #c9dbed;border-radius:999px;background:#eef5fc;color:#174a7c;font-size:.77rem;font-weight:800}
.paif-form-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid #e6edf5}
.paif-filter-bar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(210px,auto) auto auto;align-items:end;gap:.65rem;padding:.78rem!important}
.paif-table{min-width:1160px!important;font-size:.8rem}
.paif-table thead th:nth-child(5){min-width:235px;text-align:left!important}
.paif-table thead th:nth-child(9){min-width:180px}
.paif-table thead th span{display:block;margin-top:.12rem;font-size:.66rem;font-weight:650;opacity:.85;text-transform:none}
.paif-table .form-control-sm{height:30px;padding:.22rem .35rem;font-size:.76rem;min-width:90px}
.paif-table tbody tr.is-ended td,.paif-table tbody tr.is-ended th{color:#6b7280}
.paif-exit-cell{min-width:190px}
.paif-exit-cell .form-control+.form-control{margin-top:.28rem}
.paif-exit-cell small{display:block;max-width:200px;margin-top:.2rem;white-space:normal}
.paif-identifier-number{display:block;margin-top:.22rem;color:#526276;font-size:.72rem;white-space:nowrap}
.paif-status-chip{display:block;width:max-content;margin-top:.25rem;padding:.15rem .42rem;border-radius:999px;background:#daf3e5;color:#11663a;font-size:.66rem;font-weight:900;text-transform:uppercase}
.paif-status-chip.is-ended{background:#e6e8ec;color:#626975}
.paif-code-input,.paif-actions-cell{text-align:center}
.paif-empty{text-align:center!important;color:#6b778b;padding:2.2rem!important}
@media(max-width:991.98px){.paif-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.paif-person-search-field,.paif-referrals-field,.paif-profile-field{grid-column:span 2}.paif-filter-bar{grid-template-columns:1fr 1fr auto}.paif-filter-search{grid-column:1/-1}}
@media(max-width:575.98px){.paif-page .content{padding:1rem!important}.paif-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.paif-create-grid{grid-template-columns:1fr}.paif-person-search-field,.paif-referrals-field,.paif-profile-field{grid-column:span 1}.paif-filter-bar{grid-template-columns:1fr}.paif-filter-bar>*{width:100%;min-width:0!important}.paif-form-actions{flex-direction:column}.paif-form-actions .btn,.paif-actions .btn{width:100%}.acolhe-table-heading{align-items:flex-start;flex-direction:column}}


/* CR5c — preservação de semântica tipográfica após remoção de cards tabulares. */
.benefits-table-section{margin-bottom:1.1rem}
.benefits-table-section[data-benefit-section="certidoes"] .benefits-main-header{border-left:6px solid #ff1493}
.benefits-table-section[data-benefit-section="identidade_cin"] .benefits-main-header{border-left:6px solid #6f42c1}
.benefits-table-section[data-benefit-section="auxilio_funeral"] .benefits-main-header{border-left:6px solid #343a40}
.diagnostic-table-section h2{margin-bottom:0}
.documentation-index-section h2,.documentation-section h2{color:#0f2d5c;font-weight:900;letter-spacing:-.02em}
.documentation-section h3{color:#0f2d5c;font-size:1.05rem;font-weight:900;margin-top:1rem}
.presentation-access-section h2,.transfer-report-section h2{color:#0b3867;font-size:1.15rem;font-weight:900;margin:0 0 .55rem}
.presentation-access-section .form-group label{color:#173c60;font-weight:700}
.acolhe-table-section .table-responsive:not(.acolhe-table-shell){width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--acolhe-table-border);border-radius:11px;background:#fff;-webkit-overflow-scrolling:touch}
.acolhe-table-section>table.acolhe-table{border:1px solid var(--acolhe-table-border);border-radius:11px;overflow:hidden}

/* ========================================================================
   AcolheMGA v0.96 CR5e — P0 visual: superfícies tabulares e cascata canônica
   ======================================================================== */

/* Uma seção explicitamente tabular deixa de ser card, mesmo quando preserva
   classes históricas por compatibilidade de layout. */
.content .institutional-section.acolhe-table-section,
.content .maintenance-probe-section.acolhe-table-section,
.content .probe-box.acolhe-table-section,
.content .control-card.acolhe-table-section,
.content [class*="card"].acolhe-table-section {
  margin-bottom: 1rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* A seção pode preservar grid/width do módulo, mas não volta a ser superfície-card. */
.content .institutional-section.acolhe-table-section:not(.two-columns),
.content .maintenance-probe-section.acolhe-table-section,
.content .probe-box.acolhe-table-section {
  overflow: visible !important;
}

/* O contrato canônico vence qualquer fallback histórico de CR5a/CR5b. */
body table.acolhe-table > thead > tr > th,
body .acolhe-table-shell > table > thead > tr > th,
body.activities-page table.acolhe-table > thead > tr > th,
body.conditionalities-page table.acolhe-table > thead > tr > th,
body.paif-page table.acolhe-table > thead > tr > th {
  border-color: var(--acolhe-table-head-border) !important;
  background: var(--acolhe-table-head) !important;
  background-image: none !important;
  color: #fff !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  vertical-align: middle !important;
}
body table.acolhe-table > tbody > tr > td,
body table.acolhe-table > tbody > tr > th,
body .acolhe-table-shell > table > tbody > tr > td,
body .acolhe-table-shell > table > tbody > tr > th {
  border-color: var(--acolhe-table-border) !important;
  vertical-align: middle !important;
}

/* Shell canônico não recebe moldura duplicada das folhas históricas. */
body .table-responsive.acolhe-table-shell {
  margin-top: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--acolhe-table-border) !important;
  border-radius: 11px !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* ========================================================================
   AcolheMGA v0.96 CR5f — P1 visual: componentes operacionais compartilhados
   ======================================================================== */

/* Um indicador operacional usa o mesmo chassi; o domínio fornece apenas
   quantidade de colunas e a cor funcional por --stat/--operational-accent. */
.operational-metric-card {
  min-height: 56px !important;
  padding: .44rem .58rem !important;
  border: 1px solid #d7e3ef !important;
  border-left: 4px solid var(--stat, var(--operational-accent, #2f80d1)) !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, #fff 0%, #f4f9fe 100%) !important;
  box-shadow: 0 3px 10px rgba(15, 45, 92, .045) !important;
}
.operational-metric-card::before {
  content: none !important;
  display: none !important;
}
.operational-metric-card > span,
.operational-metric-card > .operational-metric-label {
  display: block !important;
  min-height: 0 !important;
  margin: 0 !important;
  color: #637287 !important;
  font-size: .63rem !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}
.operational-metric-card > strong,
.operational-metric-card > .operational-metric-value {
  display: block !important;
  margin: .14rem 0 0 !important;
  color: #0f2d5c !important;
  font-size: 1.2rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}
.operational-metric-card > small {
  display: block !important;
  margin-top: .14rem !important;
  color: #68788b !important;
  font-size: .62rem !important;
  font-weight: 750 !important;
  line-height: 1.1 !important;
}

/* Campo de filtro canônico. O grid continua pertencendo ao módulo porque o
   número de controles é uma diferença funcional, não visual. */
.acolhe-filter-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: .25rem;
}
.acolhe-filter-field > label,
label.acolhe-filter-field > span {
  display: block;
  margin: 0 .1rem !important;
  color: #405d77 !important;
  font-size: .74rem !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
}
.acolhe-filter-actions {
  display: flex;
  align-items: flex-end;
  gap: .45rem;
  min-width: 0;
}
.acolhe-filter-actions > .btn {
  min-height: 42px;
  margin: 0 !important;
}

/* Condicionalidades passa a apresentar rótulos explícitos e colapso previsível. */
.conditionalities-page .pbf-filter-grid.acolhe-filter-bar {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  align-items: end;
}
.conditionalities-page .pbf-filter-grid.acolhe-filter-bar .acolhe-filter-actions {
  align-self: end;
}

/* Visitas adota shell/cabeçalho/densidade base compartilhados; colunas,
   inputs, status e ações permanecem especializados pelo domínio. */
.visits-page .visit-table-section.acolhe-table-section {
  margin-top: .75rem !important;
}
.visits-page .visit-ajax-table-container > .acolhe-table-shell.visit-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
body.visits-page table.visit-table.acolhe-table > thead > tr > th {
  border-color: var(--acolhe-table-head-border) !important;
  background: var(--acolhe-table-head) !important;
  background-image: none !important;
  color: #fff !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}
body.visits-page table.visit-table.acolhe-table > tbody > tr > td,
body.visits-page table.visit-table.acolhe-table > tbody > tr > th {
  border-color: var(--acolhe-table-border) !important;
  vertical-align: middle !important;
}

@media (max-width: 767.98px) {
  .conditionalities-page .pbf-filter-grid.acolhe-filter-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .conditionalities-page .pbf-filter-grid.acolhe-filter-bar .acolhe-filter-actions {
    grid-column: 1 / -1;
  }
  .conditionalities-page .pbf-filter-grid.acolhe-filter-bar .acolhe-filter-actions .btn {
    width: 100%;
  }
}
@media (max-width: 575.98px) {
  .conditionalities-page .pbf-filter-grid.acolhe-filter-bar {
    grid-template-columns: 1fr !important;
  }
  .conditionalities-page .pbf-filter-grid.acolhe-filter-bar > * {
    grid-column: 1 !important;
    width: 100%;
    min-width: 0 !important;
  }
  .acolhe-filter-actions,
  .acolhe-filter-actions > .btn {
    width: 100%;
  }
  .paif-summary-grid > .operational-metric-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}


/* CR6 — ações sensíveis via POST sem alterar a gramática visual dos antigos links. */
.acolhe-inline-post-form{display:inline-flex;margin:0;padding:0;max-width:100%;}
.acolhe-grid-post-form{display:contents;}
.acolhe-post-card-button{width:100%;font:inherit;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none;}
button.admin-hub-route-card.acolhe-post-card-button,
button.maintenance-action-card.acolhe-post-card-button{align-items:stretch;}


/* ========================================================================
   AcolheMGA v0.96 CR6c — correções operacionais complementares
   ======================================================================== */
.benefits-unclassified-section {
  margin-top: .85rem;
}
.benefits-unclassified-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .65rem;
}
.benefits-unclassified-heading h2 {
  margin: 0 0 .25rem;
  color: #123a70;
  font-size: 1.12rem;
  font-weight: 900;
}
.benefits-unclassified-heading p {
  max-width: 920px;
  margin: 0;
  color: #647386;
  font-size: .86rem;
  line-height: 1.45;
}
.health-rma-pending-explainer {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  margin-top: .85rem;
  padding: .7rem .8rem;
  border-left: 4px solid #d69c00;
  background: #fff8e3;
  color: #5e4a13;
}
.health-rma-pending-group {
  margin-top: .8rem;
  padding-top: .7rem;
  border-top: 1px solid #e4eaf0;
}
.health-rma-pending-heading {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .35rem;
  color: #123a70;
}
.health-rma-pending-heading span {
  color: #697b8c;
  font-size: .78rem;
  font-weight: 800;
}
@media (max-width: 575.98px) {
  .benefits-unclassified-heading,
  .health-rma-pending-heading {
    flex-direction: column;
  }
}
.health-rma-rule-approval-form { margin-top: .65rem; }
.health-rma-rule-approval-form > label {
  display: block;
  margin-bottom: .3rem;
  color: #405d77;
  font-size: .74rem;
  font-weight: 850;
  text-transform: uppercase;
}
.health-rma-rule-approval-form .form-control { min-width: min(520px, 100%); flex: 1 1 360px; }


/* CR6d — contrato de card navegacional.
 * Regra: quando uma superfície visual de card representa um destino/ação de
 * navegação, o próprio card deve ser o link inteiro. Cards meramente
 * informativos não recebem cursor/link falso e agrupadores não devem imitar
 * cards de navegação. */
.acolhe-clickable-card{color:inherit!important;text-decoration:none!important;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;}
.acolhe-clickable-card:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(15,45,92,.11)!important;}
.summary-card.acolhe-clickable-card{display:flex;flex-direction:column;justify-content:center;height:100%;}
.acolhe-clickable-card:focus-visible{outline:3px solid #2186d9!important;outline-offset:3px!important;}
.maintenance-suite-group{margin-top:1.35rem;}
.maintenance-suite-group>h2{margin:0 0 .7rem;color:var(--cr3a-navy);font-weight:900;}

/* CR6e — Atividade em Grupo como linha nativa da Agenda Técnica. */
.inline-agenda-table tbody tr.agenda-activity-row > td{
  background:#74ACDF!important;
  color:#0F2D5C!important;
  border-color:rgba(15,45,92,.18)!important;
  vertical-align:middle!important;
}
.inline-agenda-table .agenda-activity-time-stack{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:64px!important;
  max-width:76px!important;
  min-height:46px!important;
  padding:.28rem .18rem!important;
  border:1px solid #B8CBDC!important;
  border-radius:.5rem!important;
  background:#FFF!important;
  color:#0F2D5C!important;
  font-size:.78rem!important;
  font-weight:600!important;
  line-height:1.15!important;
}
.inline-agenda-table .agenda-activity-time-stack span+span{margin-top:.12rem!important;padding-top:.12rem!important;border-top:1px solid rgba(15,45,92,.12)!important;}
.inline-agenda-table .agenda-activity-status-control{margin:0 auto!important;}
.inline-agenda-table .agenda-activity-status-select:disabled{opacity:1!important;cursor:default!important;color:#0F2D5C!important;-webkit-text-fill-color:#0F2D5C!important;}
.inline-agenda-table .agenda-activity-main-link{display:flex!important;align-items:center!important;gap:.5rem!important;color:#0F2D5C!important;text-decoration:none!important;min-width:0!important;}
.inline-agenda-table .agenda-activity-main-link:hover{text-decoration:underline!important;}
.inline-agenda-table .agenda-activity-main-link:focus-visible{outline:3px solid #FFF!important;outline-offset:2px!important;border-radius:6px!important;}
.inline-agenda-table .agenda-activity-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:62px!important;padding:.28rem .45rem!important;border:2px solid #0F2D5C!important;border-radius:5px!important;background:#FFF!important;color:#0F2D5C!important;font-size:.68rem!important;font-weight:950!important;letter-spacing:.04em!important;line-height:1!important;}
.inline-agenda-table .agenda-activity-title{font-size:.815rem!important;font-weight:700!important;letter-spacing:.008em!important;color:#0F2D5C!important;line-height:1.2!important;}
.inline-agenda-table .agenda-activity-badge{flex:0 0 auto!important;}
.inline-agenda-table .agenda-activity-type-reference{opacity:1!important;cursor:default!important;background:#FFF!important;color:#0F2D5C!important;-webkit-text-fill-color:#0F2D5C!important;font-weight:500!important;}
.inline-agenda-table .agenda-activity-observation{background:#FFF!important;color:#0F2D5C!important;font-weight:500!important;cursor:default!important;}
.inline-agenda-table .agenda-activity-empty-reference{text-align:center!important;color:#0F2D5C!important;font-weight:600!important;}
#agendaActivityFinalizeModal .modal-title{color:#123A70;font-weight:800;}
#agendaActivityFinalizeModal label{font-weight:700;color:#123A70;}
@media(max-width:768px){
  .inline-agenda-table .agenda-activity-time-stack{min-width:64px!important;max-width:76px!important;}
}


/* ========================================================================
   CR6i — governança visual, largura desktop responsiva e Agenda proporcional
   Regra: qualquer componente visual novo deve responder "está padronizado e
   de acordo com o restante?" antes de receber uma exceção local.
   ======================================================================== */
@media (min-width:769px){
  body:not(.presentation-body):not(.external-presentation-body) .app-shell>.content,
  body:not(.presentation-body):not(.external-presentation-body) .app-shell>main.content,
  .activities-modern-page,
  .conditionalities-page,
  .visits-page .content,
  .visits-page .content.p-4{
    padding-left:var(--acolhe-page-padding-inline)!important;
    padding-right:var(--acolhe-page-padding-inline)!important;
  }
}

/* Agenda: em desktop, largura e colunas são proporcionais. O mínimo rígido
   legado só volta em resoluções estreitas, onde o overflow horizontal é mais
   legível do que comprimir campos críticos. */
.agenda-page #agendaTablesContainer,
.agenda-page #cadunicoTablesContainer,
.agenda-page #educatorSocialTablesContainer,
.agenda-page .technical-day-render,
.agenda-page .cadunico-day-render,
.agenda-page .educator-social-day-render{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.agenda-page #agendaTablesContainer,
.agenda-page #cadunicoTablesContainer,
.agenda-page #educatorSocialTablesContainer{
  overflow-x:auto;
  overflow-y:visible;
}
@media (min-width:1200px){
  .agenda-page .inline-agenda-table{
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }
  .agenda-page .inline-agenda-table th,
  .agenda-page .inline-agenda-table td{min-width:0!important;max-width:none!important;}
  .agenda-page .inline-agenda-table input,
  .agenda-page .inline-agenda-table select,
  .agenda-page .inline-agenda-table textarea,
  .agenda-page .inline-agenda-table .agenda-cpf-cell{max-width:100%!important;min-width:0!important;width:100%!important;}

  /* Técnica e Espontânea — 100% */
  .agenda-page .inline-agenda-table:not(.cadunico-table) .col-time{width:6%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .inline-agenda-table:not(.cadunico-table) .col-status{width:11%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .inline-agenda-table:not(.cadunico-table) .col-name{width:23%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .inline-agenda-table:not(.cadunico-table) .col-cpf{width:12%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .inline-agenda-table:not(.cadunico-table) .col-phone{width:11%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .inline-agenda-table:not(.cadunico-table) .col-service{width:14%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .inline-agenda-table:not(.cadunico-table) .col-observation{width:15%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .inline-agenda-table:not(.cadunico-table) .col-action{width:8%!important;min-width:0!important;max-width:none!important;}

  /* CadÚnico — 100% em dez colunas */
  .agenda-page .cadunico-table .col-time{width:5%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .cadunico-table .col-status{width:9%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .cadunico-table .col-name{width:18%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .cadunico-table .col-cpf{width:11%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .cadunico-table .col-phone{width:10%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .cadunico-table .col-service{width:12%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .cadunico-table .col-household{width:10%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .cadunico-table .col-prontuario{width:8%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .cadunico-table .col-observation{width:11%!important;min-width:0!important;max-width:none!important;}
  .agenda-page .cadunico-table .col-action{width:6%!important;min-width:0!important;max-width:none!important;}
}
@media (min-width:769px) and (max-width:1199.98px){
  .agenda-page .inline-agenda-table{width:100%!important;min-width:1120px!important;table-layout:fixed!important;}
}

/* Topbar: Notificações segue a mesma caixa do cadeado e o mesmo peso visual,
   com pictograma filled azul-claro. */
.transfer-notification-bell.acolhe-topbar-icon-link{
  width:42px!important;
  height:42px!important;
  padding:.28rem!important;
  border-radius:13px!important;
  color:#9DDAFF!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.16)!important;
}
.transfer-notification-bell.acolhe-topbar-icon-link:hover,
.transfer-notification-bell.acolhe-topbar-icon-link.active{background:rgba(255,255,255,.20)!important;color:#BCE8FF!important;}
.transfer-notification-bell.acolhe-topbar-icon-link svg{
  width:27px!important;height:27px!important;display:block!important;
  fill:currentColor!important;stroke:none!important;stroke-width:0!important;
  filter:drop-shadow(0 2px 4px rgba(93,190,255,.22));
}
@media(max-width:700px){
  .transfer-notification-bell.acolhe-topbar-icon-link{width:38px!important;height:38px!important;}
  .transfer-notification-bell.acolhe-topbar-icon-link svg{width:25px!important;height:25px!important;}
}

/* Design System — página viva de referência. */
.design-system-showcase{padding-bottom:3rem!important;}
.design-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.design-system-specimen>h2,.design-system-governance-card h2{margin:0 0 .65rem;color:var(--acolhe-color-navy);font-weight:900;font-size:1.2rem;}
.design-system-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;}
.design-system-checklist>div{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem;border:1px solid var(--acolhe-color-border);border-radius:12px;background:var(--acolhe-color-soft);}
.design-system-checklist strong{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;border-radius:999px;background:var(--acolhe-color-navy);color:#fff;}
.design-system-token-list{display:grid;gap:.55rem;margin:0;}
.design-system-token-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid #e6edf4;}
.design-system-token-list dt{font-weight:850;color:var(--acolhe-color-ink);}.design-system-token-list dd{margin:0;text-align:right;color:var(--acolhe-color-muted);}
.design-system-responsive-demo{width:100%;margin-top:1rem;padding:.7rem;border-radius:10px;background:linear-gradient(90deg,#edf7ff,#d9efff);color:var(--acolhe-color-navy);font-weight:850;text-align:center;}
.design-system-swatches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;}
.design-system-swatches>div{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:.55rem;align-items:center;}
.design-system-swatches span{grid-row:1/3;width:38px;height:38px;border-radius:10px;background:var(--swatch);border:1px solid rgba(15,45,92,.1);}.design-system-swatches strong{font-size:.84rem}.design-system-swatches code{font-size:.72rem;color:var(--acolhe-color-muted);}
.design-system-type-stack{display:grid;gap:.8rem}.design-system-type-stack h1,.design-system-type-stack h2,.design-system-type-stack h3,.design-system-type-stack p{margin:0!important;}
.design-system-actions,.design-system-badges,.design-system-icon-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;}
.design-system-icon-box{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:var(--acolhe-color-navy);border:1px solid rgba(15,45,92,.18);}
.design-system-notification-sample svg{width:27px;height:27px;fill:#9DDAFF}.design-system-icon-caption{font-weight:750;color:var(--acolhe-color-muted);}
.legacy-design-system-link{max-width:720px;margin-top:.8rem;}
@media(max-width:900px){.design-system-grid,.design-system-checklist{grid-template-columns:1fr}.design-system-swatches{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:575.98px){.design-system-swatches{grid-template-columns:1fr}.design-system-token-list>div{flex-direction:column;gap:.2rem}.design-system-token-list dd{text-align:left;}}

/* ===== CR6k — Atividades, Estudo de Caso e espécimes vivos do Design System ===== */
.schedule-slot-blocked.schedule-slot-activity td{
  background:#a6d5f4 !important;
  border-color:#8fc6eb !important;
  color:#123a5e !important;
}
.schedule-slot-blocked.schedule-slot-activity .schedule-activity-link{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:#123a5e!important;text-decoration:none;font-weight:850}
.schedule-slot-blocked.schedule-slot-activity .schedule-activity-link span{font-size:.76rem;font-weight:750;color:#365f82}
.activities-new-planning-label{font-size:.92rem!important;letter-spacing:.035em;font-weight:950!important}
.activity-agenda-scope-options{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.55rem;margin-top:.6rem;border-top:1px solid #d9e5ef}
.activity-agenda-scope-option span{background:#f2f8fe}
.activities-participant-planning-inline{margin-top:.85rem;padding-top:.85rem;border-top:1px solid #d9e5ef}
.activities-participant-planning-inline .activity-participant-planning-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:.75rem;margin-bottom:.55rem}
.case-study-finalization-popup{width:min(720px,calc(100vw - 28px));max-width:720px}
.case-study-finalization-help{margin:.45rem 0 1rem;color:#536a80;font-weight:650}
.case-study-finalization-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;text-align:left}
.case-study-finalization-grid label{display:grid;gap:.3rem;color:#36536f;font-size:.78rem;font-weight:850}
.case-study-finalization-grid .case-study-location-field,.case-study-finalization-grid .case-study-objective-field{grid-column:1/-1}
.case-study-finalization-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1rem}
.case-study-only-finalize{border:1px solid #a9bfd3!important;background:#fff!important;color:#20496e!important;font-weight:850!important}
.case-study-create-activity{border:0!important;background:linear-gradient(135deg,#0f2d5c,#287cc2)!important;color:#fff!important;font-weight:900!important}
.case-study-finalization-progress{display:flex;align-items:center;gap:.6rem;margin-top:1rem;padding:.8rem;border-radius:12px;background:#eff7ff;color:#174f85}
.design-system-specimen{pointer-events:none;user-select:none}
.design-system-specimen table{margin-bottom:0}
.design-system-specimen .form-control,.design-system-specimen .btn{opacity:1!important}
.design-system-specimen-note{font-size:.76rem;color:#66798c;font-weight:700}
.design-system-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.design-system-example-card{padding:.85rem;border:1px solid #d5e2ee;border-radius:14px;background:#fff}
.design-system-example-card h3{font-size:.9rem;font-weight:900;color:#0f2d5c;margin:0 0 .55rem}
@media(max-width:720px){.case-study-finalization-grid{grid-template-columns:1fr 1fr}.case-study-finalization-grid label:first-child,.case-study-finalization-grid .case-study-location-field,.case-study-finalization-grid .case-study-objective-field{grid-column:1/-1}.case-study-finalization-actions{display:grid;grid-template-columns:1fr}.design-system-example-grid{grid-template-columns:1fr}}
