﻿:root{
  --bg:#f4f7fa;--panel:#fff;--ink:#122b45;--muted:#6f8093;--line:#dbe4ed;
  --blue:#173b62;--blue2:#285b89;--soft:#eef4f9;--accent:#155eef;
  --green:#067647;--green-soft:#ecfdf3;--red:#b42318;--red-soft:#fef3f2;
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:"Segoe UI Variable Text","Segoe UI",Inter,system-ui,sans-serif;
  background:var(--bg);color:var(--ink);font-size:16px;line-height:1.45
}
button,input,select,textarea{font:inherit}
a{color:inherit}
.topbar{
  height:86px;display:grid;grid-template-columns:360px 1fr 360px;align-items:center;
  padding:0 32px;background:linear-gradient(90deg,#edf3f9,#f7faff 40%,#edf3f9);
  border-bottom:1px solid #ccd7e4;box-shadow:0 8px 24px rgba(18,43,74,.07);
  position:sticky;top:0;z-index:20
}
.brand,.account{display:flex;align-items:center;gap:12px}.brand-link{text-decoration:none}
.sam-mark{
  width:44px;height:44px;border-radius:12px;background:linear-gradient(180deg,#183a63,#122b4a);
  color:#fff;display:grid;place-items:center;font-weight:900
}
.sam-name{display:flex;flex-direction:column;align-items:center}
.sam-name strong:first-child{font-size:11px;letter-spacing:.14em;line-height:1}
.sam-name strong:last-child{font-size:17px;margin-top:5px;letter-spacing:.03em;line-height:1}
.modules{
  display:flex;justify-content:center;gap:8px;padding:6px;border:1px solid #cfdae7;border-radius:14px;
  background:linear-gradient(90deg,#edf3f9,#f2f6fb,#edf3f9)
}
.modules a{
  text-decoration:none;border:1px solid transparent;color:#24384f;padding:10px 15px;border-radius:10px;
  font-size:14px;font-weight:800
}
.modules a.active{background:#e5eef9;border-color:#c7d7e9;color:#12345b;box-shadow:0 3px 10px rgba(18,43,74,.06)}
.account{justify-content:flex-end;font-size:13px}.account strong,.account small{display:block}.account small{font-size:10px;color:var(--muted)}
.avatar{width:38px;height:38px;border-radius:50%;background:#e7eef7;display:grid;place-items:center;font-weight:900}
.logout,.security-link{border:0;background:transparent;color:#53677d;font-size:10px;cursor:pointer;text-decoration:none;padding:5px}
.layout{display:grid;grid-template-columns:236px 1fr;min-height:calc(100vh - 86px)}
.sidebar{
  padding:24px 14px;background:linear-gradient(180deg,#f7faff,#eef4f9);border-right:1px solid #d7e0ea;
  display:flex;flex-direction:column
}
.side-label{font-size:10px;letter-spacing:.16em;color:#7f93aa;font-weight:900}.sidebar h2{font-size:22px;margin:6px 0 16px}
.sidebar a{display:block;text-decoration:none;color:#28415d;padding:13px 12px;border-radius:12px;margin:6px 0;font-size:16px;font-weight:800}
.sidebar a:hover{background:rgba(255,255,255,.75)}
.side-security{margin-top:auto;padding:12px;border:1px solid #d8e3ee;border-radius:11px;background:rgba(255,255,255,.65)}
.side-security strong,.side-security span{display:block}.side-security strong{font-size:10px}.side-security span{font-size:8px;color:#8495a8;margin-top:3px}
.content{padding:36px;max-width:1380px;width:100%}.crumb{font-size:13px;color:#6f86a0;font-weight:600}
.page-title{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:7px 0 26px}.page-title h1{font-size:38px;margin:0 0 6px;letter-spacing:-.02em}.page-title p{margin:0;color:#60758b;font-size:16px}
.with-actions{align-items:center}
.btn{
  display:inline-block;text-decoration:none;border:1px solid #cfd8e3;background:#fff;color:#344054;
  border-radius:10px;padding:12px 15px;font-size:14px;font-weight:800;cursor:pointer
}
.btn.primary{background:#173b62;border-color:#173b62;color:#fff}
.messages{margin-bottom:14px}.message{padding:10px 12px;border:1px solid #cfe8da;background:#f1fbf5;color:#17633f;border-radius:9px;font-size:12px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:24px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.stats.three{grid-template-columns:repeat(3,1fr)}
.stats article{padding:17px 18px;background:#fff;border-right:1px solid var(--line)}.stats article:last-child{border-right:0}
.stats span,.stats small{display:block;color:var(--muted);font-size:11px}.stats strong{display:block;font-size:28px;margin:4px 0}.stats .small-value{font-size:15px}
.verse{padding:22px 24px;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue2));margin-bottom:20px}
.verse.compact{margin-top:18px}.verse span{font-size:10px;letter-spacing:.16em;color:#bed0e2;font-weight:900}.verse blockquote{font-size:19px;line-height:1.5;margin:12px 0}.verse cite{font-size:12px;font-style:normal;color:#dce8f4;font-weight:800}
.panel,.detail-card,.report-item{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(18,43,74,.035)}
.panel-head{display:flex;justify-content:space-between;padding:15px 16px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:16px;margin:0}.panel-head small{color:var(--muted)}
.row,.detail-row{display:flex;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);font-size:13px}.row:last-child,.detail-row:last-child{border-bottom:0}
.empty,.muted{padding:16px;color:var(--muted);font-size:12px}
.search-bar{display:flex;gap:10px;margin-bottom:18px}.search-bar input{flex:1;max-width:460px}
.table-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:auto;box-shadow:0 6px 18px rgba(18,43,74,.035)}
table{width:100%;border-collapse:collapse}th,td{padding:16px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:14px}th{background:#f4f8fc;color:#4e647d;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}tbody tr:nth-child(even){background:#fbfdff}tbody tr:hover{background:#f4f8fc}.table-link{font-weight:800;color:#173b62;text-decoration:none;font-size:14.5px}.status{display:inline-block;padding:6px 10px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:11px;font-weight:800}
.form-shell{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 10px 24px rgba(18,43,74,.05)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field label{display:block;font-size:12px;font-weight:900;color:#334a65;margin-bottom:8px;letter-spacing:.01em}.field small{display:block;color:#7c8ea2;font-size:11px;margin-top:5px}
.form-control,.field input,.field select,.field textarea,.search-bar input{width:100%;padding:14px 14px;border:1px solid #c7d4e2;border-radius:12px;background:#fff;color:#223548;outline:none;font-size:15px;box-shadow:0 1px 2px rgba(18,43,74,.03)}.form-control:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#7fa2c9;box-shadow:0 0 0 4px rgba(47,91,137,.10)}
.field textarea{min-height:120px}.field-error,.form-errors{color:var(--red);font-size:12px;font-weight:700;margin-top:6px}.form-errors{padding:12px 14px;background:var(--red-soft);border-radius:10px;margin-bottom:18px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-card{padding:18px}.detail-card h2{font-size:18px;margin:0 0 14px}.detail-card dl{display:grid;grid-template-columns:160px 1fr;gap:12px;margin:0}.detail-card dt{font-size:12px;color:#72859a;font-weight:700}.detail-card dd{font-size:14px;margin:0;font-weight:700}
.report-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.report-item{padding:16px}.report-item h3{font-size:14px;margin:12px 0 6px}.report-item p{font-size:14px;line-height:1.7;color:#435366}
.entity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.entity-grid article{padding:15px;background:#fff;border:1px solid var(--line);border-radius:11px}.entity-grid strong,.entity-grid span{display:block}.entity-grid strong{font-size:14px}.entity-grid span{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}

/* Login administrativo */
.auth-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#e9f0f7,#f8fafc)}
.auth-card{width:min(440px,calc(100% - 30px));background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 24px 70px rgba(18,43,74,.13)}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.auth-card h1{font-size:30px;margin:0 0 8px}.auth-subtitle{font-size:15px;color:var(--muted);margin:0 0 20px}.auth-info{padding:10px 12px;border-radius:10px;background:#eef4f9;color:#355674;font-size:12px;font-weight:800;margin-bottom:14px}.secure-form label{display:block;font-size:12px;font-weight:900;margin:14px 0 7px}.secure-form input,.secure-form select{width:100%;padding:13px 14px;border:1px solid #cfd8e3;border-radius:10px;font-size:15px}.auth-actions{display:flex;gap:10px;margin-top:20px}.auth-actions button{flex:1;padding:13px;border:0;border-radius:10px;background:#173b62;color:#fff;font-weight:800;font-size:14px}.auth-actions button.secondary{background:#eef3f7;color:#355674}.error-box{padding:12px;border-radius:10px;background:#fff0f0;color:#9f2f2f;font-size:13px}

@media(max-width:1050px){
  .topbar{grid-template-columns:300px 1fr 160px}.account-copy,.security-link{display:none}
  .stats{grid-template-columns:1fr 1fr}.entity-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  .topbar{grid-template-columns:1fr auto;padding:0 16px}.modules{display:none}.layout{grid-template-columns:1fr}.sidebar{display:none}.content{padding:22px 14px}.form-grid,.detail-grid,.report-columns{grid-template-columns:1fr}.stats,.stats.three{grid-template-columns:1fr}.sam-name{display:none}.page-title h1{font-size:28px}
}


.sidebar a.active{
  background:#ffffff;
  border:1px solid #d6e2ef;
  box-shadow:0 8px 18px rgba(18,43,74,.05);
  color:#173b62;
}
.panel-head h2,
.table-wrap + .panel-head h2{
  letter-spacing:-.01em;
}


/* ===== Dashboard missionário — enriquecimento visual ===== */
.mission-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(270px,.75fr);
  gap:28px;
  padding:30px;
  margin:10px 0 20px;
  border-radius:20px;
  color:#fff;
  background:
    radial-gradient(circle at 86% 18%,rgba(255,255,255,.15),transparent 22%),
    radial-gradient(circle at 67% 92%,rgba(116,176,226,.20),transparent 31%),
    linear-gradient(128deg,#12365d 0%,#1a4b79 58%,#2e6b99 100%);
  box-shadow:0 18px 38px rgba(18,54,93,.16);
}
.mission-hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(90deg,transparent,black 45%,black);
}
.mission-hero-copy,.mission-hero-actions{position:relative;z-index:1}
.mission-eyebrow{
  display:block;
  margin-bottom:9px;
  color:#cbdced;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}
.mission-hero h1{
  margin:0 0 10px;
  font-size:35px;
  letter-spacing:-.035em;
}
.mission-hero p{
  max-width:720px;
  margin:0;
  color:#dce8f3;
  font-size:14px;
  line-height:1.7;
}
.hero-presence{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.hero-presence span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#f8fbff;
  font-size:11px;
  font-weight:700;
}
.country-flag{font-size:15px;line-height:1}
.mission-hero-actions{
  align-self:center;
  display:grid;
  gap:8px;
}
.hero-action-label{
  margin:0 0 2px 2px;
  color:#cbdced;
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hero-action{
  display:flex;
  align-items:center;
  gap:11px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  background:rgba(255,255,255,.08);
  color:#fff;
  text-decoration:none;
  transition:.18s ease;
}
.hero-action:hover{
  background:rgba(255,255,255,.14);
  transform:translateY(-1px);
}
.hero-action.primary{background:#fff;color:#173b62;border-color:#fff}
.hero-action-icon{
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:9px;
  background:rgba(255,255,255,.12);
  font-size:17px;font-weight:900;
}
.hero-action.primary .hero-action-icon{background:#edf4fb}
.hero-action strong,.hero-action small{display:block}
.hero-action strong{font-size:11px}
.hero-action small{margin-top:2px;font-size:8px;opacity:.72}

.mission-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
.mission-kpi{
  display:flex;
  align-items:center;
  gap:13px;
  padding:16px;
  border:1px solid #d9e3ec;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 20px rgba(18,43,74,.045);
}
.mission-kpi span,.mission-kpi small{display:block}
.mission-kpi span{color:#526980;font-size:10px;font-weight:800}
.mission-kpi strong{display:block;margin:1px 0;font-size:25px;letter-spacing:-.03em;color:#173653}
.mission-kpi small{font-size:8px;color:#8a9bad}
.kpi-icon{
  flex:0 0 auto;
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:11px;
  font-size:12px;
  font-weight:900;
}
.kpi-blue{background:#eaf2fb;color:#285f91}
.kpi-green{background:#ecf8f2;color:#247554}
.kpi-gold{background:#fff6df;color:#946e19}
.kpi-violet{background:#f2edfb;color:#7052a4}

.dashboard-grid{
  display:grid;
  gap:16px;
  margin-bottom:16px;
}
.dashboard-grid-main{grid-template-columns:minmax(0,1.65fr) minmax(300px,.65fr)}
.dashboard-grid-secondary{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}

.dashboard-card{
  border:1px solid #d9e3ec;
  border-radius:17px;
  background:#fff;
  box-shadow:0 9px 24px rgba(18,43,74,.045);
  overflow:hidden;
}
.dashboard-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:18px 20px 0;
}
.dashboard-card-head h2{
  margin:3px 0 3px;
  color:#193a59;
  font-size:17px;
  letter-spacing:-.02em;
}
.dashboard-card-head p{
  margin:0;
  color:#8495a7;
  font-size:9px;
}
.card-kicker{
  color:#7890a8;
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
}
.card-kicker.light{color:#bed2e6}
.soft-badge{
  padding:6px 9px;
  border-radius:999px;
  background:#eff5fa;
  color:#456885;
  font-size:9px;
  font-weight:800;
}
.text-link{
  margin-top:4px;
  color:#315f88;
  font-size:9px;
  font-weight:800;
  text-decoration:none;
}

.world-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 185px;
  gap:12px;
  padding:10px 16px 16px;
}
.world-map{
  position:relative;
  min-height:255px;
  display:flex;
  align-items:center;
}
.world-map img{
  width:100%;
  height:auto;
  display:block;
}
.map-marker{
  position:absolute;
  width:14px;height:14px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:3px solid #fff;
  background:#2e6796;
  box-shadow:0 0 0 4px rgba(46,103,150,.18),0 4px 10px rgba(18,43,74,.18);
}
.map-marker:after{
  content:"";
  position:absolute;
  inset:-8px;
  border:1px solid rgba(46,103,150,.28);
  border-radius:50%;
  animation:mapPulse 2.6s ease-out infinite;
}
.marker-cuba{left:27%;top:39%}
.marker-haiti{left:30%;top:41%}
.marker-argentina{left:29%;top:78%}
.marker-paraguai{left:31.5%;top:68%}
.marker-guine{left:48.5%;top:55%}
.marker-mocambique{left:60.5%;top:72%}
@keyframes mapPulse{
  0%{transform:scale(.65);opacity:.85}
  70%,100%{transform:scale(1.35);opacity:0}
}
.presence-list{
  display:grid;
  align-content:center;
  gap:7px;
}
.presence-country{
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  border:1px solid #e1e9f0;
  border-radius:10px;
  background:#fbfdff;
}
.presence-flag{font-size:18px;line-height:1}
.presence-country strong{font-size:10px;color:#2f4a64}

.verse-card-rich{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:100%;
  padding:26px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.16),transparent 22%),
    linear-gradient(145deg,#173b62,#285d88);
  border-color:#244f77;
}
.verse-quote-mark{
  position:absolute;
  top:4px;
  right:18px;
  color:rgba(255,255,255,.10);
  font-family:Georgia,serif;
  font-size:116px;
  line-height:1;
}
.verse-card-rich blockquote{
  position:relative;
  z-index:1;
  margin:18px 0 12px;
  font-family:Georgia,serif;
  font-size:22px;
  line-height:1.55;
}
.verse-card-rich cite{
  font-size:11px;
  font-style:normal;
  font-weight:800;
  color:#d9e6f2;
}
.verse-detail{
  margin-top:25px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.14);
  color:#cbdceb;
  font-size:9px;
}

.recent-list{padding:10px 12px 14px}
.recent-item{
  display:flex;
  align-items:center;
  gap:11px;
  padding:10px;
  border-radius:11px;
  text-decoration:none;
}
.recent-item:hover{background:#f6f9fc}
.recent-avatar{
  width:36px;height:36px;
  flex:0 0 auto;
  display:grid;place-items:center;
  border-radius:11px;
  background:#eaf2f9;
  color:#315d84;
  font-size:11px;
  font-weight:900;
}
.recent-main{min-width:0;flex:1}
.recent-main strong,.recent-main small{display:block}
.recent-main strong{font-size:11px;color:#27445f}
.recent-main small{margin-top:2px;font-size:8px;color:#8b9aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.recent-date{font-size:8px;color:#9aa8b7}

.featured-church-card{padding-bottom:16px}
.featured-church{
  display:flex;
  align-items:center;
  gap:12px;
  padding:20px 20px 14px;
}
.featured-church-icon{
  width:44px;height:44px;
  display:grid;place-items:center;
  border-radius:13px;
  background:#edf4fa;
  color:#2e648f;
  font-size:18px;
}
.featured-church h3{margin:0;font-size:14px;color:#24435f}
.featured-church p{margin:3px 0 0;color:#8b9aaa;font-size:9px}
.featured-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin:0 16px;
  border:1px solid #e0e8ef;
  border-radius:11px;
  overflow:hidden;
}
.featured-stats div{padding:11px;background:#fbfdff}
.featured-stats div+div{border-left:1px solid #e0e8ef}
.featured-stats span,.featured-stats strong{display:block}
.featured-stats span{font-size:8px;color:#8a99a8}
.featured-stats strong{margin-top:3px;font-size:12px;color:#29465f}
.card-action{
  display:block;
  margin:13px 20px 0;
  color:#315f88;
  text-decoration:none;
  font-size:9px;
  font-weight:800;
}
.empty-state{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:22px 18px;
  color:#7f91a3;
}
.empty-state.large{padding:28px 20px}
.empty-state strong{font-size:10px;color:#5c7186}
.empty-state span{font-size:8px}

.quick-links-card{margin-bottom:16px}
.quick-links-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px;
  padding:14px 16px 18px;
}
.quick-link{
  min-width:0;
  padding:13px;
  border:1px solid #e0e8ef;
  border-radius:12px;
  background:#fbfdff;
  text-decoration:none;
  transition:.16s ease;
}
.quick-link:hover{
  transform:translateY(-2px);
  border-color:#cbdbe9;
  background:#fff;
  box-shadow:0 8px 18px rgba(18,43,74,.06);
}
.quick-symbol{
  width:30px;height:30px;
  display:grid;place-items:center;
  margin-bottom:9px;
  border-radius:9px;
  background:#eaf2f9;
  color:#315f88;
  font-weight:900;
}
.quick-link strong,.quick-link small{display:block}
.quick-link strong{font-size:9px;color:#2e4962}
.quick-link small{margin-top:3px;font-size:7.5px;color:#94a2b1;line-height:1.4}

.activity-card{margin-bottom:8px}
.activity-list{padding:10px 16px 16px}
.activity-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:9px 2px;
  border-bottom:1px solid #eef2f5;
}
.activity-item:last-child{border-bottom:0}
.activity-dot{
  width:8px;height:8px;
  flex:0 0 auto;
  margin-top:4px;
  border-radius:50%;
  background:#3c709b;
  box-shadow:0 0 0 4px #edf4f9;
}
.activity-copy strong,.activity-copy small{display:block}
.activity-copy strong{font-size:9px;color:#425b72}
.activity-copy small{margin-top:2px;font-size:8px;color:#94a3b2}

@media(max-width:1180px){
  .mission-hero{grid-template-columns:1fr}
  .mission-hero-actions{grid-template-columns:repeat(3,1fr)}
  .hero-action-label{grid-column:1/-1}
  .mission-kpis{grid-template-columns:repeat(2,1fr)}
  .dashboard-grid-main,.dashboard-grid-secondary{grid-template-columns:1fr}
  .quick-links-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .mission-hero{padding:22px}
  .mission-hero h1{font-size:29px}
  .mission-hero-actions{grid-template-columns:1fr}
  .mission-kpis{grid-template-columns:1fr}
  .world-layout{grid-template-columns:1fr}
  .presence-list{grid-template-columns:repeat(2,1fr)}
  .quick-links-grid{grid-template-columns:repeat(2,1fr)}
}


/* ===== Correções visuais solicitadas ===== */

/* Hero sem a coluna "Ações rápidas" */
.mission-hero-clean{
  display:block;
  min-height:auto;
}
.mission-hero-clean .mission-hero-copy{
  max-width:980px;
}
.mission-hero-clean .mission-hero-copy p{
  max-width:900px;
}
.mission-hero-clean .hero-presence span{
  padding:7px 11px 7px 8px;
}
.mission-hero-clean .hero-presence img{
  width:24px;
  height:16px;
  object-fit:cover;
  border-radius:3px;
  box-shadow:0 0 0 1px rgba(255,255,255,.22);
}

/* Bandeiras reais ao lado dos nomes no bloco do mapa */
.presence-country img{
  width:30px;
  height:20px;
  object-fit:cover;
  flex:0 0 auto;
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(18,43,74,.08);
}
.presence-country{
  padding:9px 10px;
}
.presence-country strong{
  font-size:11px;
}

/* Mapa equiretangular real; marcadores reposicionados por lat/lon */
.world-map{
  min-height:280px;
  border:1px solid #e3eaf1;
  border-radius:14px;
  overflow:hidden;
  background:#f6f9fc;
}
.world-map img{
  width:100%;
  height:auto;
  max-height:310px;
  object-fit:contain;
}

/* Coordenadas aproximadas usando projeção equiretangular
   com extensão de -180..180 e -60..85 */
.marker-cuba{left:27.9%;top:43.8%}
.marker-haiti{left:29.9%;top:45.5%}
.marker-argentina{left:32.3%;top:85.1%}
.marker-paraguai{left:33.8%;top:74.8%}
.marker-guine{left:45.8%;top:50.5%}
.marker-mocambique{left:59.9%;top:71.5%}

/* Ações rápidas continuam disponíveis mais abaixo nos atalhos,
   sem ocupar a lateral do bloco principal. */
@media(max-width:1180px){
  .mission-hero-clean{
    display:block;
  }
}


/* ============================================================
   DASHBOARD MISSIONÁRIO V3 — refinamento visual sem redesenho
   ============================================================ */

body{
  background:
    radial-gradient(circle at 82% 14%,rgba(99,151,197,.07),transparent 26%),
    radial-gradient(circle at 24% 84%,rgba(182,203,221,.10),transparent 24%),
    var(--bg);
}

.dashboard-topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:8px;
}
.dashboard-date-note{
  color:#8b9cad;
  font-size:10px;
  font-weight:700;
}

/* Hero mais elegante e menos pesado */
.mission-hero-v3{
  min-height:218px;
  display:flex;
  align-items:center;
  padding:31px 34px;
  background:
    radial-gradient(circle at 84% 22%,rgba(255,255,255,.12),transparent 20%),
    radial-gradient(circle at 78% 105%,rgba(119,181,226,.18),transparent 34%),
    linear-gradient(125deg,#12385f 0%,#1d527f 63%,#3e79a3 100%);
}
.mission-hero-v3 .mission-hero-copy{
  max-width:820px;
  padding-right:220px;
}
.mission-hero-v3 h1{
  font-size:38px;
  margin-bottom:11px;
}
.mission-hero-v3 p{
  max-width:720px;
  font-size:14px;
  line-height:1.72;
}
.hero-summary{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:21px;
  color:#d6e3ef;
  font-size:10px;
}
.hero-summary strong{color:#fff;font-size:12px}
.hero-summary i{
  width:4px;height:4px;
  border-radius:50%;
  background:rgba(255,255,255,.42);
}

/* globo decorativo sutil */
.hero-globe{
  position:absolute;
  right:62px;
  top:50%;
  width:150px;
  height:150px;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.19);
  border-radius:50%;
  opacity:.88;
}
.hero-globe-ring,
.hero-globe-cross{
  position:absolute;
  inset:18px 36px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
}
.hero-globe .ring-two{inset:18px 55px}
.hero-globe-cross{
  inset:42px 9px;
}
.hero-globe .cross-two{
  inset:67px 9px;
}
.hero-globe-dot{
  position:absolute;
  width:7px;height:7px;
  border:2px solid rgba(255,255,255,.86);
  border-radius:50%;
  background:#87b7dc;
  box-shadow:0 0 0 5px rgba(255,255,255,.06);
}
.dot-one{left:35px;top:49px}
.dot-two{right:31px;top:61px}
.dot-three{left:67px;bottom:25px}
.dot-four{right:50px;bottom:53px}

/* KPIs */
.mission-kpis-v3{gap:14px;margin-bottom:20px}
.mission-kpis-v3 .mission-kpi{
  position:relative;
  min-height:96px;
  padding:17px 18px;
  border-color:#d7e2ec;
}
.mission-kpis-v3 .mission-kpi:after{
  content:"";
  position:absolute;
  left:18px;right:18px;bottom:0;
  height:2px;
  border-radius:99px 99px 0 0;
  background:#dce8f2;
}
.mission-kpis-v3 .mission-kpi:nth-child(2):after{background:#d8eee4}
.mission-kpis-v3 .mission-kpi:nth-child(3):after{background:#f2e7c4}
.mission-kpis-v3 .mission-kpi:nth-child(4):after{background:#e5dcf4}
.mission-kpis-v3 .kpi-icon{
  width:42px;height:42px;border-radius:12px;
}
.kpi-icon svg,
.quick-symbol svg,
.featured-church-icon svg{
  width:20px;height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mission-kpis-v3 .mission-kpi span{font-size:11px}
.mission-kpis-v3 .mission-kpi strong{font-size:28px}
.mission-kpis-v3 .mission-kpi small{font-size:9px}

/* mapa e coluna direita */
.dashboard-grid-main-v3{
  grid-template-columns:minmax(0,1.72fr) minmax(300px,.68fr);
  align-items:stretch;
}
.dashboard-stack{
  display:grid;
  grid-template-rows:auto 1fr;
  gap:16px;
}
.world-card-v3{padding-bottom:8px}
.world-map-v3{
  margin:12px 18px 0;
  min-height:285px;
  border:none;
  background:linear-gradient(180deg,#f8fbfd,#f4f8fb);
  box-shadow:inset 0 0 0 1px #e1e9f0;
}
.world-map-v3 img{
  max-height:295px;
  padding:8px;
}
.country-ribbon{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px;
  padding:12px 18px 14px;
}
.country-ribbon div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:0;
  padding:8px 7px;
  border:1px solid #e0e8ef;
  border-radius:10px;
  background:#fbfdff;
}
.country-ribbon img{
  width:25px;height:17px;
  flex:0 0 auto;
  object-fit:cover;
  border-radius:3px;
  box-shadow:0 0 0 1px rgba(18,43,74,.07);
}
.country-ribbon strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#35516b;
  font-size:9px;
}

.verse-card-v3{
  min-height:258px;
  padding:25px;
}
.verse-card-v3 blockquote{font-size:20px}
.verse-card-v3 .verse-detail{font-size:9px}

/* Rede de apoio */
.network-card{padding-bottom:15px}
.compact-head{padding-top:15px}
.network-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  padding:12px 14px 9px;
}
.network-stats a{
  padding:10px 8px;
  border:1px solid #e1e9ef;
  border-radius:10px;
  background:#fbfdff;
  text-decoration:none;
  text-align:center;
}
.network-stats span,.network-stats strong{display:block}
.network-stats span{color:#8495a6;font-size:7.5px}
.network-stats strong{margin-top:3px;color:#294b69;font-size:18px}
.network-support{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:2px 14px 0;
  padding:11px 12px;
  border-radius:10px;
  background:#eef5fa;
}
.network-support span{font-size:8px;color:#667e94;font-weight:700}
.network-support strong{font-size:11px;color:#285678}

/* Fluxo de relatórios */
.report-flow-card{margin-bottom:16px}
.report-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  align-items:center;
  gap:10px;
  padding:15px 18px 19px;
}
.flow-stage{
  position:relative;
  padding:14px 15px;
  border:1px solid #dee7ee;
  border-radius:12px;
  background:#fbfdff;
}
.flow-stage:before{
  content:"";
  position:absolute;
  left:0;top:11px;bottom:11px;
  width:3px;
  border-radius:0 4px 4px 0;
  background:#8db1cf;
}
.flow-stage-done:before{background:#72aa88}
.flow-stage span,.flow-stage strong,.flow-stage small{display:block}
.flow-number{font-size:22px;font-weight:900;color:#1d496e}
.flow-stage strong{margin-top:2px;font-size:10px;color:#35516b}
.flow-stage small{margin-top:2px;font-size:8px;color:#8a9aaa}
.flow-arrow{color:#a7b6c5;font-size:18px}

/* Movimento recente */
.dashboard-grid-secondary-v3{
  grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);
}
.recent-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  padding:12px 14px 16px;
}
.recent-column{min-width:0;padding:0 8px}
.recent-column + .recent-column{
  border-left:1px solid #e8eef3;
  padding-left:16px;
}
.recent-column-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:0 8px 5px;
  padding-bottom:8px;
  border-bottom:1px solid #eef2f5;
}
.recent-column-title strong{font-size:9px;color:#70869b;text-transform:uppercase;letter-spacing:.08em}
.recent-column-title a{font-size:8px;color:#3b668c;text-decoration:none;font-weight:800}
.recent-movement-card .recent-item{padding:9px 8px}
.recent-movement-card .recent-main strong{font-size:10px}
.recent-movement-card .recent-main small{font-size:8px}
.church-avatar{background:#f1edf8;color:#72589c}

/* Igreja em destaque */
.featured-church-v3{
  background:
    radial-gradient(circle at 100% 0%,rgba(84,134,176,.06),transparent 30%),
    #fff;
}
.partnership-badge{
  padding:5px 8px;
  border-radius:999px;
  background:#ecf8f2;
  color:#337456;
  font-size:8px;
  font-weight:800;
}
.featured-church-v3 .featured-church-icon{
  color:#2d658e;
}
.partnership-verse{
  margin:13px 16px 0;
  padding:12px;
  border-left:3px solid #b9cfe0;
  border-radius:0 9px 9px 0;
  background:#f7fafc;
  color:#667c91;
  font-family:Georgia,serif;
  font-size:9px;
  line-height:1.55;
}
.partnership-verse strong{
  display:block;
  margin-top:4px;
  color:#47657f;
  font-family:"Segoe UI",system-ui,sans-serif;
  font-size:8px;
}
.empty-featured{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  padding:24px 20px 20px;
}
.empty-featured strong{font-size:11px;color:#39556e}
.empty-featured span{font-size:9px;color:#8a9aaa;line-height:1.5}
.empty-featured .btn{margin-top:5px}

/* Atalhos */
.quick-links-v3 .quick-links-grid{gap:10px}
.quick-links-v3 .quick-link{padding:14px}
.quick-links-v3 .quick-symbol{
  width:34px;height:34px;
}
.quick-links-v3 .quick-link strong{font-size:10px}
.quick-links-v3 .quick-link small{font-size:8px}
.quick-symbol svg{width:18px;height:18px}

/* Auditoria com linguagem mais humana */
.activity-v3 .dashboard-card-head p{max-width:none}
.activity-v3 .activity-item{padding:10px 2px}
.activity-v3 .activity-copy strong{font-size:10px}
.activity-v3 .activity-copy small{font-size:8px}

@media(max-width:1180px){
  .mission-hero-v3 .mission-hero-copy{padding-right:160px}
  .hero-globe{right:30px;width:130px;height:130px}
  .dashboard-grid-main-v3,
  .dashboard-grid-secondary-v3{grid-template-columns:1fr}
  .dashboard-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .country-ribbon{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .mission-hero-v3 .mission-hero-copy{padding-right:0}
  .hero-globe{display:none}
  .hero-summary{gap:8px}
  .dashboard-stack{grid-template-columns:1fr}
  .report-flow{grid-template-columns:1fr}
  .flow-arrow{transform:rotate(90deg);justify-self:center}
  .recent-columns{grid-template-columns:1fr}
  .recent-column + .recent-column{border-left:0;border-top:1px solid #e8eef3;padding:14px 8px 0;margin-top:8px}
}
@media(max-width:620px){
  .country-ribbon{grid-template-columns:repeat(2,1fr)}
  .dashboard-date-note{display:none}
}


/* ============================================================
   MENU LATERAL V2 — identidade, ícones e navegação contextual
   ============================================================ */

.layout{
  grid-template-columns:270px 1fr;
}

.sidebar-rich{
  position:sticky;
  top:86px;
  height:calc(100vh - 86px);
  padding:22px 14px 16px;
  overflow:auto;
  background:
    radial-gradient(circle at 20% 7%,rgba(74,129,177,.09),transparent 23%),
    linear-gradient(180deg,#f5f9fd 0%,#eef4f9 58%,#eaf1f7 100%);
  border-right:1px solid #d4e0eb;
  box-shadow:inset -1px 0 0 rgba(255,255,255,.72);
}

.sidebar-module-head{
  display:flex;
  align-items:center;
  gap:11px;
  margin:0 4px 18px;
  padding:12px 10px 15px;
  border-bottom:1px solid #d8e3ed;
}

.sidebar-module-icon{
  width:41px;
  height:41px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border:1px solid #d1dfeb;
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#edf4fa);
  color:#24557d;
  box-shadow:0 5px 14px rgba(28,70,106,.06);
}

.sidebar-module-icon svg,
.side-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.sidebar-rich .side-label{
  display:block;
  margin-bottom:3px;
  color:#8295aa;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.sidebar-rich .sidebar-module-head h2{
  margin:0;
  color:#173955;
  font-size:19px;
  letter-spacing:-.02em;
}

.side-nav{
  display:grid;
  gap:7px;
}

.sidebar-rich .side-nav a{
  position:relative;
  display:flex;
  align-items:center;
  gap:11px;
  min-height:58px;
  margin:0;
  padding:9px 10px;
  border:1px solid transparent;
  border-radius:12px;
  color:#38536d;
  text-decoration:none;
  transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}

.sidebar-rich .side-nav a:hover{
  transform:translateX(2px);
  border-color:#d5e1eb;
  background:rgba(255,255,255,.72);
  box-shadow:0 5px 14px rgba(18,43,74,.035);
}

.sidebar-rich .side-nav a.active{
  border-color:#c9dbea;
  background:#fff;
  color:#163f65;
  box-shadow:
    0 8px 20px rgba(18,43,74,.07),
    inset 3px 0 0 #2f668f;
}

.side-icon{
  width:37px;
  height:37px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#e8f0f7;
  color:#53718d;
  transition:.16s ease;
}

.side-nav a.active .side-icon{
  background:linear-gradient(180deg,#e4f0fa,#dbe9f5);
  color:#205983;
}

.side-link-copy{
  min-width:0;
}

.side-link-copy strong,
.side-link-copy small{
  display:block;
}

.side-link-copy strong{
  color:inherit;
  font-size:12px;
  line-height:1.2;
  font-weight:850;
}

.side-link-copy small{
  margin-top:4px;
  color:#92a2b2;
  font-size:8.5px;
  line-height:1.2;
}

.side-nav a.active .side-link-copy small{
  color:#758a9e;
}

.sidebar-bottom{
  display:grid;
  gap:9px;
  margin-top:auto;
  padding-top:20px;
}

.sidebar-verse{
  position:relative;
  overflow:hidden;
  padding:14px 14px 13px;
  border:1px solid #d0dfeb;
  border-radius:13px;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,255,255,.14),transparent 26%),
    linear-gradient(145deg,#1c4b74,#2c678f);
  color:#fff;
  box-shadow:0 8px 22px rgba(21,60,92,.09);
}

.sidebar-verse-mark{
  position:absolute;
  right:10px;
  top:-16px;
  color:rgba(255,255,255,.11);
  font-family:Georgia,serif;
  font-size:76px;
  line-height:1;
}

.sidebar-verse p{
  position:relative;
  margin:0 0 6px;
  font-family:Georgia,serif;
  font-size:11px;
  line-height:1.45;
}

.sidebar-verse strong{
  position:relative;
  color:#d7e7f4;
  font-size:8px;
  letter-spacing:.04em;
}

.sidebar-rich .side-security{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:0;
  padding:10px 11px;
  border:1px solid #d8e3ed;
  border-radius:11px;
  background:rgba(255,255,255,.58);
}

.security-dot{
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:#42a36d;
  box-shadow:0 0 0 4px rgba(66,163,109,.10);
}

.sidebar-rich .side-security strong,
.sidebar-rich .side-security span{
  display:block;
}

.sidebar-rich .side-security strong{
  color:#4a6278;
  font-size:9px;
}

.sidebar-rich .side-security span{
  margin-top:2px;
  color:#91a1b0;
  font-size:7.5px;
}

@media(max-width:1050px){
  .layout{grid-template-columns:230px 1fr}
  .sidebar-rich{padding-left:10px;padding-right:10px}
  .side-link-copy small{display:none}
  .sidebar-rich .side-nav a{min-height:50px}
}

@media(max-width:780px){
  .layout{grid-template-columns:1fr}
  .sidebar-rich{display:none}
}


/* ===== Versículos rotativos ===== */
.verse-card-rich blockquote,
.verse-card-rich cite,
.verse-detail,
.sidebar-verse p,
.sidebar-verse strong{
  transition:opacity .35s ease, transform .35s ease;
}

.verse-changing{
  opacity:0 !important;
  transform:translateY(4px);
}


/* ===== Palavra do Dia centralizada ===== */
.verse-card-v3{
  align-items:center;
  text-align:center;
}

.verse-card-v3 .card-kicker{
  text-align:center;
}

.verse-card-v3 blockquote{
  max-width:310px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.verse-card-v3 cite{
  display:block;
  text-align:center;
}

.verse-card-v3 .verse-detail{
  width:100%;
  text-align:center;
}

.verse-card-v3 .verse-quote-mark{
  left:50%;
  right:auto;
  transform:translateX(-50%);
  top:-2px;
  opacity:.55;
}


/* ============================================================
   TOPO / MENU SUPERIOR V2 — primeira impressão mais forte
   ============================================================ */

.topbar{
  position:sticky;
  top:0;
  z-index:50;
  min-height:86px;
  display:grid;
  grid-template-columns:auto minmax(320px, 640px) auto;
  align-items:center;
  gap:22px;
  padding:14px 22px 14px 26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(248,251,254,.94)),
    linear-gradient(90deg, #f8fbfe, #eef4f9);
  border-bottom:1px solid #d6e1eb;
  box-shadow:
    0 10px 26px rgba(20,53,84,.05),
    inset 0 1px 0 rgba(255,255,255,.6);
  backdrop-filter: blur(10px);
}

.brand-topbar{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  padding:6px 8px 6px 4px;
  border-radius:16px;
  text-decoration:none;
  transition:transform .16s ease, background .16s ease;
}
.brand-topbar:hover{
  background:rgba(255,255,255,.52);
  transform:translateY(-1px);
}

.sam-mark{
  position:relative;
  width:46px;
  height:46px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#fff;
  font-size:14px;
  font-weight:900;
  letter-spacing:.03em;
  background:
    radial-gradient(circle at 30% 28%, rgba(255,255,255,.16), transparent 22%),
    linear-gradient(160deg, #17375c 0%, #12365d 54%, #2c668f 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 10px 20px rgba(18,54,93,.16);
}

.sam-mark:after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.09);
  pointer-events:none;
}

.sam-name{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  line-height:1.02;
}
.sam-name strong{
  display:block;
  color:#173654;
}
.sam-name strong:first-child{
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
}
.sam-name strong:last-child{
  margin-top:4px;
  font-size:17px;
  font-weight:900;
  letter-spacing:-.02em;
}

.modules-topbar{
  justify-self:center;
  width:100%;
  max-width:640px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  padding:8px;
  border:1px solid #cfdae5;
  border-radius:19px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.84), rgba(242,247,251,.96));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    0 8px 20px rgba(18,43,74,.035);
}

.modules-topbar a{
  position:relative;
  min-width:112px;
  text-align:center;
  padding:13px 18px;
  border-radius:14px;
  color:#2a4862;
  font-size:12px;
  font-weight:850;
  text-decoration:none;
  letter-spacing:-.01em;
  transition:all .16s ease;
}

.modules-topbar a:hover{
  color:#163f65;
  background:#f4f8fb;
}

.modules-topbar a.active{
  color:#173d61;
  background:
    linear-gradient(180deg, #eef5fb 0%, #e5eff8 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 8px 16px rgba(47,102,143,.08);
  border:1px solid #cadbea;
}

.modules-topbar a.active:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:7px;
  width:28px;
  height:2px;
  transform:translateX(-50%);
  border-radius:99px;
  background:#2f668f;
  opacity:.85;
}

.account-topbar{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 10px 7px 8px;
  border:1px solid #d8e2eb;
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(243,247,251,.96));
  box-shadow:0 7px 18px rgba(18,43,74,.04);
}

.account-topbar .avatar{
  width:40px;
  height:40px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    linear-gradient(180deg, #eef4fa 0%, #e3edf7 100%);
  color:#264f75;
  font-size:13px;
  font-weight:900;
  border:1px solid #d4dfeb;
}

.account-copy strong{
  display:block;
  color:#163553;
  font-size:12px;
  font-weight:850;
  line-height:1.15;
}
.account-copy small{
  display:block;
  margin-top:3px;
  color:#8b9cad;
  font-size:8.5px;
  line-height:1.2;
}

.account-topbar .logout{
  padding:9px 11px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#7f93a7;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
  transition:background .16s ease, color .16s ease;
}
.account-topbar .logout:hover{
  background:#eef4fa;
  color:#214b71;
}

/* afina os espaçamentos abaixo do topo */
.layout{
  min-height:calc(100vh - 86px);
}
.content{
  padding-top:20px;
}

/* responsividade */
@media (max-width: 1180px){
  .topbar{
    grid-template-columns:1fr;
    gap:12px;
    padding:14px 16px;
  }
  .brand-topbar,
  .modules-topbar,
  .account-topbar{
    justify-self:stretch;
  }
  .modules-topbar{
    max-width:none;
    justify-content:space-between;
    overflow:auto;
  }
  .modules-topbar a{
    min-width:130px;
  }
  .account-topbar{
    justify-self:end;
    width:max-content;
  }
  .sidebar-rich{
    top:152px;
    height:calc(100vh - 152px);
  }
}

@media (max-width: 760px){
  .sam-name strong:first-child{
    font-size:10px;
  }
  .sam-name strong:last-child{
    font-size:15px;
  }
  .modules-topbar{
    gap:6px;
    padding:6px;
    border-radius:15px;
  }
  .modules-topbar a{
    min-width:104px;
    padding:11px 14px;
    font-size:11px;
  }
  .account-topbar{
    width:100%;
    justify-content:flex-end;
  }
  .account-copy small{
    display:none;
  }
}


/* ============================================================
   MENU SUPERIOR V3 — fundo com mais identidade e profundidade
   ============================================================ */

.topbar{
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 11% 35%, rgba(68,124,171,.10), transparent 23%),
    radial-gradient(circle at 72% 0%, rgba(116,164,202,.12), transparent 28%),
    linear-gradient(100deg, #f5f9fd 0%, #eef5fb 42%, #f8fbfe 72%, #edf4fa 100%);
  border-bottom:1px solid #ccdae6;
  box-shadow:
    0 12px 28px rgba(20,53,84,.06),
    inset 0 1px 0 rgba(255,255,255,.88);
}

/* textura muito discreta, lembrando linhas de mapa/rota */
.topbar:before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  pointer-events:none;
  opacity:.46;
  background-image:
    linear-gradient(rgba(57,102,142,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(57,102,142,.028) 1px, transparent 1px);
  background-size:42px 42px;
}

/* brilho curvo sutil por trás do menu central */
.topbar:after{
  content:"";
  position:absolute;
  z-index:-1;
  left:34%;
  top:-94px;
  width:470px;
  height:210px;
  border:1px solid rgba(72,121,162,.10);
  border-radius:50%;
  box-shadow:
    0 0 0 34px rgba(72,121,162,.025),
    0 0 0 70px rgba(72,121,162,.018);
  pointer-events:none;
}

.modules-topbar{
  background:
    linear-gradient(180deg, rgba(255,255,255,.68), rgba(235,243,249,.78));
  border-color:#cbd9e6;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.88),
    0 9px 22px rgba(18,43,74,.045);
  backdrop-filter:blur(12px);
}

.modules-topbar a.active{
  background:
    linear-gradient(180deg, rgba(242,248,253,.96), rgba(224,236,247,.96));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 8px 18px rgba(47,102,143,.09);
}

/* linha de assinatura na base do cabeçalho */
.topbar .brand-topbar:after{
  content:"";
  position:absolute;
  left:60px;
  bottom:2px;
  width:58px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,#315f88,rgba(49,95,136,0));
  opacity:.45;
}

.account-topbar{
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(239,245,250,.86));
  border-color:#d2dfe9;
  backdrop-filter:blur(9px);
}


/* ============================================================
   LISTAS V2 — cadastros e vínculos com mais presença
   ============================================================ */

.list-page-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:22px;
  margin:4px 0 22px;
}
.list-page-head h1{
  margin:7px 0 4px;
  color:#173653;
  font-size:34px;
  letter-spacing:-.035em;
}
.list-page-head p{
  margin:0;
  color:#6f8295;
  font-size:14px;
}
.list-primary-action{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:12px 15px;
  box-shadow:0 8px 18px rgba(23,59,98,.10);
}
.btn-icon{
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:rgba(255,255,255,.12);
  font-size:17px;
  line-height:1;
}

.list-summary-row{
  display:flex;
  align-items:stretch;
  gap:12px;
  margin-bottom:16px;
}
.list-summary-card{
  min-width:185px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 15px;
  border:1px solid #d9e4ed;
  border-radius:13px;
  background:#fff;
  box-shadow:0 7px 18px rgba(18,43,74,.035);
}
.list-summary-card small,
.list-summary-card strong{
  display:block;
}
.list-summary-card small{
  color:#8192a4;
  font-size:9px;
}
.list-summary-card strong{
  margin-top:2px;
  color:#193d5d;
  font-size:22px;
  line-height:1;
}
.summary-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:10px;
  font-size:13px;
  font-weight:900;
}
.summary-blue{background:#e9f2f9;color:#2e6189}
.summary-green{background:#ebf7f1;color:#36775a}
.summary-violet{background:#f2eef9;color:#72579e}
.summary-flag{
  font-size:29px;
  line-height:1;
}
.list-summary-copy{
  flex:1;
  padding:11px 15px;
  border:1px solid #dde6ee;
  border-radius:13px;
  background:linear-gradient(90deg,#f9fbfd,#f3f7fa);
}
.list-summary-copy strong,
.list-summary-copy span{
  display:block;
}
.list-summary-copy strong{
  color:#486179;
  font-size:10px;
}
.list-summary-copy span{
  margin-top:4px;
  color:#8998a7;
  font-size:9px;
  line-height:1.45;
}

/* Busca */
.list-search{
  display:flex;
  gap:9px;
  align-items:center;
  margin-bottom:16px;
}
.search-field{
  position:relative;
  flex:1;
  max-width:610px;
}
.search-field svg{
  position:absolute;
  left:13px;
  top:50%;
  width:17px;
  height:17px;
  transform:translateY(-50%);
  fill:none;
  stroke:#8093a6;
  stroke-width:1.8;
  stroke-linecap:round;
}
.search-field input{
  width:100%;
  height:44px;
  padding:0 14px 0 40px;
  border:1px solid #ccd9e5;
  border-radius:11px;
  background:#fff;
  color:#2f455b;
  font-size:13px;
  outline:none;
  box-shadow:0 4px 13px rgba(18,43,74,.025);
}
.search-field input:focus{
  border-color:#8daec9;
  box-shadow:0 0 0 4px rgba(55,107,149,.08);
}
.search-button,.clear-button{
  height:44px;
  display:inline-flex;
  align-items:center;
}
.clear-button{
  background:#f5f8fb;
}

/* Card da lista */
.list-card{
  border:1px solid #d8e3ec;
  border-radius:15px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 9px 24px rgba(18,43,74,.04);
}
.list-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 17px;
  border-bottom:1px solid #dfe7ee;
  background:
    linear-gradient(180deg,#fbfdff,#f6f9fb);
}
.list-card-head strong,
.list-card-head span{
  display:block;
}
.list-card-head strong{
  color:#274661;
  font-size:12px;
}
.list-card-head div > span{
  margin-top:2px;
  color:#8b9aaa;
  font-size:8.5px;
}
.record-count{
  padding:5px 9px;
  border-radius:999px;
  background:#eaf2f8;
  color:#446a89;
  font-size:8.5px !important;
  font-weight:800;
}

.table-wrap-pro{
  border:0;
  border-radius:0;
  box-shadow:none;
}
.data-table th{
  padding:12px 15px;
  background:#f7f9fb;
  color:#63798e;
  font-size:9px;
  letter-spacing:.08em;
}
.data-table td{
  padding:13px 15px;
  color:#3f5468;
  font-size:11px;
  vertical-align:middle;
}
.data-table tbody tr{
  transition:background .14s ease;
}
.data-table tbody tr:nth-child(even){
  background:#fbfcfd;
}
.data-table tbody tr:hover{
  background:#f3f8fc;
}
.data-table tbody tr:last-child td{
  border-bottom:0;
}

.person-cell,
.church-cell{
  display:flex;
  align-items:center;
  gap:10px;
  color:inherit;
  text-decoration:none;
}
.person-avatar,
.church-symbol{
  width:35px;
  height:35px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#e9f2f9;
  color:#32668f;
  font-size:11px;
  font-weight:900;
}
.adopter-avatar{background:#ebf7f1;color:#397b5d}
.church-symbol{background:#edf3f8;color:#38678d;font-size:13px}
.partner-symbol{background:#f2eef9;color:#755b9d}
.person-cell strong,
.church-cell strong,
.person-cell small,
.church-cell small{
  display:block;
}
.person-cell strong,
.church-cell strong{
  color:#26455f;
  font-size:11px;
}
.person-cell small,
.church-cell small{
  margin-top:2px;
  color:#95a3b1;
  font-size:8px;
}
.no-link{cursor:default}
.church-link:hover strong,
.person-cell:hover strong{
  color:#1c5883;
}

.primary-cell{
  display:block;
  color:#405a71;
  font-size:10.5px;
}
.strong-cell{font-weight:800}
.secondary-cell{
  display:block;
  margin-top:2px;
  color:#9aa7b4;
  font-size:8px;
}
.money-cell{
  color:#285d4a;
  font-size:10.5px;
}

.count-pill{
  min-width:28px;
  display:inline-grid;
  place-items:center;
  padding:5px 8px;
  border-radius:8px;
  background:#eef4f8;
  color:#3c6383;
  font-size:9px;
  font-weight:900;
}

.status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 8px;
  border-radius:999px;
  font-size:8.5px;
  font-weight:800;
}
.status i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
}
.status-active{
  background:#ecf8f1;
  color:#337858;
}
.status-muted{
  background:#f0f2f4;
  color:#778694;
}

.type-pill{
  display:inline-block;
  padding:5px 8px;
  border-radius:999px;
  font-size:8px;
  font-weight:800;
}
.type-church{background:#eef1f9;color:#586a95}
.type-person{background:#edf7f2;color:#47765c}

.action-col{
  text-align:right !important;
  white-space:nowrap;
}
.row-action{
  color:#35658c;
  font-size:8.5px;
  font-weight:800;
  text-decoration:none;
}
.row-action:hover{text-decoration:underline}

.table-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  padding:34px 15px;
  text-align:center;
}
.table-empty strong{
  color:#536c82;
  font-size:11px;
}
.table-empty span{
  color:#95a4b2;
  font-size:9px;
}

@media(max-width:900px){
  .list-page-head{
    align-items:flex-start;
  }
  .list-summary-row{
    flex-direction:column;
  }
  .list-summary-card{
    min-width:0;
  }
  .action-col{
    display:none;
  }
}
@media(max-width:650px){
  .list-page-head{
    flex-direction:column;
  }
  .list-search{
    align-items:stretch;
    flex-wrap:wrap;
  }
  .search-field{
    flex:1 0 100%;
    max-width:none;
  }
}


/* Países no SAM: sempre bandeira real + nome completo, nunca siglas */
.summary-flag-img{
  width:40px;
  height:28px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:7px;
  box-shadow:0 0 0 1px rgba(18,43,74,.08), 0 4px 10px rgba(18,43,74,.05);
}
.summary-flag-img img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}


/* ============================================================
   MISSIONÁRIOS POR PAÍS — Cuba padrão, demais países separados
   ============================================================ */

.country-filter-bar{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 16px;
}

.country-filter{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:37px;
  padding:7px 10px;
  border:1px solid #d5e1eb;
  border-radius:11px;
  background:#fff;
  color:#536b80;
  text-decoration:none;
  box-shadow:0 4px 12px rgba(18,43,74,.025);
  transition:.15s ease;
}

.country-filter:hover{
  transform:translateY(-1px);
  border-color:#bdd0df;
  color:#234f73;
}

.country-filter.active{
  border-color:#abc5d9;
  background:linear-gradient(180deg,#f1f7fb,#e7f0f7);
  color:#1e4e73;
  box-shadow:0 6px 16px rgba(32,82,121,.07);
}

.country-filter img{
  width:25px;
  height:17px;
  object-fit:cover;
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(18,43,74,.09);
}

.country-filter strong{
  font-size:9.5px;
}

.country-filter > span:last-child{
  min-width:19px;
  height:19px;
  display:grid;
  place-items:center;
  padding:0 5px;
  border-radius:999px;
  background:#eef3f7;
  color:#718597;
  font-size:7.5px;
  font-weight:900;
}

.country-filter-all{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:#edf3f8;
  color:#47708f;
  font-size:13px;
}

.country-mission-section{
  margin-top:18px;
}

.country-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 3px 9px;
}

.country-section-title{
  display:flex;
  align-items:center;
  gap:10px;
}

.country-section-title img{
  width:38px;
  height:26px;
  object-fit:cover;
  border-radius:6px;
  box-shadow:0 0 0 1px rgba(18,43,74,.08),0 4px 10px rgba(18,43,74,.04);
}

.country-section-title span{
  display:block;
  margin-bottom:1px;
  color:#93a2b0;
  font-size:7px;
  font-weight:900;
  letter-spacing:.12em;
}

.country-section-title h2{
  margin:0;
  color:#23435f;
  font-size:17px;
  letter-spacing:-.02em;
}

.country-section-count{
  padding:5px 9px;
  border-radius:999px;
  background:#eef4f8;
  color:#59748a;
  font-size:8px;
  font-weight:800;
}

.country-cuba-section .country-section-title h2{
  color:#1c4c72;
}

.country-cuba-section .country-section-count{
  background:#e7f1f8;
  color:#35658a;
}

.country-list-card{
  margin-bottom:20px;
}

.country-inline{
  display:inline-flex;
  align-items:center;
  gap:7px;
}

.country-inline img{
  width:25px;
  height:17px;
  object-fit:cover;
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(18,43,74,.08);
}

.country-inline strong{
  color:#38566f;
  font-size:10px;
}

.country-selection-note{
  margin-top:8px;
  padding:9px 10px;
  border:1px solid #d8e4ed;
  border-radius:9px;
  background:#f6f9fc;
  color:#7a8d9e;
  font-size:8.5px;
  line-height:1.45;
}

.country-selection-note strong{
  color:#496a84;
}

.field-cuba_church[hidden]{
  display:none !important;
}

.missionary-country-line{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:5px;
  padding:5px 8px;
  border:1px solid #d7e3ed;
  border-radius:999px;
  background:#f5f9fc;
  color:#526f87;
  font-size:8.5px;
  font-weight:850;
}

.missionary-country-line img{
  width:24px;
  height:16px;
  object-fit:cover;
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(18,43,74,.08);
}

@media(max-width:700px){
  .country-section-head{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }
}


/* ============================================================
   SEXO / EXCLUSÃO DE MISSIONÁRIO
   ============================================================ */

.profile-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.danger-outline{
  border-color:#e3c8c8 !important;
  background:#fffafa !important;
  color:#9b4444 !important;
}
.danger-outline:hover{
  border-color:#d7adad !important;
  background:#fdf3f3 !important;
  color:#823737 !important;
}

.delete-page{
  display:grid;
  place-items:center;
  min-height:calc(100vh - 205px);
  padding:20px 0 42px;
}

.delete-card{
  width:min(100%,680px);
  padding:30px 32px;
  border:1px solid #d9e3eb;
  border-radius:18px;
  background:
    radial-gradient(circle at 100% 0%,rgba(76,119,156,.055),transparent 28%),
    #fff;
  box-shadow:0 14px 34px rgba(18,43,74,.07);
}

.delete-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:16px;
  border-radius:14px;
  background:#fbefef;
  color:#a34848;
}
.delete-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.delete-kicker{
  display:block;
  margin-bottom:7px;
  color:#73899c;
  font-size:8px;
  font-weight:900;
  letter-spacing:.15em;
}

.danger-text{
  color:#a64a4a;
}

.delete-card h1{
  margin:0 0 9px;
  color:#1d3d58;
  font-size:25px;
  letter-spacing:-.025em;
}

.delete-card > p{
  margin:0;
  max-width:590px;
  color:#748697;
  font-size:11px;
  line-height:1.65;
}

.delete-card > p strong{
  color:#465e73;
}

.delete-person{
  display:flex;
  align-items:center;
  gap:11px;
  margin:20px 0 12px;
  padding:12px 13px;
  border:1px solid #dbe5ed;
  border-radius:12px;
  background:#f8fafc;
}

.delete-person img{
  width:38px;
  height:26px;
  object-fit:cover;
  border-radius:6px;
  box-shadow:0 0 0 1px rgba(18,43,74,.08);
}

.delete-person strong,
.delete-person span{
  display:block;
}
.delete-person strong{
  color:#314e68;
  font-size:11px;
}
.delete-person span{
  margin-top:2px;
  color:#8d9dab;
  font-size:8.5px;
}

.delete-warning{
  margin-top:12px;
  padding:10px 12px;
  border:1px solid #edd1d1;
  border-radius:10px;
  background:#fff7f7;
  color:#935353;
  font-size:9px;
  font-weight:800;
}

.delete-dependencies{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:20px 0 12px;
}
.delete-dependencies > div{
  padding:13px;
  border:1px solid #dce5ed;
  border-radius:11px;
  background:#f8fafc;
}
.delete-dependencies small,
.delete-dependencies strong{
  display:block;
}
.delete-dependencies small{
  color:#8495a5;
  font-size:8px;
}
.delete-dependencies strong{
  margin-top:3px;
  color:#31536e;
  font-size:21px;
}

.delete-safe-note{
  padding:12px 13px;
  border:1px solid #d7e5de;
  border-radius:11px;
  background:#f4faf7;
}
.delete-safe-note strong,
.delete-safe-note span{
  display:block;
}
.delete-safe-note strong{
  color:#3f6f58;
  font-size:9px;
}
.delete-safe-note span{
  margin-top:4px;
  color:#71877b;
  font-size:9px;
  line-height:1.5;
}

.delete-actions{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:20px;
}

.danger-solid{
  border:1px solid #9e4141 !important;
  background:linear-gradient(180deg,#ad5151,#963e3e) !important;
  color:#fff !important;
  box-shadow:0 8px 17px rgba(142,58,58,.12);
}
.danger-solid:hover{
  background:linear-gradient(180deg,#a04747,#893838) !important;
}

@media(max-width:650px){
  .profile-actions,
  .delete-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .delete-card{
    padding:23px 20px;
  }
  .delete-dependencies{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   MÍDIA PERMANENTE DO CADASTRO DO MISSIONÁRIO
   ============================================================ */

.missionary-profile-identity{
  display:flex;
  align-items:center;
  gap:16px;
}

.missionary-profile-photo{
  width:78px;
  height:78px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:4px solid #fff;
  border-radius:22px;
  background:linear-gradient(145deg,#e8f1f8,#dce9f3);
  color:#315e81;
  box-shadow:0 9px 24px rgba(18,43,74,.10),0 0 0 1px #d8e3ec;
}

.missionary-profile-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.missionary-profile-photo span{
  font-size:28px;
  font-weight:900;
}

.missionary-media-section{
  margin-top:20px;
  padding:20px;
  border:1px solid #d8e3ec;
  border-radius:17px;
  background:
    radial-gradient(circle at 100% 0%,rgba(77,126,166,.045),transparent 24%),
    #fff;
  box-shadow:0 9px 24px rgba(18,43,74,.04);
}

.media-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:15px;
}

.media-section-head h2{
  margin:4px 0 3px;
  color:#24435e;
  font-size:20px;
}

.media-section-head p{
  margin:0;
  color:#8393a2;
  font-size:9.5px;
  line-height:1.5;
}

.media-total{
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  background:#edf4f8;
  color:#56748c;
  font-size:8px;
  font-weight:850;
}

.media-upload-card{
  display:flex;
  align-items:flex-end;
  gap:18px;
  margin-bottom:22px;
  padding:14px;
  border:1px solid #d8e4ed;
  border-radius:13px;
  background:linear-gradient(180deg,#f9fbfd,#f4f8fb);
}

.media-upload-copy{
  width:185px;
  flex:0 0 auto;
}

.media-upload-copy strong,
.media-upload-copy span{
  display:block;
}

.media-upload-copy strong{
  color:#385873;
  font-size:10px;
}

.media-upload-copy span{
  margin-top:4px;
  color:#8d9ba8;
  font-size:8.5px;
  line-height:1.45;
}

.media-upload-fields{
  flex:1;
  display:grid;
  grid-template-columns:150px minmax(260px,1fr) auto;
  align-items:end;
  gap:10px;
}

.media-upload-fields label{
  display:block;
  margin-bottom:5px;
  color:#5c7185;
  font-size:8.5px;
  font-weight:850;
}

.media-upload-fields small{
  display:block;
  margin-top:4px;
  color:#98a5b1;
  font-size:7.5px;
  line-height:1.35;
}

.media-file-input{
  min-height:42px;
  padding:7px 9px !important;
  background:#fff !important;
}

.media-group + .media-group{
  margin-top:20px;
}

.media-group-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 2px 9px;
}

.media-group-title h3{
  margin:0;
  color:#3b5870;
  font-size:12px;
}

.media-group-title span{
  color:#95a3af;
  font-size:8px;
}

.media-gallery{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
}

.media-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #dce5ec;
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 14px rgba(18,43,74,.035);
}

.media-preview{
  height:150px;
  overflow:hidden;
  background:#eaf0f5;
}

.media-preview a{
  display:block;
  width:100%;
  height:100%;
}

.media-preview img,
.media-preview video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.media-preview video{
  background:#17212b;
}

.media-card-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:9px 10px;
}

.media-card-foot > div{
  min-width:0;
}

.media-card-foot strong,
.media-card-foot span{
  display:block;
}

.media-card-foot strong{
  color:#486279;
  font-size:8.5px;
}

.media-card-foot span{
  max-width:150px;
  margin-top:2px;
  overflow:hidden;
  color:#98a5b1;
  font-size:7px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.media-remove{
  padding:5px 7px;
  border:0;
  border-radius:7px;
  background:#fff4f4;
  color:#9a5151;
  font-size:7.5px;
  font-weight:800;
  cursor:pointer;
}

.media-remove:hover{
  background:#fbe8e8;
  color:#873e3e;
}

.media-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:30px 15px;
  text-align:center;
}

.media-empty-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  margin-bottom:10px;
  border-radius:13px;
  background:#edf4f8;
  color:#648199;
}

.media-empty-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.media-empty strong{
  color:#536c82;
  font-size:10px;
}

.media-empty span{
  margin-top:4px;
  color:#96a4b0;
  font-size:8.5px;
}

@media(max-width:1100px){
  .media-gallery{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .media-upload-card{
    align-items:stretch;
    flex-direction:column;
  }
  .media-upload-copy{
    width:auto;
  }
}

@media(max-width:820px){
  .media-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .media-upload-fields{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .missionary-profile-identity{
    align-items:flex-start;
  }
  .missionary-profile-photo{
    width:64px;
    height:64px;
    border-radius:18px;
  }
  .media-gallery{
    grid-template-columns:1fr;
  }
  .media-preview{
    height:210px;
  }
  .media-section-head{
    flex-direction:column;
  }
}


/* ============================================================
   MÍDIAS NA FICHA INICIAL DO MISSIONÁRIO
   ============================================================ */

.registration-media-block{
  margin-top:24px;
  padding:20px;
  border:1px solid #d8e3ec;
  border-radius:16px;
  background:
    radial-gradient(circle at 100% 0%,rgba(64,115,158,.045),transparent 25%),
    linear-gradient(180deg,#fbfdff,#f7fafc);
}

.registration-media-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:15px;
}

.registration-media-head h2{
  margin:4px 0 4px;
  color:#24435e;
  font-size:18px;
}

.registration-media-head p{
  margin:0;
  max-width:620px;
  color:#8192a2;
  font-size:9.5px;
  line-height:1.55;
}

.optional-badge{
  flex:0 0 auto;
  padding:5px 9px;
  border-radius:999px;
  background:#edf4f8;
  color:#658096;
  font-size:8px;
  font-weight:850;
}

.registration-media-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.registration-upload-card{
  position:relative;
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:11px;
  min-height:78px;
  padding:12px 13px;
  border:1px solid #d8e3ec;
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}

.registration-upload-card:hover{
  transform:translateY(-1px);
  border-color:#b9cddd;
  box-shadow:0 7px 17px rgba(18,43,74,.05);
}

.registration-upload-card input[type="file"]{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}

.upload-card-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#ebf3f9;
  color:#426c8d;
}

.upload-card-icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.upload-card-copy{
  min-width:0;
}

.upload-card-copy strong,
.upload-card-copy small{
  display:block;
}

.upload-card-copy strong{
  color:#3a5770;
  font-size:10px;
}

.upload-card-copy small{
  margin-top:3px;
  color:#94a2af;
  font-size:8px;
  line-height:1.4;
}

.upload-action{
  padding:7px 9px;
  border:1px solid #d3e0ea;
  border-radius:8px;
  background:#f4f8fb;
  color:#4e708c;
  font-size:8px;
  font-weight:850;
  white-space:nowrap;
}

.registration-upload-wide{
  grid-column:1 / -1;
}

.registration-media-note{
  margin-top:11px;
  padding:9px 10px;
  border-radius:9px;
  background:#eef5f9;
  color:#8092a1;
  font-size:8px;
  line-height:1.45;
}

.registration-media-note strong{
  color:#5b7489;
}

@media(max-width:780px){
  .registration-media-grid{
    grid-template-columns:1fr;
  }

  .registration-upload-wide{
    grid-column:auto;
  }

  .registration-upload-card{
    grid-template-columns:42px 1fr;
  }

  .upload-action{
    grid-column:2;
    width:max-content;
  }
}


/* ============================================================
   ICONOGRAFIA GLOBAL V1 — topo, lateral e cartões
   ============================================================ */

.modules-topbar{
  background:
    radial-gradient(circle at 50% -10%, rgba(66,117,159,.10), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(243,247,251,.98));
}

.modules-topbar a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:128px;
  padding:12px 16px;
}

.modules-topbar .module-icon{
  width:30px;
  height:30px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:linear-gradient(180deg,#f6f9fc,#eaf1f7);
  border:1px solid #d8e3ed;
  color:#57738d;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  transition:all .16s ease;
}

.modules-topbar .module-icon svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.modules-topbar .module-label{
  font-size:12px;
  font-weight:850;
  letter-spacing:-.01em;
}

.modules-topbar a:hover .module-icon{
  color:#315c82;
  border-color:#cddce9;
  background:linear-gradient(180deg,#fdfefe,#edf4fa);
}

.modules-topbar a.active .module-icon{
  color:#1f5a84;
  border-color:#c7d9ea;
  background:linear-gradient(180deg,#eef6fd,#dfebf7);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 6px 14px rgba(47,102,143,.10);
}

.sidebar-module-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.88), transparent 36%),
    linear-gradient(180deg,#fefefe,#eaf2f9);
  color:#215983;
}

.sidebar-module-icon svg{
  width:22px;
  height:22px;
}

.sidebar-rich .side-nav{
  gap:8px;
}

.sidebar-rich .side-nav a{
  min-height:62px;
  padding:10px 11px;
  border-radius:14px;
}

.sidebar-rich .side-nav a::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:14px;
  pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.58);
}

.sidebar-rich .side-nav a:hover{
  transform:translateX(3px);
}

.sidebar-rich .side-nav a.active{
  box-shadow:
    0 10px 24px rgba(18,43,74,.075),
    inset 3px 0 0 #2f668f;
}

.side-icon{
  position:relative;
  width:40px;
  height:40px;
  border-radius:12px;
  background:
    radial-gradient(circle at 28% 26%, rgba(255,255,255,.82), transparent 34%),
    linear-gradient(180deg,#edf4fa,#e2edf7);
  border:1px solid #d3e0eb;
  color:#557590;
  box-shadow:0 6px 16px rgba(18,43,74,.04);
}

.side-icon svg{
  width:20px;
  height:20px;
  stroke-width:1.85;
}

.side-nav a:hover .side-icon{
  color:#2d618a;
  border-color:#c9d9e8;
  background:
    radial-gradient(circle at 28% 26%, rgba(255,255,255,.9), transparent 34%),
    linear-gradient(180deg,#f4f9fd,#e7f0f8);
}

.side-nav a.active .side-icon{
  color:#205a84;
  border-color:#c5d8e8;
  background:
    radial-gradient(circle at 28% 24%, rgba(255,255,255,.95), transparent 35%),
    linear-gradient(180deg,#eef6fd,#deebf7);
  box-shadow:
    0 8px 18px rgba(47,102,143,.10),
    inset 0 1px 0 rgba(255,255,255,.95);
}

.side-link-copy strong{
  font-size:12.5px;
}

.side-link-copy small{
  font-size:8.75px;
}

.mission-kpi .kpi-icon{
  width:42px;
  height:42px;
  border-radius:13px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}

.mission-kpi .kpi-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.btn.primary{
  box-shadow:0 10px 20px rgba(23,59,98,.14);
}

@media(max-width:980px){
  .modules-topbar a{
    min-width:auto;
    padding:11px 12px;
  }

  .modules-topbar .module-label{
    display:none;
  }
}

@media(max-width:640px){
  .modules-topbar{
    gap:6px;
    padding:6px;
  }

  .modules-topbar .module-icon{
    width:28px;
    height:28px;
  }

  .sidebar-module-icon{
    width:42px;
    height:42px;
  }

  .side-icon{
    width:38px;
    height:38px;
  }
}


/* ============================================================
   ICONOGRAFIA GLOBAL V2 — listas, botões, ações e cadastros
   ============================================================ */

.icon-button-label{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.icon-button-label > svg{
  width:16px;
  height:16px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.btn-icon-svg{
  width:27px;
  height:27px;
  border-radius:8px;
}

.btn-icon-svg svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.summary-icon-svg{
  width:40px;
  height:40px;
  border-radius:12px;
}

.summary-icon-svg svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.church-symbol-svg{
  border:1px solid rgba(48,93,129,.08);
}

.church-symbol-svg svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.country-filter-all-svg svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.row-action-icon{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  padding:6px 8px;
  border:1px solid transparent;
  border-radius:8px;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}

.row-action-icon svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.row-action-icon:hover{
  text-decoration:none;
  border-color:#d5e2ec;
  background:#f2f7fb;
  color:#245b84;
}

.type-pill-icon{
  display:inline-flex;
  align-items:center;
  gap:5px;
}

.type-pill-icon svg{
  width:13px;
  height:13px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.search-button{
  color:#315d81;
  background:linear-gradient(180deg,#fff,#f3f7fa);
}

.clear-button{
  color:#71869a;
}

.search-button:hover,
.clear-button:hover{
  border-color:#bfd0df;
  background:#eef5fa;
}

.media-remove-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
}

.media-remove-icon svg{
  width:13px;
  height:13px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.registration-upload-card .upload-card-icon{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 5px 13px rgba(18,43,74,.04);
  border:1px solid #d5e2ec;
}

.registration-upload-card:hover .upload-card-icon{
  color:#255d87;
  background:linear-gradient(180deg,#f1f7fc,#e4eef7);
}

.delete-icon{
  border:1px solid #efd4d4;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}

@media(max-width:650px){
  .icon-button-label{
    width:100%;
  }
}


/* ============================================================
   CENTRAL DE RELATÓRIOS V2
   ============================================================ */

.reports-page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin:4px 0 21px;
}

.reports-title-line{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:8px;
}

.reports-title-icon{
  width:50px;
  height:50px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border:1px solid #cedeea;
  border-radius:15px;
  background:
    radial-gradient(circle at 30% 25%,rgba(255,255,255,.95),transparent 35%),
    linear-gradient(180deg,#eff6fb,#e2edf7);
  color:#2b628c;
  box-shadow:0 9px 21px rgba(26,71,105,.08);
}

.reports-title-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.distribution-title-icon{
  color:#39705a;
  background:
    radial-gradient(circle at 30% 25%,rgba(255,255,255,.95),transparent 35%),
    linear-gradient(180deg,#f0f8f4,#e5f2eb);
}

.reports-title-line h1{
  margin:0;
  color:#173653;
  font-size:34px;
  letter-spacing:-.035em;
}

.reports-title-line p{
  margin:4px 0 0;
  color:#74879a;
  font-size:13px;
}

.reports-total{
  padding:6px 10px;
  border:1px solid #d7e3ec;
  border-radius:999px;
  background:#f5f9fc;
  color:#677f93;
  font-size:8.5px;
  font-weight:850;
}

.report-stage-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
  margin-bottom:12px;
}

.report-stage-card{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:88px;
  padding:14px 15px;
  border:1px solid #d9e3ec;
  border-radius:14px;
  background:#fff;
  color:#435f77;
  text-decoration:none;
  box-shadow:0 7px 18px rgba(18,43,74,.035);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.report-stage-card:hover{
  transform:translateY(-2px);
  border-color:#c3d4e2;
  box-shadow:0 11px 24px rgba(18,43,74,.06);
}

.report-stage-card.active{
  border-color:#aac5da;
  box-shadow:0 11px 25px rgba(42,95,137,.09);
}

.stage-card-icon{
  width:42px;
  height:42px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:12px;
  border:1px solid transparent;
}

.stage-card-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.stage-received .stage-card-icon{background:#eef4fb;color:#416f96;border-color:#dce7f1}
.stage-preparation .stage-card-icon{background:#f7f3e9;color:#846d35;border-color:#eae1cc}
.stage-ready .stage-card-icon{background:#edf7f1;color:#3e795a;border-color:#d9e9e0}
.stage-sent .stage-card-icon{background:#f1eef9;color:#695993;border-color:#e2ddef}

.report-stage-card small,
.report-stage-card strong,
.report-stage-card span{
  display:block;
}

.report-stage-card small{
  color:#99a6b2;
  font-size:7.5px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.report-stage-card strong{
  margin:1px 0;
  color:#203f5b;
  font-size:23px;
  line-height:1;
}

.report-stage-card div > span{
  color:#6d8193;
  font-size:9px;
  font-weight:750;
}

.report-flow-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:15px;
  padding:10px 13px;
  border:1px solid #dbe5ed;
  border-radius:12px;
  background:
    linear-gradient(90deg,#f8fbfd,#f1f6fa);
}

.flow-banner-copy strong,
.flow-banner-copy span{
  display:block;
}

.flow-banner-copy strong{
  color:#4a647a;
  font-size:9px;
}

.flow-banner-copy span{
  margin-top:2px;
  color:#8998a5;
  font-size:8px;
}

.flow-reset{
  padding:6px 9px;
  border:1px solid #d4e1eb;
  border-radius:8px;
  background:#fff;
  color:#57748c;
  font-size:8px;
  font-weight:850;
  text-decoration:none;
}

.flow-reset.active{
  background:#e9f2f8;
  color:#32658c;
}

.report-filter-bar{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:15px;
}

.report-search-field{
  position:relative;
  flex:1;
  max-width:600px;
}

.report-search-field svg{
  position:absolute;
  left:13px;
  top:50%;
  width:17px;
  height:17px;
  transform:translateY(-50%);
  fill:none;
  stroke:#8093a6;
  stroke-width:1.8;
  stroke-linecap:round;
}

.report-search-field input{
  width:100%;
  height:44px;
  padding:0 14px 0 40px;
  border:1px solid #ccd9e5;
  border-radius:11px;
  background:#fff;
  color:#2f455b;
  font-size:13px;
  outline:none;
}

.report-search-field input:focus{
  border-color:#8daec9;
  box-shadow:0 0 0 4px rgba(55,107,149,.08);
}

.report-list-shell{
  border:1px solid #d8e3ec;
  border-radius:15px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 9px 24px rgba(18,43,74,.04);
}

.report-list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:15px 17px 13px;
  border-bottom:1px solid #dfe7ee;
  background:linear-gradient(180deg,#fbfdff,#f6f9fb);
}

.report-list-head h2{
  margin:3px 0 0;
  color:#28465f;
  font-size:14px;
}

.report-filter-indicator{
  padding:5px 8px;
  border-radius:999px;
  background:#eaf2f8;
  color:#426986;
  font-size:8px;
  font-weight:850;
}

.report-table-wrap{
  border:0;
  border-radius:0;
  box-shadow:none;
}

.report-table th{
  padding:11px 14px;
  background:#f7f9fb;
  color:#667c90;
  font-size:8.5px;
  letter-spacing:.08em;
}

.report-table td{
  padding:13px 14px;
  font-size:10px;
  vertical-align:middle;
}

.report-table tbody tr{
  transition:background .15s ease;
}

.report-table tbody tr:hover{
  background:#f4f8fb;
}

.report-person{
  display:flex;
  align-items:center;
  gap:10px;
  color:inherit;
  text-decoration:none;
}

.report-person-avatar{
  width:36px;
  height:36px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border:1px solid #d4e1eb;
  border-radius:10px;
  background:linear-gradient(180deg,#edf4fa,#e3edf6);
  color:#356689;
  font-size:11px;
  font-weight:900;
}

.report-person strong,
.report-person small{
  display:block;
}

.report-person strong{
  color:#294760;
  font-size:10.5px;
}

.report-person small{
  margin-top:2px;
  color:#94a2ae;
  font-size:7.8px;
}

.report-competence{
  display:block;
  color:#3b586f;
  font-size:10.5px;
  font-weight:850;
}

.report-language{
  display:block;
  margin-top:2px;
  color:#9ba8b3;
  font-size:7.5px;
}

.report-content-chips{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}

.report-content-chips > span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 6px;
  border:1px solid #dce5ec;
  border-radius:7px;
  background:#f7fafc;
  color:#667e91;
  font-size:7.5px;
  font-weight:850;
}

.report-content-chips svg{
  width:12px;
  height:12px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.report-content-chips .empty-chip{
  color:#99a5af;
  font-weight:700;
}

.report-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 8px;
  border-radius:999px;
  font-size:8px;
  font-weight:850;
  white-space:nowrap;
}

.report-status i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
}

.status-received{background:#edf4fb;color:#386c96}
.status-organized{background:#f5f2e9;color:#816c38}
.status-translated{background:#eef4f7;color:#4e7187}
.status-review{background:#fff4e8;color:#9a681f}
.status-approved{background:#eef7f0;color:#4b7b5c}
.status-ready{background:#eaf7ef;color:#347553}
.status-sent{background:#f0edf8;color:#66558d}

.report-empty-state{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:32px 15px;
  text-align:center;
}

.report-empty-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  margin-bottom:9px;
  border-radius:13px;
  background:#edf4f8;
  color:#668299;
}

.report-empty-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.report-empty-state strong{
  color:#536c82;
  font-size:10px;
}

.report-empty-state > span:last-child{
  margin-top:3px;
  color:#96a4b0;
  font-size:8.5px;
}

/* Detalhe */
.report-detail-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin:4px 0 17px;
}

.report-detail-title{
  display:flex;
  align-items:center;
  gap:13px;
  margin-top:8px;
}

.report-detail-icon{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border:1px solid #d1e0eb;
  border-radius:15px;
  background:linear-gradient(180deg,#eff6fb,#e2edf7);
  color:#2e638a;
}

.report-detail-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.report-detail-eyebrow{
  display:block;
  margin-bottom:1px;
  color:#7c91a4;
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.12em;
}

.report-detail-title h1{
  margin:0;
  color:#183956;
  font-size:28px;
  letter-spacing:-.03em;
}

.report-missionary-meta{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:4px;
  color:#8596a5;
  font-size:8.5px;
}

.report-missionary-meta img{
  width:22px;
  height:15px;
  object-fit:cover;
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(18,43,74,.08);
}

.report-missionary-meta i{
  width:3px;
  height:3px;
  border-radius:50%;
  background:#a6b2bd;
}

.report-status-large{
  padding:7px 10px;
  font-size:9px;
}

.report-detail-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-bottom:15px;
  overflow:hidden;
  border:1px solid #d9e3ec;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 18px rgba(18,43,74,.035);
}

.report-summary-cell{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 14px;
  border-right:1px solid #e2e8ee;
}

.report-summary-cell:last-child{
  border-right:0;
}

.report-summary-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:10px;
  background:#edf4f8;
  color:#55768f;
}

.report-summary-icon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.report-summary-cell small,
.report-summary-cell strong{
  display:block;
}

.report-summary-cell small{
  color:#8d9ca9;
  font-size:7.5px;
}

.report-summary-cell strong{
  margin-top:2px;
  color:#33516a;
  font-size:11px;
}

.report-workflow-card,
.report-content-card,
.report-side-card{
  border:1px solid #d9e3ec;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 21px rgba(18,43,74,.04);
}

.report-workflow-card{
  margin-bottom:15px;
  padding:17px 18px;
}

.report-section-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.report-section-heading h2{
  margin:3px 0 2px;
  color:#294861;
  font-size:15px;
}

.report-section-heading p{
  margin:0;
  color:#8a99a6;
  font-size:8.5px;
}

.workflow-timeline{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:0;
  margin-top:19px;
}

.workflow-step{
  position:relative;
  min-width:0;
  text-align:center;
}

.workflow-step:not(:last-child)::after{
  content:"";
  position:absolute;
  z-index:0;
  top:13px;
  left:56%;
  width:88%;
  height:2px;
  background:#dce4eb;
}

.workflow-step.done:not(:last-child)::after{
  background:#94b5ce;
}

.workflow-dot{
  position:relative;
  z-index:1;
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  margin:0 auto 7px;
  border:2px solid #d8e1e9;
  border-radius:50%;
  background:#fff;
  color:#8ea0ae;
}

.workflow-dot svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.workflow-step.done .workflow-dot{
  border-color:#8eafc8;
  background:#eaf3f9;
  color:#35698f;
}

.workflow-step.current .workflow-dot{
  border-color:#2f668f;
  background:#fff;
  box-shadow:0 0 0 5px rgba(47,102,143,.09);
}

.workflow-step.current .workflow-dot span{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#2f668f;
}

.workflow-step strong,
.workflow-step small{
  display:block;
  padding:0 4px;
}

.workflow-step strong{
  color:#61788b;
  font-size:8px;
}

.workflow-step.current strong{
  color:#234f72;
}

.workflow-step small{
  margin-top:2px;
  color:#a0abb5;
  font-size:6.5px;
  line-height:1.3;
}

.report-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr);
  gap:15px;
  align-items:start;
}

.report-content-card{
  padding:17px;
}

.report-kind-summary{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
}

.report-kind-summary span{
  padding:4px 6px;
  border-radius:999px;
  background:#eef4f8;
  color:#627b8f;
  font-size:7px;
  font-weight:850;
}

.report-items-modern{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.report-item-modern{
  border:1px solid #dfe7ed;
  border-radius:12px;
  overflow:hidden;
  background:#fbfcfd;
}

.report-item-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 11px;
  border-bottom:1px solid #e2e9ef;
  background:#f7fafc;
}

.report-item-kind{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#526f85;
  font-size:8px;
  font-weight:850;
}

.report-item-kind svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.report-sequence{
  color:#9aa7b2;
  font-size:7px;
}

.report-language-columns{
  display:grid;
  grid-template-columns:1fr 34px 1fr;
  align-items:stretch;
}

.report-language-panel{
  padding:12px 13px;
}

.report-language-panel.translated{
  background:#f7fbf8;
}

.language-label{
  display:block;
  margin-bottom:6px;
  color:#8898a6;
  font-size:6.8px;
  font-weight:900;
  letter-spacing:.10em;
}

.report-language-panel p{
  margin:0;
  color:#40596e;
  font-size:9.5px;
  line-height:1.6;
}

.report-language-panel .muted-copy{
  color:#a1adb7;
  font-style:italic;
}

.report-language-divider{
  display:grid;
  place-items:center;
  border-left:1px solid #e3e9ee;
  border-right:1px solid #e3e9ee;
  background:#f5f8fa;
  color:#7890a4;
}

.report-language-divider svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
}

.report-file-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 11px;
  border-top:1px solid #e2e9ef;
  background:#fff;
}

.report-file-icon{
  width:34px;
  height:34px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#edf4f8;
  color:#58768e;
}

.report-file-icon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.report-file-copy{
  flex:1;
  min-width:0;
}

.report-file-copy strong,
.report-file-copy span{
  display:block;
}

.report-file-copy strong{
  color:#496379;
  font-size:8.5px;
}

.report-file-copy span{
  margin-top:2px;
  color:#99a5af;
  font-size:7px;
}

.report-side-stack{
  display:grid;
  gap:12px;
}

.report-side-card{
  padding:15px;
}

.report-side-card h2{
  margin:3px 0 3px;
  color:#31506a;
  font-size:13px;
}

.report-side-card > p{
  margin:0;
  color:#94a1ad;
  font-size:8px;
  line-height:1.5;
}

.report-recipient-list{
  display:grid;
  gap:7px;
  margin-top:12px;
}

.report-recipient{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  border:1px solid #e0e7ed;
  border-radius:10px;
  background:#f9fbfc;
}

.recipient-icon{
  width:31px;
  height:31px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#edf4f8;
  color:#5c788e;
}

.recipient-icon svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.report-recipient strong,
.report-recipient small{
  display:block;
}

.report-recipient strong{
  color:#4a6277;
  font-size:8px;
}

.report-recipient small{
  margin-top:2px;
  color:#9aa6b0;
  font-size:6.8px;
}

.report-side-empty{
  margin-top:10px;
  color:#9aa6b0 !important;
  font-size:8px !important;
}

.report-note-text{
  margin-top:10px !important;
  padding:10px;
  border-radius:9px;
  background:#f7f9fb;
  color:#607489 !important;
  font-size:8.5px !important;
  line-height:1.6 !important;
}

.report-distribution-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:13px 14px;
  border:1px solid #d5e3dc;
  border-radius:12px;
  background:linear-gradient(135deg,#f7fbf9,#edf6f1);
  color:#456e5a;
  text-decoration:none;
}

.report-distribution-link strong,
.report-distribution-link small{
  display:block;
}

.report-distribution-link strong{
  font-size:9px;
}

.report-distribution-link small{
  margin-top:3px;
  color:#829a8d;
  font-size:7px;
}

.report-distribution-link > svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
}

/* Distribuição */
.distribution-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin-bottom:15px;
}

.distribution-summary-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 15px;
  border:1px solid #d9e3ec;
  border-radius:14px;
  background:#fff;
  color:#516a7e;
  text-decoration:none;
  box-shadow:0 7px 18px rgba(18,43,74,.035);
}

.distribution-summary-card.active{
  border-color:#b9cfbf;
  box-shadow:0 10px 22px rgba(53,117,83,.07);
}

.distribution-summary-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
}

.distribution-summary-icon.ready{background:#edf7f1;color:#3b7857}
.distribution-summary-icon.sent{background:#f1eef8;color:#67578d}

.distribution-summary-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.distribution-summary-card small,
.distribution-summary-card strong,
.distribution-summary-card span{
  display:block;
}

.distribution-summary-card small{
  color:#98a5af;
  font-size:7px;
  font-weight:850;
}

.distribution-summary-card strong{
  color:#28495f;
  font-size:22px;
  line-height:1;
}

.distribution-summary-card div > span{
  margin-top:2px;
  color:#738697;
  font-size:8.5px;
}

.recipient-count-pill{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 7px;
  border-radius:8px;
  background:#edf5f1;
  color:#47745c;
  font-size:8px;
  font-weight:850;
}

.recipient-count-pill svg{
  width:13px;
  height:13px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media(max-width:1100px){
  .report-stage-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .report-detail-summary{
    grid-template-columns:repeat(2,1fr);
  }

  .report-summary-cell:nth-child(2){
    border-right:0;
  }

  .report-summary-cell:nth-child(-n+2){
    border-bottom:1px solid #e2e8ee;
  }

  .workflow-timeline{
    grid-template-columns:repeat(4,1fr);
    gap:14px 0;
  }

  .workflow-step:nth-child(4)::after{
    display:none;
  }

  .report-detail-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .reports-page-head,
  .report-detail-top{
    align-items:flex-start;
    flex-direction:column;
  }

  .report-stage-grid,
  .distribution-summary{
    grid-template-columns:1fr;
  }

  .report-filter-bar{
    flex-wrap:wrap;
  }

  .report-search-field{
    flex:1 0 100%;
    max-width:none;
  }

  .workflow-timeline{
    grid-template-columns:1fr;
    gap:0;
  }

  .workflow-step{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding-bottom:12px;
    text-align:left;
  }

  .workflow-step:not(:last-child)::after{
    top:27px;
    left:13px;
    width:2px;
    height:calc(100% - 8px);
  }

  .workflow-dot{
    flex:0 0 auto;
    margin:0;
  }

  .workflow-step strong,
  .workflow-step small{
    padding:0;
  }

  .report-language-columns{
    grid-template-columns:1fr;
  }

  .report-language-divider{
    height:30px;
    border:0;
    border-top:1px solid #e3e9ee;
    border-bottom:1px solid #e3e9ee;
  }

  .report-language-divider svg{
    transform:rotate(90deg);
  }
}

@media(max-width:520px){
  .report-detail-summary{
    grid-template-columns:1fr;
  }

  .report-summary-cell{
    border-right:0;
    border-bottom:1px solid #e2e8ee;
  }

  .report-summary-cell:last-child{
    border-bottom:0;
  }
}


/* ============================================================
   PERFIS V2 — missionário e igreja adotante
   ============================================================ */

.profile-hero{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:9px 0 14px;
  padding:22px 23px;
  border:1px solid #cfdeea;
  border-radius:18px;
  background:
    radial-gradient(circle at 88% 12%,rgba(82,136,180,.12),transparent 25%),
    linear-gradient(118deg,#fbfdff 0%,#f1f7fb 58%,#eaf3f9 100%);
  box-shadow:0 11px 27px rgba(18,43,74,.055);
}

.profile-hero::after{
  content:"";
  position:absolute;
  right:-42px;
  top:-76px;
  width:210px;
  height:210px;
  border:1px solid rgba(57,105,145,.08);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(57,105,145,.025),0 0 0 57px rgba(57,105,145,.018);
}

.profile-hero-main,
.profile-hero-actions{
  position:relative;
  z-index:1;
}

.profile-hero-main{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}

.profile-photo-large{
  width:104px;
  height:104px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:5px solid #fff;
  border-radius:27px;
  background:linear-gradient(145deg,#e9f2f8,#dce9f3);
  color:#315f82;
  box-shadow:0 11px 26px rgba(18,43,74,.11),0 0 0 1px #d3e0ea;
}

.profile-photo-large img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.profile-photo-large > span{
  font-size:34px;
  font-weight:900;
}

.profile-hero-copy{
  min-width:0;
}

.profile-eyebrow-row{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin-bottom:5px;
}

.profile-country-badge,
.church-type-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:5px 8px;
  border:1px solid #d0dfeb;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:#4c6b84;
  font-size:8px;
  font-weight:850;
}

.profile-country-badge img{
  width:23px;
  height:15px;
  object-fit:cover;
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(18,43,74,.08);
}

.church-type-badge{
  color:#526d83;
  letter-spacing:.06em;
}

.profile-status{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  border-radius:999px;
  font-size:8px;
  font-weight:850;
}

.profile-status i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
}

.profile-status.active{
  background:#ebf7f0;
  color:#377759;
}

.profile-status.inactive{
  background:#f0f2f4;
  color:#7c8a96;
}

.profile-hero h1{
  margin:0;
  color:#183956;
  font-size:31px;
  letter-spacing:-.035em;
}

.profile-location{
  margin:3px 0 0;
  color:#71869a;
  font-size:11px;
}

.profile-church-line{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
}

.profile-mini-icon{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border:1px solid #d5e2ec;
  border-radius:9px;
  background:#fff;
  color:#55738c;
}

.profile-mini-icon svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.profile-church-line small,
.profile-church-line strong{
  display:block;
}

.profile-church-line small{
  color:#95a2ad;
  font-size:7px;
}

.profile-church-line strong{
  margin-top:1px;
  color:#49647b;
  font-size:9px;
}

.profile-hero-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.profile-action-btn{
  background:#fff;
}

.profile-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}

.profile-kpis article{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:13px 14px;
  border:1px solid #d9e3ec;
  border-radius:13px;
  background:#fff;
  box-shadow:0 7px 18px rgba(18,43,74,.035);
}

.profile-kpi-icon{
  width:38px;
  height:38px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:11px;
}

.profile-kpi-icon.blue{background:#eaf2f9;color:#35688f}
.profile-kpi-icon.green{background:#ebf7f0;color:#39785a}
.profile-kpi-icon.violet{background:#f2eef9;color:#6c5a96}
.profile-kpi-icon.gold{background:#fff5e2;color:#8b6b2e}

.profile-kpi-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.profile-kpis small,
.profile-kpis strong,
.profile-kpis span{
  display:block;
}

.profile-kpis small{
  color:#8898a5;
  font-size:7px;
  font-weight:800;
}

.profile-kpis strong{
  margin:1px 0;
  overflow:hidden;
  color:#294861;
  font-size:18px;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.profile-kpis span{
  color:#9aa6b0;
  font-size:7px;
}

.profile-kpi-text{
  font-size:11px !important;
}

.profile-main-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:14px;
}

.profile-info-card,
.profile-support-section,
.profile-reports-section{
  border:1px solid #d9e3ec;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 21px rgba(18,43,74,.04);
}

.profile-info-card{
  padding:16px;
}

.profile-card-heading{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:14px;
}

.profile-heading-icon{
  width:36px;
  height:36px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#edf4f8;
  color:#55758e;
}

.profile-heading-icon.field{
  background:#eef5f1;
  color:#4d755f;
}

.profile-heading-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.profile-card-heading h2{
  margin:2px 0 0;
  color:#31506a;
  font-size:13px;
}

.profile-data-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.profile-data-grid > div{
  min-width:0;
  padding:10px 11px;
  border:1px solid #e1e8ee;
  border-radius:10px;
  background:#fafcfd;
}

.profile-data-grid small,
.profile-data-grid strong{
  display:block;
}

.profile-data-grid small{
  color:#96a3ae;
  font-size:7px;
}

.profile-data-grid strong{
  margin-top:3px;
  overflow-wrap:anywhere;
  color:#435e75;
  font-size:9px;
  line-height:1.4;
}

.profile-data-wide{
  grid-column:1/-1;
}

.profile-country-value{
  display:flex !important;
  align-items:center;
  gap:6px;
}

.profile-country-value img{
  width:23px;
  height:15px;
  object-fit:cover;
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(18,43,74,.08);
}

.profile-support-section,
.profile-reports-section{
  margin-bottom:14px;
  padding:16px;
}

.profile-section-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  margin-bottom:12px;
}

.profile-section-heading h2{
  margin:3px 0 2px;
  color:#294861;
  font-size:15px;
}

.profile-section-heading p{
  margin:0;
  color:#8e9ca8;
  font-size:8px;
}

.support-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

.support-card{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:11px;
  border:1px solid #dfe7ed;
  border-radius:11px;
  background:#fafcfd;
}

.support-type-icon{
  width:37px;
  height:37px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#edf4f8;
  color:#55738b;
}

.support-type-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.support-card-main{
  flex:1;
  min-width:0;
}

.support-card-main small,
.support-card-main strong,
.support-card-main span,
.support-amount small,
.support-amount strong{
  display:block;
}

.support-card-main small,
.support-amount small{
  color:#98a5af;
  font-size:6.8px;
}

.support-card-main strong{
  margin-top:1px;
  overflow:hidden;
  color:#415d74;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.support-card-main span{
  margin-top:2px;
  color:#9aa7b1;
  font-size:7px;
}

.support-amount{
  flex:0 0 auto;
  text-align:right;
}

.support-amount strong{
  margin-top:1px;
  color:#387158;
  font-size:9px;
}

.profile-empty-wide{
  grid-column:1/-1;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:24px 15px;
  text-align:center;
}

.profile-empty-wide.compact{
  padding:18px 15px;
}

.profile-empty-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  margin-bottom:8px;
  border-radius:11px;
  background:#edf4f8;
  color:#668299;
}

.profile-empty-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.profile-empty-wide strong{
  color:#536c82;
  font-size:9px;
}

.profile-empty-wide > span:last-child{
  margin-top:3px;
  color:#97a4af;
  font-size:7.5px;
}

.profile-report-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.profile-report-row{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:9px 10px;
  border:1px solid #dfe7ed;
  border-radius:10px;
  background:#fafcfd;
  color:inherit;
  text-decoration:none;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}

.profile-report-row:hover{
  transform:translateY(-1px);
  border-color:#cbdbe7;
  background:#f5f9fc;
}

.profile-report-icon{
  width:33px;
  height:33px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#edf4f8;
  color:#58758d;
}

.profile-report-icon svg,
.profile-report-arrow svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.profile-report-row > div{
  flex:1;
  min-width:0;
}

.profile-report-row strong,
.profile-report-row small{
  display:block;
}

.profile-report-row strong{
  color:#405c73;
  font-size:8.5px;
}

.profile-report-row small{
  margin-top:2px;
  color:#96a3ae;
  font-size:7px;
}

.profile-report-arrow{
  color:#7d93a5;
}

.profile-media-section{
  margin-top:0;
  margin-bottom:14px;
}

.profile-scripture,
.church-partnership-verse{
  position:relative;
  overflow:hidden;
  padding:20px 22px;
  border-radius:15px;
  color:#fff;
  text-align:center;
  background:
    radial-gradient(circle at 85% 10%,rgba(255,255,255,.13),transparent 28%),
    linear-gradient(135deg,#173f67,#2b678f);
  box-shadow:0 10px 25px rgba(21,60,92,.10);
}

.profile-scripture blockquote,
.church-partnership-verse blockquote{
  max-width:620px;
  margin:9px auto 5px;
  font-family:Georgia,serif;
  font-size:16px;
  line-height:1.5;
}

.profile-scripture cite,
.church-partnership-verse cite{
  display:block;
  color:#d6e6f2;
  font-size:8px;
  font-style:normal;
  font-weight:850;
}

.profile-scripture .verse-detail,
.church-partnership-verse p{
  margin:6px 0 0;
  color:#c6d9e9;
  font-size:8px;
}

/* Igreja adotante */
.church-profile-mark{
  width:94px;
  height:94px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border:5px solid #fff;
  border-radius:25px;
  background:linear-gradient(145deg,#eef4f9,#ddeaf4);
  color:#315f82;
  box-shadow:0 11px 26px rgba(18,43,74,.10),0 0 0 1px #d3e0ea;
}

.church-profile-mark svg{
  width:41px;
  height:41px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.church-profile-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}

.church-profile-meta > span{
  padding:7px 9px;
  border:1px solid #d8e4ed;
  border-radius:9px;
  background:rgba(255,255,255,.64);
}

.church-profile-meta small,
.church-profile-meta strong{
  display:block;
}

.church-profile-meta small{
  color:#98a4af;
  font-size:6.5px;
}

.church-profile-meta strong{
  margin-top:1px;
  color:#506a80;
  font-size:8px;
}

.church-missionary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

.church-missionary-card{
  min-width:0;
  padding:12px;
  border:1px solid #dfe7ed;
  border-radius:12px;
  background:#fafcfd;
  color:inherit;
  text-decoration:none;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.church-missionary-card:hover{
  transform:translateY(-2px);
  border-color:#c5d7e4;
  box-shadow:0 8px 18px rgba(18,43,74,.055);
}

.church-missionary-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}

.church-missionary-avatar{
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#e9f2f8;
  color:#396b8e;
  font-size:10px;
  font-weight:900;
}

.church-missionary-country{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#7890a2;
  font-size:7px;
  font-weight:800;
}

.church-missionary-country img{
  width:22px;
  height:15px;
  object-fit:cover;
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(18,43,74,.08);
}

.church-missionary-name{
  display:block;
  overflow:hidden;
  color:#3c5a72;
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.church-missionary-field{
  display:block;
  min-height:20px;
  margin-top:2px;
  color:#97a4af;
  font-size:7px;
}

.church-missionary-support{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:9px;
}

.church-missionary-support > span{
  padding:7px;
  border-radius:8px;
  background:#f0f5f8;
}

.church-missionary-support small,
.church-missionary-support strong{
  display:block;
}

.church-missionary-support small{
  color:#98a5af;
  font-size:6.5px;
}

.church-missionary-support strong{
  margin-top:1px;
  color:#4c667b;
  font-size:8px;
}

.church-missionary-link{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  margin-top:9px;
  color:#47708e;
  font-size:7.5px;
  font-weight:850;
}

.church-missionary-link svg{
  width:13px;
  height:13px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
}

.church-partnership-verse{
  margin-top:14px;
  background:
    radial-gradient(circle at 85% 10%,rgba(255,255,255,.12),transparent 28%),
    linear-gradient(135deg,#234e68,#39755f);
}

@media(max-width:1050px){
  .profile-kpis{
    grid-template-columns:repeat(2,1fr);
  }

  .church-missionary-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:780px){
  .profile-hero{
    align-items:flex-start;
    flex-direction:column;
  }

  .profile-hero-actions{
    width:100%;
  }

  .profile-main-grid{
    grid-template-columns:1fr;
  }

  .support-card-grid,
  .profile-report-list{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .profile-hero-main{
    align-items:flex-start;
  }

  .profile-photo-large,
  .church-profile-mark{
    width:75px;
    height:75px;
    border-radius:20px;
  }

  .church-profile-mark svg{
    width:32px;
    height:32px;
  }

  .profile-hero h1{
    font-size:24px;
  }

  .profile-hero-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .profile-kpis,
  .profile-data-grid,
  .church-missionary-grid{
    grid-template-columns:1fr;
  }

  .profile-data-wide{
    grid-column:auto;
  }
}


/* ============================================================
   GESTÃO DE CADASTROS V1
   ============================================================ */

.row-actions-group{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
}

.row-action-icon-only,
.history-lock{
  width:30px;
  height:30px;
  display:inline-grid;
  place-items:center;
  border:1px solid #d9e3eb;
  border-radius:8px;
  background:#f8fbfd;
  color:#59758b;
  text-decoration:none;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}

.row-action-icon-only:hover{
  transform:translateY(-1px);
  border-color:#bfd2e0;
  background:#edf5fa;
  color:#2f648b;
}

.row-action-icon-only.danger{
  background:#fff8f8;
  color:#9a5b5b;
}

.row-action-icon-only.danger:hover{
  border-color:#e7c7c7;
  background:#fff0f0;
  color:#8e4545;
}

.row-action-icon-only.danger-soft{
  background:#fff9f3;
  color:#9a6b43;
}

.row-action-icon-only.danger-soft:hover{
  border-color:#ead2ba;
  background:#fff3e7;
  color:#88582f;
}

.row-action-icon-only svg,
.history-lock svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.history-lock{
  color:#98a5af;
  background:#f5f7f8;
}

.delete-confirm-card{
  max-width:720px;
  padding:28px;
  border:1px solid #e0d6d6;
  border-radius:17px;
  background:#fff;
  box-shadow:0 11px 28px rgba(18,43,74,.05);
}

.delete-confirm-icon{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  margin-bottom:14px;
  border-radius:14px;
  background:#fff0f0;
  color:#985151;
}

.delete-confirm-icon.close-icon{
  background:#fff5e9;
  color:#91683d;
}

.delete-confirm-icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.delete-confirm-card h2{
  margin:0 0 7px;
  color:#324e66;
  font-size:20px;
}

.delete-confirm-card > p{
  margin:0;
  max-width:610px;
  color:#7d8e9d;
  font-size:12px;
  line-height:1.6;
}

.delete-confirm-actions{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:22px;
}

.close-history-note{
  display:grid;
  gap:3px;
  margin-top:17px;
  padding:12px 13px;
  border:1px solid #e7dfd2;
  border-radius:10px;
  background:#fffaf4;
}

.close-history-note strong{
  color:#735b3f;
  font-size:9px;
}

.close-history-note span{
  color:#96836d;
  font-size:8px;
  line-height:1.5;
}

@media(max-width:620px){
  .delete-confirm-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .delete-confirm-actions .btn{
    width:100%;
  }
}

/* ===== Relatórios: recebimento do Word original ===== */
.reports-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.btn-primary{
  background:#173b62;
  border-color:#173b62;
  color:#fff;
}
.btn-primary:hover{
  background:#102f50;
  border-color:#102f50;
  color:#fff;
}
.report-create-head{align-items:flex-start}
.report-receive-intro{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  margin-bottom:16px;
  border:1px solid #dce7f1;
  border-radius:16px;
  background:#f7fbff;
}
.report-receive-intro-icon,
.report-upload-icon,
.report-source-icon{
  width:42px;
  height:42px;
  border-radius:12px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#eef4fb;
  color:#315f89;
  border:1px solid #dce7f1;
}
.report-receive-intro-icon svg,
.report-upload-icon svg,
.report-source-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.report-receive-intro strong,
.report-receive-intro span{display:block}
.report-receive-intro strong{font-size:14px;color:#173b62;margin-bottom:3px}
.report-receive-intro span{font-size:12px;line-height:1.55;color:#64798d}
.report-create-form{max-width:980px}
.report-field-wide{grid-column:1/-1}
.report-upload-block{
  margin-top:18px;
  padding:20px;
  border:1px solid #dce6ef;
  border-radius:16px;
  background:#fbfdff;
}
.report-upload-copy{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:15px;
}
.report-upload-copy h2{
  margin:3px 0 4px;
  font-size:18px;
  color:#173b62;
}
.report-upload-copy p{
  margin:0;
  color:#6f8193;
  font-size:12px;
  line-height:1.55;
}
.report-file-field input[type="file"]{
  background:#fff;
  border-style:dashed;
  padding:16px;
}
.report-notes-field{margin-top:18px}
.report-source-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:18px 20px;
  margin-bottom:16px;
  border:1px solid #dce6ef;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(18,43,74,.04);
}
.report-source-copy h2{
  margin:3px 0 4px;
  font-size:17px;
  color:#173b62;
}
.report-source-copy strong,
.report-source-copy span{display:block}
.report-source-copy strong{
  font-size:13px;
  color:#2c4258;
  overflow-wrap:anywhere;
  margin-bottom:3px;
}
.report-source-copy span{
  font-size:11px;
  color:#7a8c9e;
  line-height:1.5;
}
@media (max-width:760px){
  .reports-head-actions{justify-content:flex-start;width:100%;margin-top:12px}
  .report-field-wide{grid-column:auto}
  .report-source-card{grid-template-columns:auto 1fr}
  .report-source-card .btn{grid-column:1/-1;justify-content:center}
}

/* ===== Gestão de mudanças e realocação de adoções ===== */
.list-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.change-outline{
  border-color:#cbdbe8;
  color:#315f89;
  background:#f8fbfd;
}
.change-outline:hover{
  border-color:#b6cbdb;
  background:#eef5fa;
}
.change-soft{
  color:#315f89;
  background:#eef5fa;
}
.profile-inactive-note{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
  padding:8px 10px;
  border:1px solid #eadfce;
  border-radius:10px;
  background:#fffaf4;
}
.profile-inactive-note strong{
  color:#755e42;
  font-size:10px;
}
.profile-inactive-note span{
  color:#9a8468;
  font-size:9px;
  text-transform:capitalize;
}
.change-form-card{
  max-width:940px;
  padding:24px;
  border:1px solid #dce6ef;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 26px rgba(18,43,74,.045);
}
.change-person-head{
  display:flex;
  gap:14px;
  align-items:center;
  padding-bottom:18px;
  margin-bottom:18px;
  border-bottom:1px solid #edf1f4;
}
.change-person-icon,
.reallocation-current-icon{
  width:46px;
  height:46px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:13px;
  border:1px solid #d9e5ee;
  background:#eef5fa;
  color:#315f89;
}
.change-person-icon svg,
.reallocation-current-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.change-person-head small{
  display:block;
  color:#8192a2;
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.change-person-head h2{
  margin:2px 0 7px;
  color:#24445f;
  font-size:20px;
}
.change-warning-pill,
.change-ok-pill{
  display:inline-flex;
  align-items:center;
  padding:5px 9px;
  border-radius:999px;
  font-size:9px;
  font-weight:800;
}
.change-warning-pill{
  color:#8a6332;
  background:#fff4e5;
  border:1px solid #ead8bc;
}
.change-ok-pill{
  color:#47705a;
  background:#edf7f0;
  border:1px solid #cee4d5;
}
.change-preserve-note{
  display:grid;
  gap:3px;
  margin-bottom:20px;
  padding:12px 14px;
  border:1px solid #dce7f0;
  border-radius:12px;
  background:#f7fbff;
}
.change-preserve-note strong{
  color:#315f89;
  font-size:11px;
}
.change-preserve-note span{
  color:#71869a;
  font-size:10px;
  line-height:1.55;
}
.change-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.form-span-2{grid-column:1/-1}
.form-field label{
  display:block;
  margin-bottom:7px;
  color:#3b5268;
  font-size:10px;
  font-weight:800;
}
.form-field .form-control{
  width:100%;
}
.field-errors,
.form-errors{
  margin-top:5px;
  color:#9b4f4f;
  font-size:9px;
  line-height:1.45;
}
.field-errors ul,
.form-errors ul{
  margin:0;
  padding-left:16px;
}
.change-form-actions{
  display:flex;
  gap:9px;
  align-items:center;
  margin-top:4px;
  padding-top:17px;
  border-top:1px solid #edf1f4;
}
.change-form-heading{
  margin-bottom:20px;
}
.change-form-heading > span{
  color:#6d89a1;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.change-form-heading h2{
  margin:4px 0 5px;
  color:#23435f;
  font-size:20px;
}
.change-form-heading p{
  margin:0;
  color:#778a9d;
  font-size:11px;
  line-height:1.55;
}
.reallocation-current-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  max-width:940px;
  margin-bottom:14px;
  padding:17px 19px;
  border:1px solid #dce6ef;
  border-radius:16px;
  background:#f9fbfd;
}
.reallocation-current-main small{
  display:block;
  margin-bottom:4px;
  color:#7c90a3;
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
}
.reallocation-current-route{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  color:#284863;
}
.reallocation-current-route strong{font-size:13px}
.route-arrow{color:#7e9ab2;font-weight:900}
.reallocation-current-main > span{
  display:block;
  margin-top:4px;
  color:#788b9d;
  font-size:9px;
}
.reallocation-issue-list{
  display:flex;
  justify-content:flex-end;
  gap:5px;
  flex-wrap:wrap;
}
.reallocation-issue-list span,
.change-issue-stack span{
  display:inline-flex;
  padding:5px 8px;
  border:1px solid #ead8bc;
  border-radius:999px;
  background:#fff4e5;
  color:#8a6332;
  font-size:8px;
  font-weight:800;
}
.reallocation-explainer{
  display:flex;
  gap:11px;
  align-items:flex-start;
  padding:13px 14px;
  border:1px solid #dbe7f0;
  border-radius:12px;
  background:#f7fbff;
}
.reallocation-explainer svg{
  width:21px;
  height:21px;
  flex:0 0 auto;
  fill:none;
  stroke:#315f89;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.reallocation-explainer strong,
.reallocation-explainer span{display:block}
.reallocation-explainer strong{
  color:#315f89;
  font-size:10px;
  margin-bottom:3px;
}
.reallocation-explainer span{
  color:#72879a;
  font-size:9px;
  line-height:1.55;
}
.change-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:16px 0;
}
.change-summary-card{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:92px;
  padding:15px;
  border:1px solid #dfe7ee;
  border-radius:15px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 6px 18px rgba(18,43,74,.035);
  transition:.16s ease;
}
.change-summary-card:hover,
.change-summary-card.active{
  border-color:#aac1d3;
  box-shadow:0 9px 22px rgba(18,43,74,.07);
  transform:translateY(-1px);
}
.change-summary-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:12px;
}
.change-summary-icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.change-summary-icon.warning{background:#fff4e5;color:#8b6433}
.change-summary-icon.good{background:#edf7f0;color:#4f765e}
.change-summary-icon.history{background:#eef3f7;color:#617589}
.change-summary-card small,
.change-summary-card strong,
.change-summary-card span{display:block}
.change-summary-card small{color:#788b9d;font-size:9px;font-weight:800}
.change-summary-card strong{margin:2px 0;color:#24445f;font-size:22px}
.change-summary-card span{color:#8a9aa8;font-size:8px}
.change-search{
  display:flex;
  gap:8px;
  align-items:center;
  margin-bottom:14px;
}
.change-search .search-field-wrap{
  position:relative;
  flex:1;
  max-width:560px;
}
.change-search .search-field-wrap input{padding-left:36px}
.search-field-icon{
  position:absolute;
  left:11px;
  top:50%;
  transform:translateY(-50%);
  color:#8294a5;
  pointer-events:none;
}
.search-field-icon svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.change-issue-stack{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.change-reallocated-note{
  display:block;
  margin-top:4px;
  color:#547b65;
  font-size:8px;
  font-weight:800;
}
.change-row-btn{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:32px;
  padding:6px 9px;
  font-size:9px;
}
.change-row-btn svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.adoption-close-form{
  margin-top:18px;
}
@media(max-width:800px){
  .change-summary-grid{grid-template-columns:1fr}
  .reallocation-current-card{grid-template-columns:auto 1fr}
  .reallocation-issue-list{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:620px){
  .list-head-actions,
  .change-form-actions,
  .change-search{
    align-items:stretch;
    flex-direction:column;
  }
  .change-form-grid{grid-template-columns:1fr}
  .form-span-2{grid-column:auto}
  .change-search .search-field-wrap{max-width:none;width:100%}
  .change-form-actions .btn{width:100%;justify-content:center}
}


/* ============================================================
   PERFIS — LEGIBILIDADE E VERSÍCULO COMPACTO V3
   Ajuste específico para as telas de perfil.
   ============================================================ */

/* Corrige a herança do card do dashboard que fazia o versículo
   ocupar uma área enorme no fim da página. */
.profile-scripture.verse-card-rich,
.church-partnership-verse.verse-card-rich{
  min-height:0;
  height:auto;
  padding:24px 28px;
}

.profile-scripture.verse-card-rich blockquote,
.church-partnership-verse.verse-card-rich blockquote{
  margin:10px auto 6px;
  max-width:760px;
  font-size:19px;
  line-height:1.45;
}

.profile-scripture.verse-card-rich cite,
.church-partnership-verse.verse-card-rich cite{
  font-size:10px;
}

.profile-scripture.verse-card-rich .verse-detail,
.church-partnership-verse.verse-card-rich .verse-detail{
  margin:8px auto 0;
  padding-top:10px;
  max-width:860px;
  font-size:10px;
}

/* Cabeçalhos e pequenos rótulos dos perfis */
.profile-info-card .card-kicker,
.profile-support-section .card-kicker,
.profile-reports-section .card-kicker,
.profile-media-section .card-kicker,
.profile-scripture .card-kicker,
.church-partnership-verse .card-kicker{
  font-size:9px;
}

.profile-card-heading h2{
  font-size:16px;
}

.profile-section-heading h2{
  font-size:18px;
}

.profile-section-heading p{
  font-size:10px;
  line-height:1.45;
}

.profile-section-heading .text-link{
  font-size:10px;
}

/* KPIs */
.profile-kpis small{
  font-size:9px;
}

.profile-kpis strong{
  margin:2px 0;
  font-size:21px;
}

.profile-kpis span{
  font-size:9px;
  line-height:1.35;
}

.profile-kpi-text{
  font-size:13px !important;
}

/* Dados pessoais / localização */
.profile-data-grid > div{
  padding:12px 13px;
}

.profile-data-grid small{
  font-size:9px;
}

.profile-data-grid strong{
  margin-top:4px;
  font-size:11.5px;
  line-height:1.45;
}

/* Rede de apoio */
.support-card{
  padding:13px;
}

.support-card-main small,
.support-amount small{
  font-size:8.5px;
}

.support-card-main strong{
  font-size:11px;
}

.support-card-main span{
  font-size:8.5px;
}

.support-amount strong{
  font-size:11px;
}

/* Relatórios e estados vazios */
.profile-report-row strong{
  font-size:10.5px;
}

.profile-report-row small{
  font-size:8.5px;
}

.profile-empty-wide strong{
  font-size:11px;
}

.profile-empty-wide > span:last-child{
  font-size:9px;
}

/* Identificação no topo do perfil */
.profile-country-badge,
.church-type-badge{
  font-size:9.5px;
}

.profile-status{
  font-size:9px;
}

.profile-location{
  font-size:12px;
}

.profile-church-line small{
  font-size:8.5px;
}

.profile-church-line strong{
  font-size:10.5px;
}

/* Perfil da igreja adotante também recebe a mesma melhoria de leitura. */
.church-profile-meta small{
  font-size:8px;
}

.church-profile-meta strong{
  font-size:10px;
}

.church-missionary-country{
  font-size:8.5px;
}

.church-missionary-name{
  font-size:11px;
}

.church-missionary-field{
  font-size:8.5px;
}

.church-missionary-support small{
  font-size:8px;
}

.church-missionary-support strong{
  font-size:10px;
}

.church-missionary-link{
  font-size:9px;
}

@media(max-width:780px){
  .profile-scripture.verse-card-rich,
  .church-partnership-verse.verse-card-rich{
    padding:22px 18px;
  }

  .profile-scripture.verse-card-rich blockquote,
  .church-partnership-verse.verse-card-rich blockquote{
    font-size:17px;
  }
}


/* ============================================================
   VÍNCULOS — FILA DE NOVOS CADASTROS + FORMULÁRIO DE ADOÇÃO V4
   ============================================================ */
.linking-queue-section{
  margin-top:22px;
  padding:22px;
  background:#fff;
  border:1px solid #d8e3ec;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(18,43,74,.045);
}
.linking-queue-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.linking-queue-head h2{margin:4px 0 5px;color:#1d4264;font-size:20px}
.linking-queue-head p{margin:0;color:#76899b;font-size:10.5px;line-height:1.5}
.linking-queue-summary{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.linking-queue-summary span{
  display:inline-flex;align-items:center;gap:5px;padding:7px 10px;
  background:#f2f7fb;border:1px solid #d9e5ee;border-radius:999px;
  color:#6a7f92;font-size:9px;font-weight:800;
}
.linking-queue-summary strong{color:#214a70;font-size:12px}
.linking-queue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.linking-column-card{border:1px solid #dce6ee;border-radius:15px;background:#fbfdff;overflow:hidden}
.linking-column-head{
  display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;
  padding:13px 14px;border-bottom:1px solid #e3ebf1;background:#f7fafc;
}
.linking-column-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center}
.linking-column-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.linking-column-icon.missionary{background:#eaf3fb;color:#376c99}
.linking-column-icon.church{background:#edf7f0;color:#4f7c61}
.linking-column-icon.individual{background:#f3eefb;color:#735f9c}
.linking-column-head small,.linking-column-head strong{display:block}
.linking-column-head small{color:#8a9bab;font-size:7.5px;font-weight:900;letter-spacing:.08em}
.linking-column-head strong{margin-top:2px;color:#244964;font-size:11px}
.linking-column-head b{color:#224969;font-size:18px}
.linking-candidate-list{padding:4px 10px 8px}
.linking-candidate-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 3px;border-bottom:1px solid #edf2f6}
.linking-candidate-row:last-child{border-bottom:0}
.linking-candidate-copy{min-width:0}
.linking-candidate-copy strong{display:block;color:#284b67;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.linking-candidate-copy span{display:flex;align-items:center;gap:4px;margin-top:3px;color:#8293a2;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.linking-candidate-copy img{width:15px;height:10px;object-fit:cover;border-radius:1px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.compact-link-btn{padding:6px 9px;min-height:0;font-size:8.5px;border-radius:9px;flex:0 0 auto}
.linking-empty{padding:16px 5px;color:#8a9aaa;font-size:9px;line-height:1.5;text-align:center}
.linking-queue-note{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;background:#f5f8fb;border-radius:11px;color:#718598;font-size:9px;line-height:1.45}
.linking-queue-note svg{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:#567b9b;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.adoption-form-head{margin-bottom:16px}
.adoption-editor-card{max-width:920px;background:#fff;border:1px solid #d8e3ec;border-radius:18px;padding:22px;box-shadow:0 10px 24px rgba(18,43,74,.05)}
.adoption-editor-intro{display:flex;align-items:center;gap:12px;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid #e3ebf1}
.adoption-editor-icon{width:42px;height:42px;border-radius:13px;background:#eaf3fb;color:#356b98;display:grid;place-items:center}
.adoption-editor-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.adoption-editor-intro small,.adoption-editor-intro strong,.adoption-editor-intro span{display:block}
.adoption-editor-intro small{color:#8396a7;font-size:8px;font-weight:900;letter-spacing:.09em}
.adoption-editor-intro strong{margin:2px 0;color:#214766;font-size:16px}
.adoption-editor-intro span{color:#7d8f9f;font-size:9.5px}
.adoption-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.adoption-span-2{grid-column:1/-1}
.adoption-editor-grid .form-field label{display:block;margin-bottom:7px;color:#36516a;font-size:10px;font-weight:900}
.adoption-editor-grid .form-field small{display:block;margin-top:5px;color:#8999a8;font-size:8.5px}
.adoption-editor-grid select,.adoption-editor-grid input{width:100%;min-height:45px}
.adoption-editor-note{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;background:#f4f8fb;border:1px solid #e1eaf1;border-radius:11px;color:#6e8497;font-size:9px;line-height:1.5}
.adoption-editor-note svg{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:#567b9b;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.adoption-editor-grid [hidden]{display:none!important}

@media(max-width:1050px){
  .linking-queue-grid{grid-template-columns:1fr}
}
@media(max-width:780px){
  .linking-queue-head{align-items:flex-start;flex-direction:column}
  .linking-queue-summary{justify-content:flex-start}
  .adoption-editor-grid{grid-template-columns:1fr}
  .adoption-span-2{grid-column:auto}
}


/* MONEY INPUT PREFIX — DÓLAR */
.money-input-prefix{
  position:relative;
  display:flex;
  align-items:center;
}
.money-input-prefix > span{
  position:absolute;
  left:14px;
  z-index:1;
  font-weight:800;
  color:#173b62;
  pointer-events:none;
}
.money-input-prefix .form-control{
  width:100%;
  padding-left:30px;
}


/* Fotos de perfil para adotante PF e igreja adotante */
.church-profile-mark.has-image{
  padding:0;
  overflow:hidden;
  background:#fff;
}

.church-profile-mark img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:20px;
}

.profile-avatar-fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
}

.field-profile_photo input,
.field-profile_image input{
  padding:10px;
}


/* ============================================================
   LISTAS — MINIATURAS DE PERFIL V8
   ============================================================ */
.person-avatar.has-photo,
.church-symbol.has-photo{
  overflow:hidden;
  padding:0;
  background:#fff;
  color:transparent;
  box-shadow:0 0 0 1px rgba(28,66,96,.10);
}

.person-avatar.has-photo img,
.church-symbol.has-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:9px;
}

.person-avatar.has-photo{
  border-radius:50%;
}

.person-avatar.has-photo img{
  border-radius:50%;
}

.church-symbol.has-photo,
.church-symbol.has-photo img{
  border-radius:9px;
}


/* ============================================================
   HISTÓRICO DE VÍNCULOS NOS PERFIS V6
   ============================================================ */

.profile-history-section{
  margin-top:16px;
  padding:20px 22px;
  border:1px solid #dbe6ef;
  border-radius:18px;
  background:#fff;
}

.history-count-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  border:1px solid #dbe6ef;
  border-radius:999px;
  background:#f5f9fc;
  color:#47647f;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

.adoption-history-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.adoption-history-row{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(180px,1.25fr) minmax(220px,1fr) auto;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border:1px solid #dce6ee;
  border-radius:14px;
  background:#f9fbfd;
}

.adoption-history-icon{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  background:#edf5fb;
  color:#356c9a;
}

.adoption-history-icon.missionary{
  background:#edf7f2;
  color:#34785f;
}

.adoption-history-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.adoption-history-main{
  min-width:0;
  display:grid;
  gap:3px;
}

.adoption-history-main small{
  display:flex;
  align-items:center;
  gap:6px;
  color:#6f8498;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.adoption-history-main strong{
  color:#173f65;
  font-size:12px;
  line-height:1.35;
}

.adoption-history-main span{
  color:#6f8396;
  font-size:9px;
}

.history-country-flag{
  width:18px;
  height:12px;
  object-fit:cover;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(19,55,84,.08);
}

.adoption-history-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(100px,1fr));
  gap:9px;
}

.adoption-history-meta span{
  min-width:0;
  display:grid;
  gap:3px;
}

.adoption-history-meta small{
  color:#8294a5;
  font-size:8.5px;
}

.adoption-history-meta strong{
  color:#284b69;
  font-size:10px;
  line-height:1.35;
}

.history-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:0 9px;
  border-radius:999px;
  font-size:9px;
  font-weight:800;
  white-space:nowrap;
}

.history-status-pill.closed{
  background:#eef2f5;
  color:#617486;
}

.history-status-pill.reallocated{
  background:#e8f4fb;
  color:#2e6d98;
}

.adoption-history-notes{
  grid-column:2 / -1;
  padding-top:9px;
  border-top:1px dashed #d8e3eb;
  color:#61788d;
  font-size:9.5px;
  line-height:1.5;
}

.profile-main-grid-single{
  grid-template-columns:1fr;
}

.individual-profile-mark{
  background:#eef6fb;
  color:#356e9b;
}

.row-action-icon-only.view{
  color:#2f6f9f;
  background:#edf6fc;
  border-color:#d4e5f2;
}

@media(max-width:900px){
  .adoption-history-row{
    grid-template-columns:42px 1fr auto;
  }

  .adoption-history-meta{
    grid-column:2 / -1;
  }

  .adoption-history-notes{
    grid-column:1 / -1;
  }
}

@media(max-width:620px){
  .profile-history-section{
    padding:16px;
  }

  .adoption-history-row{
    grid-template-columns:38px 1fr;
    align-items:start;
  }

  .history-status-pill{
    grid-column:2;
    justify-self:start;
  }

  .adoption-history-meta{
    grid-column:1 / -1;
  }
}


/* Correção defensiva do histórico no perfil da Igreja Adotante */
.church-history-section .adoption-history-icon{
  width:38px;
  height:38px;
  min-width:38px;
  min-height:38px;
}

.church-history-section .adoption-history-icon svg{
  width:19px !important;
  height:19px !important;
  max-width:19px;
  max-height:19px;
}

.church-history-section .history-country-flag{
  width:18px !important;
  height:12px !important;
  max-width:18px;
  max-height:12px;
  object-fit:cover;
}


/* ============================================================
   DASHBOARD — ATENÇÃO OPERACIONAL V10
   ============================================================ */
.operations-attention-card{
  margin:18px 0;
}

.operations-attention-head{
  align-items:center;
}

.operations-attention-total{
  min-width:138px;
  padding:10px 14px;
  border:1px solid #dbe6ef;
  border-radius:13px;
  background:#f7fafc;
  text-align:right;
}

.operations-attention-total strong{
  display:block;
  color:#173f63;
  font-size:24px;
  line-height:1;
}

.operations-attention-total span{
  display:block;
  margin-top:4px;
  color:#71879a;
  font-size:9px;
  font-weight:700;
}

.operations-attention-total.has-pending{
  border-color:#ecd8a8;
  background:#fffaf0;
}

.operations-attention-total.has-pending strong{
  color:#9a650e;
}

.operations-attention-total.all-clear{
  border-color:#cfe5d7;
  background:#f3faf6;
}

.operations-attention-total.all-clear strong{
  color:#23724f;
}

.operations-attention-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.operations-attention-item{
  display:flex;
  gap:12px;
  align-items:center;
  min-height:94px;
  padding:14px;
  border:1px solid #d9e5ee;
  border-radius:14px;
  background:#fbfdff;
  color:#173f63;
  text-decoration:none;
  transition:.16s ease;
}

.operations-attention-item:hover{
  transform:translateY(-1px);
  border-color:#bcd0e0;
  box-shadow:0 8px 20px rgba(20,55,85,.07);
}

.operations-attention-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#eaf2f8;
  color:#356a8e;
}

.operations-attention-icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.operations-attention-item small{
  display:block;
  color:#70869a;
  font-size:8.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.operations-attention-item strong{
  display:block;
  margin:2px 0;
  color:#173f63;
  font-size:22px;
  line-height:1.05;
}

.operations-attention-item span:not(.operations-attention-icon){
  color:#75899a;
  font-size:9px;
}

.operations-attention-item.warning{
  border-color:#ead7a9;
  background:#fffaf1;
}

.operations-attention-item.warning .operations-attention-icon{
  background:#fff0cb;
  color:#9d6812;
}

.operations-attention-item.ok{
  border-color:#d4e7dc;
  background:#f6fbf8;
}

.operations-attention-item.ok .operations-attention-icon{
  background:#e5f4eb;
  color:#287452;
}

.operations-attention-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid #e3ebf1;
  color:#71869a;
  font-size:9.5px;
}

#novos-vinculos{
  scroll-margin-top:92px;
}

@media(max-width:1000px){
  .operations-attention-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:650px){
  .operations-attention-grid{
    grid-template-columns:1fr;
  }

  .operations-attention-total{
    width:100%;
    text-align:left;
  }

  .operations-attention-footer{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* ============================================================
   PERFIS — STATUS DO VÍNCULO E AÇÕES RÁPIDAS V11
   ============================================================ */
.profile-link-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:14px 0 16px;
  padding:14px 16px;
  border:1px solid #d7e3ec;
  border-radius:14px;
  background:#f8fbfd;
  box-shadow:0 4px 14px rgba(20,55,85,.035);
}

.profile-link-status-main{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
}

.profile-link-status-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#e8f1f7;
  color:#356b8f;
}

.profile-link-status-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.profile-link-status-main small{
  display:block;
  margin-bottom:2px;
  color:#6d8396;
  font-size:8px;
  font-weight:850;
  letter-spacing:.07em;
}

.profile-link-status-main strong{
  display:block;
  color:#173f63;
  font-size:12px;
  line-height:1.25;
}

.profile-link-status-main span:not(.profile-link-status-icon){
  display:block;
  margin-top:3px;
  color:#71869a;
  font-size:9.5px;
  line-height:1.4;
}

.profile-link-status-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}

.profile-inline-action{
  white-space:nowrap;
}

.profile-link-status.needs-link{
  border-color:#ead6a7;
  background:#fffaf1;
}

.profile-link-status.needs-link .profile-link-status-icon{
  background:#ffefc9;
  color:#9c6712;
}

.profile-link-status.available{
  border-color:#d5e5ef;
  background:#f7fbfe;
}

.profile-link-status.available .profile-link-status-icon{
  background:#e5f0f7;
  color:#2f698f;
}

.profile-link-status.linked{
  border-color:#d3e6da;
  background:#f5faf7;
}

.profile-link-status.linked .profile-link-status-icon{
  background:#e3f2e9;
  color:#287451;
}

@media(max-width:820px){
  .profile-link-status{
    align-items:flex-start;
    flex-direction:column;
  }

  .profile-link-status-actions{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}

/* ============================================================
   DASHBOARD — PENDÊNCIAS DE RELATÓRIOS V29
   ============================================================ */
.report-pending-card{
  margin:18px 0;
}

.report-pending-head{
  align-items:center;
}

.report-pending-total{
  min-width:156px;
  padding:11px 15px;
  border:1px solid #dbe6ef;
  border-radius:13px;
  background:#f7fafc;
  text-align:right;
}

.report-pending-total strong{
  display:block;
  color:#173f63;
  font-size:25px;
  line-height:1;
}

.report-pending-total span{
  display:block;
  margin-top:5px;
  color:#71879a;
  font-size:10px;
  font-weight:750;
}

.report-pending-total.has-pending{
  border-color:#d8e2ee;
  background:linear-gradient(180deg,#f8fbff,#f1f6fb);
}

.report-pending-total.has-pending strong{
  color:#1d527e;
}

.report-pending-total.all-clear{
  border-color:#cfe5d7;
  background:#f3faf6;
}

.report-pending-total.all-clear strong{
  color:#23724f;
}

.report-pending-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.report-pending-item{
  position:relative;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-height:112px;
  padding:15px 15px 32px;
  border:1px solid #d9e5ee;
  border-radius:15px;
  background:#fbfdff;
  color:#173f63;
  text-decoration:none;
  overflow:hidden;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.report-pending-item::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:#6b8ca7;
}

.report-pending-item:hover{
  transform:translateY(-2px);
  border-color:#bcd0e0;
  box-shadow:0 9px 22px rgba(20,55,85,.08);
}

.report-pending-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#eaf2f8;
  color:#356a8e;
}

.report-pending-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.report-pending-copy{
  min-width:0;
}

.report-pending-copy small{
  display:block;
  color:#6c8296;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.055em;
}

.report-pending-copy strong{
  display:block;
  margin:2px 0 3px;
  color:#163b5e;
  font-size:25px;
  line-height:1.05;
}

.report-pending-copy span{
  display:block;
  color:#687f93;
  font-size:11px;
  font-weight:650;
  line-height:1.35;
}

.report-pending-action{
  position:absolute;
  left:71px;
  bottom:11px;
  color:#3f6d91;
  font-size:10px;
  font-weight:850;
}

.report-pending-item.is-clear{
  background:#f8fbfa;
  border-color:#d8e8df;
}

.report-pending-item.is-clear::before{
  background:#67a181;
}

.report-pending-item.is-clear .report-pending-icon{
  background:#e9f5ee;
  color:#347456;
}

.report-pending-item.is-clear .report-pending-action{
  color:#59806b;
}

.report-pending-item.has-items.stage-received::before{background:#b97a18}
.report-pending-item.has-items.stage-received .report-pending-icon{background:#fff3da;color:#9b6511}
.report-pending-item.has-items.stage-organized::before{background:#477ca4}
.report-pending-item.has-items.stage-organized .report-pending-icon{background:#e9f2f8;color:#356b91}
.report-pending-item.has-items.stage-translated::before{background:#6d68a9}
.report-pending-item.has-items.stage-translated .report-pending-icon{background:#f0effa;color:#5d5794}
.report-pending-item.has-items.stage-review::before{background:#9466a2}
.report-pending-item.has-items.stage-review .report-pending-icon{background:#f5edf7;color:#80558d}
.report-pending-item.has-items.stage-approved::before{background:#3f8a6b}
.report-pending-item.has-items.stage-approved .report-pending-icon{background:#e9f5ef;color:#317459}
.report-pending-item.has-items.stage-ready::before{background:#245f91}
.report-pending-item.has-items.stage-ready .report-pending-icon{background:#e6f0f8;color:#1e5683}

.report-pending-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid #e3ebf1;
  color:#71869a;
  font-size:10.5px;
}

/* Filtro de ação exata aberto a partir do dashboard. */
.report-exact-filter{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #d8e5ef;
  border-radius:13px;
  background:linear-gradient(180deg,#f8fbff,#f3f7fb);
}

.report-exact-filter-icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#e6f0f8;
  color:#285f88;
}

.report-exact-filter-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.report-exact-filter div{
  min-width:0;
  flex:1;
}

.report-exact-filter small,
.report-exact-filter strong{
  display:block;
}

.report-exact-filter small{
  color:#71869a;
  font-size:9px;
  font-weight:850;
  letter-spacing:.07em;
}

.report-exact-filter strong{
  margin-top:2px;
  color:#173f63;
  font-size:13px;
}

@media(max-width:1000px){
  .report-pending-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:650px){
  .report-pending-grid{
    grid-template-columns:1fr;
  }

  .report-pending-total{
    width:100%;
    text-align:left;
  }

  .report-pending-footer,
  .report-exact-filter{
    align-items:flex-start;
    flex-direction:column;
  }

  .report-exact-filter .text-link{
    margin-left:48px;
  }
}

/* V30 · acompanhamento da competência mensal no dashboard */
.monthly-report-card {
  margin-top: 18px;
  overflow: hidden;
}

.monthly-report-head {
  align-items: flex-start;
  gap: 18px;
}

.monthly-report-head p {
  max-width: 760px;
}

.monthly-report-score {
  min-width: 150px;
  padding: 14px 18px;
  border-radius: 16px;
  border: 1px solid #d8e5f0;
  background: #f7fbff;
  text-align: right;
}

.monthly-report-score strong {
  display: block;
  font-size: 26px;
  line-height: 1;
  color: #173f67;
}

.monthly-report-score span {
  display: block;
  margin-top: 7px;
  font-size: 11px;
  font-weight: 700;
  color: #6a7f94;
}

.monthly-report-score.has-pending {
  border-color: #ead7ad;
  background: #fffbf2;
}

.monthly-report-score.has-pending strong {
  color: #9c6a10;
}

.monthly-report-score.all-clear {
  border-color: #cfe7d8;
  background: #f4fbf7;
}

.monthly-report-score.all-clear strong {
  color: #25724a;
}

.monthly-report-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.monthly-summary-item {
  padding: 16px 18px;
  border: 1px solid #dce7f0;
  border-radius: 14px;
  background: #fbfdff;
}

.monthly-summary-item small,
.monthly-missing-head small {
  display: block;
  color: #6c8198;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.monthly-summary-item strong {
  display: block;
  margin: 5px 0 2px;
  color: #183f66;
  font-size: 24px;
  line-height: 1;
}

.monthly-summary-item span {
  color: #718297;
  font-size: 11px;
}

.monthly-summary-item.received {
  background: #f4faf7;
  border-color: #d5e9dd;
}

.monthly-summary-item.received strong {
  color: #2c7650;
}

.monthly-summary-item.missing {
  background: #fffaf2;
  border-color: #eadbb9;
}

.monthly-summary-item.missing strong {
  color: #a16c0b;
}

.monthly-summary-item.missing.clear {
  background: #f4faf7;
  border-color: #d5e9dd;
}

.monthly-summary-item.missing.clear strong {
  color: #2c7650;
}

.monthly-progress {
  display:block;
  width:calc(100% - 2px);
  height:7px;
  margin:15px 1px 2px;
  overflow:hidden;
  border:0;
  border-radius:999px;
  background:#eaf0f5;
  appearance:none;
  -webkit-appearance:none;
}
.monthly-progress::-webkit-progress-bar{background:#eaf0f5;border-radius:999px}
.monthly-progress::-webkit-progress-value{background:linear-gradient(90deg,#3e7faa,#4d9972);border-radius:999px}
.monthly-progress::-moz-progress-bar{background:linear-gradient(90deg,#3e7faa,#4d9972);border-radius:999px}

.monthly-missing-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-top: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e7edf3;
}

.monthly-missing-head strong {
  display: block;
  margin-top: 4px;
  color: #1e3d5b;
  font-size: 14px;
}

.monthly-missing-head > span {
  color: #7c8da0;
  font-size: 10px;
}

.monthly-missing-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
  margin-top: 10px;
}

.monthly-missing-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #e2e9f0;
  border-radius: 12px;
  background: #fff;
}

.monthly-missionary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.monthly-missionary img {
  width: 28px;
  height: 20px;
  flex: 0 0 auto;
  object-fit: cover;
  border-radius: 4px;
  border: 1px solid #d6e0e9;
}

.monthly-missionary span {
  min-width: 0;
}

.monthly-missionary strong,
.monthly-missionary small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.monthly-missionary strong {
  color: #203f5d;
  font-size: 12px;
}

.monthly-missionary small {
  margin-top: 2px;
  color: #7a8b9c;
  font-size: 10px;
}

.monthly-report-action {
  flex: 0 0 auto;
  color: #2c6f9e;
  font-size: 10px;
  font-weight: 800;
  text-decoration: none;
}

.monthly-report-action:hover,
.monthly-missionary:hover strong {
  text-decoration: underline;
}

.monthly-all-clear {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid #d4e8dc;
  border-radius: 14px;
  background: #f5fbf7;
}

.monthly-clear-icon {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: #dff1e6;
  color: #267249;
  font-size: 18px;
  font-weight: 900;
}

.monthly-all-clear strong,
.monthly-all-clear span {
  display: block;
}

.monthly-all-clear strong {
  color: #255f42;
  font-size: 13px;
}

.monthly-all-clear span {
  margin-top: 2px;
  color: #688273;
  font-size: 11px;
}

.monthly-report-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 15px 0 0;
  padding: 11px 20px 13px;
  box-sizing: border-box;
  border-top: 1px solid #e9eef3;
  background: #fbfcfd;
  color: #718398;
  font-size: 10px;
}

@media (max-width: 900px) {
  .monthly-report-summary,
  .monthly-missing-list {
    grid-template-columns: 1fr;
  }

  .monthly-report-head,
  .monthly-report-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .monthly-report-score {
    min-width: 0;
    text-align: left;
  }
}

/* V31 · cadastro guiado e filtro por competência */
.report-guided-context {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid #cfe2d9;
  border-radius: 16px;
  background: #f4faf7;
}

.report-guided-icon,
.report-competence-filter-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #e4f3eb;
  color: #287254;
}

.report-guided-icon svg,
.report-competence-filter-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.report-guided-context div,
.report-competence-filter div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.report-guided-context small,
.report-competence-filter small {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  color: #56736a;
}

.report-guided-context strong,
.report-competence-filter strong {
  color: #173d31;
  font-size: 14px;
}

.report-guided-context span {
  color: #62716c;
  font-size: 12px;
  line-height: 1.45;
}

.report-competence-filter {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid #d8e5ef;
  border-radius: 14px;
  background: #f7fbfe;
}

.report-competence-filter .text-link {
  margin-left: auto;
}

.report-month-field {
  min-width: 190px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  border: 1px solid #d8e1e9;
  border-radius: 12px;
  background: #fff;
}

.report-month-field svg {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  fill: none;
  stroke: #55748c;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.report-month-field input {
  width: 100%;
  min-height: 42px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #203548;
  font: inherit;
}

@media (max-width: 760px) {
  .report-guided-context,
  .report-competence-filter {
    align-items: flex-start;
  }

  .report-competence-filter {
    flex-wrap: wrap;
  }

  .report-competence-filter .text-link {
    width: 100%;
    margin-left: 54px;
  }

  .report-month-field {
    width: 100%;
    min-width: 0;
  }
}


/* V32 · histórico de competências no dashboard */
.competence-history-card {
  overflow: hidden;
}

.competence-history-head {
  align-items: flex-end;
}

.competence-history-head p {
  max-width: 760px;
}

.competence-history-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 0 18px 18px;
}

.competence-history-item {
  position: relative;
  min-width: 0;
  padding: 15px;
  border: 1px solid #dce5ec;
  border-radius: 15px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.competence-history-item:hover {
  transform: translateY(-1px);
  border-color: #bfd2e1;
  box-shadow: 0 8px 20px rgba(31, 72, 104, .08);
}

.competence-history-item.is-current {
  border-color: #a9cbe1;
  box-shadow: inset 0 3px 0 #347da8;
}

.competence-history-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.competence-history-top div {
  min-width: 0;
}

.competence-history-top small,
.competence-history-top strong {
  display: block;
}

.competence-history-top small {
  color: #72859a;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}

.competence-history-top strong {
  margin-top: 4px;
  color: #173a56;
  font-size: 13px;
}

.competence-current-badge {
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 999px;
  background: #e9f3fa;
  color: #2e6f99;
  font-size: 9px;
  font-weight: 850;
}

.competence-history-numbers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.competence-history-numbers div {
  min-width: 0;
  padding: 9px 8px;
  border-radius: 11px;
  background: #f7fafc;
}

.competence-history-numbers span,
.competence-history-numbers strong {
  display: block;
}

.competence-history-numbers span {
  color: #73869a;
  font-size: 8px;
  font-weight: 800;
  line-height: 1.25;
}

.competence-history-numbers strong {
  margin-top: 3px;
  color: #193b56;
  font-size: 18px;
  line-height: 1;
}

.competence-history-progress {
  display:block;
  width:100%;
  height:5px;
  margin-top:13px;
  overflow:hidden;
  border:0;
  border-radius:999px;
  background:#e9eef2;
  appearance:none;
  -webkit-appearance:none;
}
.competence-history-progress::-webkit-progress-bar{background:#e9eef2;border-radius:999px}
.competence-history-progress::-webkit-progress-value{background:#3f8a6b;border-radius:999px}
.competence-history-progress::-moz-progress-bar{background:#3f8a6b;border-radius:999px}
.competence-history-item.state-progress .competence-history-progress::-webkit-progress-value{background:#347da8}
.competence-history-item.state-progress .competence-history-progress::-moz-progress-bar{background:#347da8}
.competence-history-item.state-empty .competence-history-progress::-webkit-progress-value{background:#c8d3dc}
.competence-history-item.state-empty .competence-history-progress::-moz-progress-bar{background:#c8d3dc}

.competence-history-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
}

.competence-state {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 0 8px;
  border-radius: 999px;
  background: #f0f4f7;
  color: #65798a;
  font-size: 9px;
  font-weight: 850;
}

.state-complete .competence-state {
  background: #e9f5ef;
  color: #2f7359;
}

.state-progress .competence-state {
  background: #eaf3f9;
  color: #2e6e98;
}

.competence-open {
  color: #2d6e99;
  font-size: 9px;
  font-weight: 850;
  white-space: nowrap;
}

.competence-history-note {
  margin: 0;
  padding: 11px 20px 13px;
  border-top: 1px solid #e9eef3;
  background: #fbfcfd;
  color: #718398;
  font-size: 10px;
}

@media (max-width: 1050px) {
  .competence-history-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .competence-history-head {
    align-items: stretch;
    flex-direction: column;
  }

  .competence-history-grid {
    grid-template-columns: 1fr;
  }
}

/* V33 · Prontidão para distribuição */
.distribution-readiness-shell{
  margin-bottom:18px;
  overflow:hidden;
  border:1px solid #d8e4ee;
  border-radius:17px;
  background:#fff;
  box-shadow:0 10px 26px rgba(21,51,79,.045);
}

.distribution-readiness-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px 15px;
  border-bottom:1px solid #edf1f5;
  background:linear-gradient(135deg,#fbfdff 0%,#f7fbfe 100%);
}

.distribution-readiness-head h2{
  margin:3px 0 4px;
  color:#173c59;
  font-size:17px;
  line-height:1.2;
}

.distribution-readiness-head p{
  margin:0;
  max-width:760px;
  color:#6e8296;
  font-size:9.5px;
  line-height:1.5;
}

.distribution-readiness-total{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 11px;
  border:1px solid #d7e4ed;
  border-radius:999px;
  background:#fff;
  color:#46667d;
  font-size:8.5px;
  font-weight:850;
  white-space:nowrap;
}

.distribution-readiness-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:14px 18px 16px;
  background:#fbfcfd;
}

.readiness-summary-card{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 13px;
  border:1px solid #e1e8ee;
  border-radius:13px;
  background:#fff;
}

.readiness-summary-card.is-ready{
  border-color:#d4e9dd;
  background:#fbfefc;
}

.readiness-summary-card.has-pending{
  border-color:#eddcad;
  background:#fffdf7;
}

.readiness-summary-icon{
  flex:0 0 auto;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#edf4f9;
  color:#3b7197;
}

.is-ready .readiness-summary-icon{
  background:#e9f6ef;
  color:#35755a;
}

.has-pending .readiness-summary-icon{
  background:#fff4d9;
  color:#9b6a12;
}

.readiness-summary-icon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.readiness-summary-card small,
.readiness-summary-card strong,
.readiness-summary-card div > span{
  display:block;
}

.readiness-summary-card small{
  color:#8a99a7;
  font-size:7px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.readiness-summary-card strong{
  margin-top:2px;
  color:#173d59;
  font-size:20px;
  line-height:1;
}

.readiness-summary-card div > span{
  margin-top:3px;
  color:#718496;
  font-size:8px;
  line-height:1.3;
}

.distribution-readiness-table-wrap{
  border-top:1px solid #edf1f5;
  overflow-x:auto;
}

.distribution-readiness-table{
  width:100%;
  min-width:1050px;
  border-collapse:collapse;
}

.distribution-readiness-table th{
  padding:10px 12px;
  border-bottom:1px solid #e5ebf0;
  background:#f7f9fb;
  color:#75889a;
  font-size:7.2px;
  font-weight:900;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.035em;
}

.distribution-readiness-table td{
  padding:12px;
  border-bottom:1px solid #edf1f4;
  color:#425f73;
  font-size:8.5px;
  vertical-align:middle;
}

.distribution-readiness-table tbody tr:last-child td{
  border-bottom:0;
}

.distribution-readiness-table tbody tr:hover{
  background:#fbfdff;
}

.distribution-readiness-table .readiness-row-pending{
  background:#fffdf8;
}

.distribution-readiness-table .readiness-row-pending:hover{
  background:#fffaf0;
}

.readiness-person,
.readiness-adopter{
  display:flex;
  min-width:150px;
  flex-direction:column;
  gap:3px;
}

.readiness-person{
  color:#254c68;
  text-decoration:none;
}

.readiness-person strong,
.readiness-adopter strong{
  color:#244b67;
  font-size:9px;
  line-height:1.3;
}

.readiness-person small,
.readiness-adopter small{
  color:#91a0ad;
  font-size:7px;
}

.readiness-contact{
  display:flex;
  min-width:145px;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
}

.readiness-contact > span{
  max-width:220px;
  overflow-wrap:anywhere;
  color:#435f73;
  font-size:8.4px;
}

.contact-state{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:0 7px;
  border-radius:999px;
  font-size:7px;
  font-weight:850;
}

.contact-state.ok{
  background:#eaf6ef;
  color:#337357;
}

.contact-state.error{
  background:#fff0ec;
  color:#a55340;
}

.contact-empty{
  color:#a0acb7;
  font-size:8px;
}

.readiness-channel{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:0 9px;
  border-radius:999px;
  font-size:7.5px;
  font-weight:850;
  white-space:nowrap;
}

.readiness-channel.channel-whatsapp{
  background:#e9f6ef;
  color:#347359;
}

.readiness-channel.channel-email{
  background:#ebf3fa;
  color:#356f99;
}

.readiness-channel.channel-none{
  background:#f2f4f6;
  color:#8b98a4;
}

.readiness-status{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:25px;
  padding:0 9px;
  border-radius:999px;
  font-size:7.5px;
  font-weight:850;
  white-space:nowrap;
}

.readiness-status svg{
  width:12px;
  height:12px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.readiness-status.ok{
  background:#eaf6ef;
  color:#347359;
}

.readiness-status.pending{
  background:#fff2dd;
  color:#946413;
}

.readiness-problem{
  display:block;
  max-width:235px;
  margin-top:6px;
  color:#8a6a37;
  font-size:7.2px;
  line-height:1.35;
}

.distribution-readiness-alert{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 18px 16px;
  padding:11px 13px;
  border:1px solid #ead9aa;
  border-radius:12px;
  background:#fffaf0;
  color:#7e5e22;
}

.distribution-readiness-alert.is-ok{
  border-color:#d3e7da;
  background:#f4fbf7;
  color:#386d54;
}

.distribution-readiness-alert > svg{
  flex:0 0 auto;
  width:17px;
  height:17px;
  margin-top:1px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.distribution-readiness-alert strong,
.distribution-readiness-alert span{
  display:block;
}

.distribution-readiness-alert strong{
  font-size:8.7px;
}

.distribution-readiness-alert span{
  margin-top:2px;
  color:inherit;
  opacity:.82;
  font-size:7.6px;
  line-height:1.45;
}

@media(max-width:1100px){
  .distribution-readiness-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .distribution-readiness-head{
    flex-direction:column;
  }

  .distribution-readiness-summary{
    grid-template-columns:1fr;
  }

  .distribution-readiness-alert{
    margin-left:12px;
    margin-right:12px;
  }
}

/* V34 · fechamento mensal da competência */
.monthly-closeout-card {
  overflow: hidden;
}

.monthly-closeout-head {
  align-items: flex-end;
}

.monthly-closeout-head p {
  max-width: 760px;
}

.monthly-closeout-status {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 230px;
  padding: 11px 13px;
  border: 1px solid #dce5ec;
  border-radius: 14px;
  background: #f8fafc;
}

.closeout-status-icon {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border-radius: 50%;
  background: #e9f1f7;
  color: #3a7398;
  font-size: 17px;
  font-weight: 900;
}

.monthly-closeout-status small,
.monthly-closeout-status strong {
  display: block;
}

.monthly-closeout-status small {
  color: #7a8b9d;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.monthly-closeout-status strong {
  margin-top: 3px;
  color: #203f5b;
  font-size: 13px;
}

.closeout-closed .monthly-closeout-status {
  border-color: #d0e6d9;
  background: #f3faf6;
}

.closeout-closed .closeout-status-icon {
  background: #dff1e6;
  color: #28704b;
}

.closeout-waiting-receipt .monthly-closeout-status {
  border-color: #eadfc8;
  background: #fffaf1;
}

.closeout-waiting-receipt .closeout-status-icon {
  background: #f7ead0;
  color: #946914;
}

.monthly-closeout-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr) 34px minmax(0, 1fr) 34px minmax(0, 1fr);
  align-items: center;
  gap: 0;
  padding: 0 18px 18px;
}

.closeout-step {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 78px;
  padding: 12px;
  border: 1px solid #e0e7ed;
  border-radius: 14px;
  background: #fafcfd;
}

.closeout-step-number {
  display: grid;
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  place-items: center;
  border-radius: 50%;
  background: #edf2f6;
  color: #7890a3;
  font-size: 10px;
  font-weight: 900;
}

.closeout-step div {
  min-width: 0;
}

.closeout-step small,
.closeout-step strong,
.closeout-step div > span {
  display: block;
}

.closeout-step small {
  color: #778a9d;
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .07em;
}

.closeout-step strong {
  margin-top: 2px;
  color: #1d3e59;
  font-size: 20px;
  line-height: 1;
}

.closeout-step div > span {
  margin-top: 3px;
  overflow: hidden;
  color: #78899a;
  font-size: 10.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.closeout-step.is-active {
  border-color: #c9dce9;
  background: #f5f9fc;
}

.closeout-step.is-active .closeout-step-number {
  background: #e0edf6;
  color: #2f719d;
}

.closeout-step.is-complete {
  border-color: #cee5d7;
  background: #f4faf6;
}

.closeout-step.is-complete .closeout-step-number {
  background: #dcefe4;
  color: #28704b;
}

.closeout-connector {
  display: block;
  height: 2px;
  margin: 0 7px;
  border-radius: 999px;
  background: #dfe6ec;
}

.closeout-connector.is-complete {
  background: #67a783;
}

.monthly-closeout-progress-wrap {
  margin: 0 18px;
  padding: 13px 14px;
  border: 1px solid #e1e8ee;
  border-radius: 13px;
  background: #fbfcfd;
}

.monthly-closeout-progress-copy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.monthly-closeout-progress-copy span {
  color: #63798c;
  font-size: 11px;
  font-weight: 750;
}

.monthly-closeout-progress-copy strong {
  color: #1f4f70;
  font-size: 13px;
}

.monthly-closeout-progress {
  display:block;
  width:100%;
  height:7px;
  margin-top:8px;
  overflow:hidden;
  border:0;
  border-radius:999px;
  background:#e8eef3;
  appearance:none;
  -webkit-appearance:none;
}
.monthly-closeout-progress::-webkit-progress-bar{background:#e8eef3;border-radius:999px}
.monthly-closeout-progress::-webkit-progress-value{background:linear-gradient(90deg,#3a7da8,#4d9871);border-radius:999px}
.monthly-closeout-progress::-moz-progress-bar{background:linear-gradient(90deg,#3a7da8,#4d9871);border-radius:999px}
.closeout-closed .monthly-closeout-progress::-webkit-progress-value{background:#4d9871}
.closeout-closed .monthly-closeout-progress::-moz-progress-bar{background:#4d9871}

.monthly-closeout-message {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 12px 18px 0;
  padding: 12px 14px;
  border: 1px solid #dce6ed;
  border-radius: 13px;
  background: #f8fbfd;
}

.closeout-message-mark {
  display: grid;
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  place-items: center;
  border-radius: 50%;
  background: #e8f1f7;
  color: #39769d;
  font-weight: 900;
}

.monthly-closeout-message strong,
.monthly-closeout-message div > span {
  display: block;
}

.monthly-closeout-message strong {
  color: #23435e;
  font-size: 12px;
}

.monthly-closeout-message div > span {
  margin-top: 2px;
  color: #6c8091;
  font-size: 10.5px;
  line-height: 1.5;
}

.closeout-closed .monthly-closeout-message {
  border-color: #d0e6d8;
  background: #f3faf6;
}

.closeout-closed .closeout-message-mark {
  background: #dcefe4;
  color: #28704b;
}

.closeout-waiting-receipt .monthly-closeout-message {
  border-color: #eadfc8;
  background: #fffaf1;
}

.closeout-waiting-receipt .closeout-message-mark {
  background: #f7ead0;
  color: #946914;
}

.monthly-closeout-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 14px;
  padding: 11px 20px 13px;
  border-top: 1px solid #e9eef3;
  background: #fbfcfd;
  color: #718398;
  font-size: 10.5px;
}

.monthly-closeout-links {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 0 0 auto;
}

@media (max-width: 1080px) {
  .monthly-closeout-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .closeout-connector {
    display: none;
  }
}

@media (max-width: 760px) {
  .monthly-closeout-head,
  .monthly-closeout-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .monthly-closeout-status {
    min-width: 0;
  }

  .monthly-closeout-flow {
    grid-template-columns: 1fr;
  }

  .monthly-closeout-links {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}

/* ============================================================
   V35 — GESTÃO DE MUDANÇAS COMPACTA
   Reorganiza a tela existente sem criar nova área no SAM.
   ============================================================ */
.change-management-head-v35{
  margin-bottom:14px;
}
.change-management-head-v35 p{
  max-width:760px;
}
.change-control-panel-v35{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 14px;
  padding:10px;
  border:1px solid #dce6ee;
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 20px rgba(18,43,74,.035);
}
.change-tabs-v35{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.change-tab-v35{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:7px 10px;
  border:1px solid transparent;
  border-radius:10px;
  color:#63798c;
  text-decoration:none;
  font-size:9.5px;
  font-weight:850;
  white-space:nowrap;
  transition:.15s ease;
}
.change-tab-v35:hover{
  background:#f5f8fb;
  color:#294f70;
}
.change-tab-v35.active{
  border-color:#cbdbe7;
  background:#f2f7fb;
  color:#244b6b;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}
.change-tab-v35.warning.active{background:#fff8ec;border-color:#ead8b7;color:#76592f}
.change-tab-v35.good.active{background:#f0f8f3;border-color:#cee3d4;color:#426a50}
.change-tab-v35.history.active{background:#f2f6f9;border-color:#d7e1e9;color:#536b80}
.change-tab-icon-v35{
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:#edf3f7;
  color:#59738a;
  flex:0 0 auto;
}
.change-tab-v35.warning .change-tab-icon-v35{background:#fff0d8;color:#876535}
.change-tab-v35.good .change-tab-icon-v35{background:#e7f4eb;color:#527a60}
.change-tab-v35.history .change-tab-icon-v35{background:#eaf0f4;color:#60778b}
.change-tab-icon-v35 svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.change-tab-v35 strong{
  min-width:22px;
  height:22px;
  display:grid;
  place-items:center;
  padding:0 6px;
  border-radius:999px;
  background:#fff;
  border:1px solid #dce5ec;
  color:#294d6a;
  font-size:9px;
}
.change-search-v35{
  flex:1;
  justify-content:flex-end;
  margin:0;
}
.change-search-v35 .search-field-wrap{
  width:min(360px,100%);
  max-width:360px;
  flex:0 1 360px;
}
.change-search-v35 .form-control{
  min-height:38px;
}
.change-search-btn-v35,
.change-search-clear-v35{
  min-height:38px;
  padding:7px 11px;
  font-size:9px;
}
.change-list-card-v35{
  margin-top:0;
}
.change-list-card-head-v35{
  min-height:56px;
}
.change-table-v35 td{
  vertical-align:middle;
}
.change-actions-v35{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}
.change-row-primary-v35{
  border-color:#cadce9;
  background:#f3f8fc;
  color:#315f84;
}
.change-row-primary-v35:hover{
  border-color:#9fbcd1;
  background:#eaf3f9;
}
.change-row-close-v35{
  border-color:#e2e7eb;
  background:#fff;
  color:#6f7f8c;
}
.change-row-close-v35:hover{
  border-color:#d7c9c9;
  background:#fbf6f6;
  color:#805f5f;
}
.linking-queue-collapsible-v35{
  margin-top:14px;
  padding:0;
  overflow:hidden;
}
.linking-queue-collapsible-v35 > summary{
  list-style:none;
}
.linking-queue-collapsible-v35 > summary::-webkit-details-marker{
  display:none;
}
.linking-queue-summarybar-v35{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:68px;
  padding:12px 15px;
  cursor:pointer;
  user-select:none;
  background:#fff;
}
.linking-queue-summarybar-v35:hover{
  background:#fbfdff;
}
.linking-summary-icon-v35{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#eaf3fb;
  color:#376c99;
}
.linking-summary-icon-v35 svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.linking-summary-copy-v35{
  min-width:0;
}
.linking-summary-copy-v35 small,
.linking-summary-copy-v35 strong,
.linking-summary-copy-v35 span{
  display:block;
}
.linking-summary-copy-v35 small{
  color:#8799a9;
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.09em;
}
.linking-summary-copy-v35 strong{
  margin-top:2px;
  color:#244a68;
  font-size:12px;
}
.linking-summary-copy-v35 span{
  margin-top:2px;
  color:#7d8f9f;
  font-size:8.8px;
}
.linking-summary-toggle-v35{
  display:flex;
  align-items:center;
  gap:7px;
  padding:7px 9px;
  border:1px solid #dbe5ec;
  border-radius:9px;
  color:#57738a;
  background:#f7fafc;
  font-size:8.5px;
  font-weight:850;
  white-space:nowrap;
}
.linking-summary-toggle-v35 svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .16s ease;
}
.linking-close-label-v35{
  display:none;
}
.linking-queue-collapsible-v35[open] .linking-summary-toggle-v35 svg{
  transform:rotate(180deg);
}
.linking-queue-collapsible-v35[open] .linking-open-label-v35{
  display:none;
}
.linking-queue-collapsible-v35[open] .linking-close-label-v35{
  display:inline;
}
.linking-queue-collapsible-v35[open] .linking-queue-summarybar-v35{
  border-bottom:1px solid #e3ebf1;
  background:#f9fbfd;
}
.linking-queue-body-v35{
  padding:17px 18px 18px;
}
.linking-queue-head-v35{
  margin-bottom:14px;
}
.linking-queue-head-v35 h2{
  font-size:16px;
}

@media(max-width:1050px){
  .change-control-panel-v35{
    align-items:stretch;
    flex-direction:column;
  }
  .change-search-v35{
    justify-content:flex-start;
  }
  .change-search-v35 .search-field-wrap{
    width:100%;
    max-width:none;
    flex:1;
  }
}
@media(max-width:720px){
  .change-tabs-v35{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .change-tab-v35{
    justify-content:center;
    padding:7px 6px;
  }
  .change-tab-icon-v35{
    display:none;
  }
  .change-search-v35{
    flex-direction:row;
    flex-wrap:wrap;
  }
  .change-search-v35 .search-field-wrap{
    flex:1 1 100%;
  }
  .change-actions-v35{
    justify-content:flex-start;
  }
  .linking-queue-summarybar-v35{
    grid-template-columns:34px minmax(0,1fr) auto;
    gap:9px;
    padding:11px 12px;
  }
  .linking-summary-icon-v35{
    width:34px;
    height:34px;
  }
  .linking-summary-toggle-v35 span{
    display:none!important;
  }
  .linking-summary-toggle-v35{
    padding:7px;
  }
}
@media(max-width:520px){
  .change-tab-copy-v35{
    font-size:8.3px;
  }
  .change-tab-v35 strong{
    min-width:20px;
    height:20px;
    padding:0 5px;
  }
  .linking-summary-copy-v35 span{
    white-space:normal;
  }
}

/* ============================================================
   V35.1 — CORREÇÃO VISUAL DA TELA DE DISTRIBUIÇÃO
   Restaura estilos V21/V24/V25/V26 perdidos em patches posteriores.
   ============================================================ */

.distribution-channel-pill{
  display:inline-flex;align-items:center;min-height:25px;padding:0 9px;
  border:1px solid #d8e4ec;border-radius:999px;background:#f7fafc;
  color:#49677f;font-size:8px;font-weight:800;
}
.distribution-send-action{color:#287451;}
.distribution-confirm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px;}
.distribution-confirm-head h1{margin:4px 0 5px;color:#173f63;font-size:24px;}
.distribution-confirm-head p{margin:0;color:#71869a;font-size:11px;}
.distribution-confirm-notice{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:15px 17px;border:1px solid #d5e5dc;border-radius:15px;background:#f5faf7;}
.distribution-confirm-notice-icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:12px;background:#e3f2e9;color:#287451;}
.distribution-confirm-notice-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.distribution-confirm-notice h2{margin:3px 0;color:#173f63;font-size:14px;}
.distribution-confirm-notice p{margin:0;color:#637b8d;font-size:10px;line-height:1.5;}
.distribution-confirm-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start;}
.distribution-confirm-main,.distribution-confirm-side{border:1px solid #dbe5ec;border-radius:15px;background:#fff;}
.distribution-confirm-main{overflow:hidden;}
.distribution-confirm-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border-bottom:1px solid #e4ebf0;background:#f9fbfc;}
.distribution-confirm-title h2,.distribution-confirm-side h2{margin:3px 0;color:#173f63;font-size:14px;}
.distribution-confirm-title p{margin:0;color:#74899a;font-size:9.5px;}
.distribution-recipient-cards{display:grid;gap:10px;padding:15px;}
.distribution-recipient-card{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid #dce6ed;border-radius:12px;background:#fbfdfe;}
.distribution-recipient-icon{width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;border-radius:11px;background:#e9f1f7;color:#356b8f;}
.distribution-recipient-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.distribution-recipient-copy{min-width:0;flex:1;}
.distribution-recipient-copy strong,.distribution-recipient-copy span,.distribution-recipient-copy small{display:block;}
.distribution-recipient-copy strong{color:#173f63;font-size:11px;}
.distribution-recipient-copy span{margin-top:2px;color:#5b7990;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;}
.distribution-recipient-copy small{margin-top:3px;color:#71879a;font-size:9.5px;overflow-wrap:anywhere;}
.distribution-pending-badge{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#fff1cf;color:#94600f;font-size:8px;font-weight:800;}
.distribution-confirm-side{padding:16px;}
.distribution-check-list{display:grid;gap:11px;margin:14px 0 16px;}
.distribution-check-list>div{display:flex;align-items:flex-start;gap:9px;}
.distribution-check-list span{width:23px;height:23px;flex:0 0 23px;display:grid;place-items:center;border-radius:50%;background:#e9f1f7;color:#356b8f;font-size:8px;font-weight:900;}
.distribution-check-list p{margin:2px 0 0;color:#617a8d;font-size:9.5px;line-height:1.45;}
.distribution-confirm-form{margin-top:4px;}
.distribution-confirm-button{width:100%;justify-content:center;}
.distribution-confirm-help{display:block;margin-top:8px;color:#8796a2;font-size:8px;line-height:1.4;text-align:center;}

.real-delivery-panel,.manual-delivery-panel{margin-top:15px;padding:13px;border:1px solid #dce6ed;border-radius:12px;background:#fafcfd;}
.real-delivery-panel.is-ready{border-color:#cfe3d7;background:#f5faf7;}
.real-delivery-panel.needs-config{border-color:#eadab4;background:#fffaf2;}
.real-delivery-panel strong{display:block;margin:4px 0;color:#173f63;font-size:11px;}
.real-delivery-panel p,.manual-delivery-panel p{margin:4px 0 11px;color:#667f91;font-size:9px;line-height:1.5;}
.delivery-config-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:#fff0cf;color:#94600f;font-size:8px;font-weight:850;}
.manual-delivery-panel{border-style:dashed;background:#fff;}

.whatsapp-delivery-panel{margin-top:15px;padding:13px;border:1px solid #dce6ed;border-radius:12px;background:#fafcfd;}
.whatsapp-delivery-panel.is-ready{border-color:#cfe3d7;background:#f5faf7;}
.whatsapp-delivery-panel.needs-config{border-color:#eadab4;background:#fffaf2;}
.whatsapp-delivery-panel strong{display:block;margin:4px 0;color:#173f63;font-size:11px;}
.whatsapp-delivery-panel p{margin:4px 0 11px;color:#667f91;font-size:9px;line-height:1.5;}
.whatsapp-delivery-panel small{display:block;margin-top:7px;color:#8193a0;font-size:8px;line-height:1.45;}
.whatsapp-delivery-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.whatsapp-delivery-actions form,.whatsapp-delivery-actions button{width:100%;}

.report-final-pdf-card{border-color:#c9dce9;background:linear-gradient(180deg,#f7fbfd 0%,#fff 100%);}
.report-final-pdf-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px;}
.report-final-pdf-heading h2{margin:3px 0 0;}
.report-final-pdf-icon{width:40px;height:40px;border-radius:12px;display:inline-grid;place-items:center;flex:0 0 auto;color:#245b82;background:#e8f2f8;border:1px solid #cddfea;}
.report-final-pdf-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.report-final-pdf-card>p{margin:0 0 14px;color:#587184;line-height:1.55;}
.report-final-pdf-actions,.final-pdf-delivery-actions{display:flex;flex-wrap:wrap;gap:8px;}
.report-final-pdf-actions .btn,.final-pdf-delivery-actions .btn{flex:1 1 135px;justify-content:center;}
.final-pdf-delivery-panel{margin-top:16px;padding:16px;border:1px solid #c8dce9;border-radius:14px;background:#f6fafc;}
.final-pdf-delivery-panel strong{display:block;margin:4px 0 6px;color:#173f63;font-size:15px;}
.final-pdf-delivery-panel p{margin:0 0 13px;color:#60798d;line-height:1.5;}

@media(max-width:900px){.distribution-confirm-grid{grid-template-columns:1fr;}}
@media(max-width:700px){
  .distribution-confirm-head,.distribution-confirm-title{align-items:flex-start;flex-direction:column;}
  .distribution-recipient-card{align-items:flex-start;flex-wrap:wrap;}
  .whatsapp-delivery-actions{grid-template-columns:1fr;}
}
@media(max-width:720px){
  .report-final-pdf-actions,.final-pdf-delivery-actions{flex-direction:column;}
  .report-final-pdf-actions .btn,.final-pdf-delivery-actions .btn{width:100%;flex-basis:auto;}
}


/* ===== V37 · estabilização e compatibilidade com CSP ===== */
.translation-progress-track{display:block;width:100%;height:7px;overflow:hidden;border:0;border-radius:999px;background:#e8eef3;appearance:none;-webkit-appearance:none}
.translation-progress-track::-webkit-progress-bar{background:#e8eef3;border-radius:999px}
.translation-progress-track::-webkit-progress-value{background:linear-gradient(90deg,#347da8,#4d9871);border-radius:999px}
.translation-progress-track::-moz-progress-bar{background:linear-gradient(90deg,#347da8,#4d9871);border-radius:999px}
.js-auto-grow{min-height:260px;field-sizing:content;overflow-y:hidden}
.distribution-snapshot-warning{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 16px;padding:16px 18px;border:1px solid #e3c783;border-radius:14px;background:#fffaf0;color:#5f4b22}
.distribution-snapshot-warning h2{margin:3px 0 6px;color:#704f0e;font-size:17px}
.distribution-snapshot-warning p{margin:0;color:#75613b;font-size:12px;line-height:1.55}
.distribution-snapshot-warning ul{margin:8px 0 0;padding-left:18px;color:#715a2e;font-size:11px}
.distribution-snapshot-warning form{flex:0 0 auto}
.btn:disabled{cursor:not-allowed;opacity:.55}
@media(max-width:780px){.distribution-snapshot-warning{align-items:stretch;flex-direction:column}.distribution-snapshot-warning form .btn{width:100%}}

/* ============================================================
   WhatsApp Coletor · revisão por coleta
   ============================================================ */
.collector-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.collector-stat-card{padding:15px 16px;border:1px solid #dce6ed;border-radius:14px;background:#fff}
.collector-stat-card span,.collector-stat-card small{display:block;color:#75899a;font-size:9px}
.collector-stat-card strong{display:block;margin:4px 0 2px;color:#173f63;font-size:24px;line-height:1}
.collector-filter-card{padding:12px 14px}
.collector-section-head{align-items:flex-start}
.collector-section-head h2{margin:3px 0 4px}
.collector-section-head p{margin:0;color:#74899a;font-size:10px;line-height:1.5}
.collector-status{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;font-size:8px;font-weight:850;white-space:nowrap}
.collector-status-ready{background:#fff1cf;color:#94600f}
.collector-status-linked{background:#e4f2e9;color:#287451}
.collector-status-ignored{background:#edf1f4;color:#607385}
.collector-status-error{background:#fae6e6;color:#9a3e3e}
.collector-raw-details{padding:0;overflow:hidden}
.collector-raw-details summary{cursor:pointer;padding:14px 16px;color:#315d7c;font-size:10px;font-weight:850;list-style-position:inside}
.collector-raw-table{border-top:1px solid #e4ebf0}
.collector-review-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}
.collector-review-main,.collector-review-side{min-width:0}
.collector-item-list{display:grid;gap:10px;margin-top:14px}
.collector-item-card{display:flex;gap:12px;padding:13px 14px;border:1px solid #dce6ed;border-radius:13px;background:#fbfdfe}
.collector-item-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:11px;background:#e9f1f7;color:#2f668b;font-size:11px;font-weight:900}
.collector-item-copy{min-width:0;flex:1}
.collector-item-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}
.collector-item-topline strong{color:#173f63;font-size:11px}
.collector-item-topline small{color:#8a9aa6;font-size:8px;white-space:nowrap}
.collector-item-copy p{margin:7px 0 0;color:#566f82;font-size:10px;line-height:1.55}
.collector-file-name{display:block;margin-top:7px;color:#496d87;font-size:9px;font-weight:750;overflow-wrap:anywhere}
.collector-item-actions{display:flex;align-items:center;gap:10px;margin-top:10px}
.collector-detail-link{color:#467391;font-size:8.5px;font-weight:750;text-decoration:none}
.collector-link-card h2{margin:4px 0 7px;color:#173f63;font-size:17px}
.collector-link-card>p{margin:0 0 14px;color:#647d90;font-size:10px;line-height:1.55}
.collector-link-form{display:grid;gap:7px}
.collector-link-form label{margin-top:3px;color:#355d79;font-size:9px;font-weight:850}
.collector-link-form .form-control{width:100%}
.collector-full-button{width:100%;justify-content:center;margin-top:7px}
.collector-safe-note{display:block;margin-top:9px;color:#8294a2;font-size:8px;line-height:1.45;text-align:center}
.collector-linked-report{display:grid;gap:4px;margin:12px 0 15px;padding:12px;border:1px solid #d7e5dc;border-radius:11px;background:#f6faf7}
.collector-linked-report span{color:#7b8e9b;font-size:8px;text-transform:uppercase;letter-spacing:.05em}
.collector-linked-report strong{color:#214f6e;font-size:11px}
.field-error{display:block;color:#a54747;font-size:8px}
.field-help{display:block;color:#8293a0;font-size:8px}
.form-errors{padding:9px 10px;border:1px solid #efcccc;border-radius:9px;background:#fff4f4;color:#934444;font-size:9px}
@media(max-width:1000px){.collector-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collector-review-grid{grid-template-columns:1fr}}
@media(max-width:620px){.collector-stats-grid{grid-template-columns:1fr}.collector-item-card{align-items:flex-start}.collector-item-topline{align-items:flex-start;flex-direction:column;gap:3px}.collector-item-actions{align-items:stretch;flex-direction:column}}


/* ============================================================
   V39 · Tradução de relatórios — layout estável + mídias contidas
   ============================================================ */
.translation-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin:0 0 16px}
.translation-page-head>div{min-width:0}
.translation-page-head h1{margin:5px 0 6px;color:#173f63;font-size:25px;line-height:1.15}
.translation-page-head p{margin:0;color:#6d8294;font-size:10.5px;line-height:1.55}
.translation-progress-card,.auto-translation-card,.translation-item-card,.translation-actions-bar,.translation-empty-card{border:1px solid #dbe5ec;border-radius:15px;background:#fff}
.translation-progress-card{margin-bottom:14px;padding:15px 17px}
.translation-progress-copy{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:10px}
.translation-progress-copy h2{margin:3px 0 3px;color:#173f63;font-size:15px}
.translation-progress-copy p{margin:0;color:#71869a;font-size:9.5px}
.translation-progress-copy>strong{color:#2d668d;font-size:17px}
.auto-translation-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:15px 17px;background:linear-gradient(180deg,#f8fbfd 0%,#fff 100%)}
.auto-translation-card.is-ready{border-color:#cfe0ea}
.auto-translation-card.needs-config{border-color:#eadab4;background:#fffaf2}
.auto-translation-copy{display:flex;align-items:flex-start;gap:12px;min-width:0}
.auto-translation-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:#e9f2f8;color:#2f6d95}
.auto-translation-icon svg{display:block;width:22px!important;height:22px!important;max-width:22px;max-height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.auto-translation-copy h2{margin:3px 0 4px;color:#173f63;font-size:14px}
.auto-translation-copy p{max-width:680px;margin:0;color:#687f91;font-size:9.5px;line-height:1.5}
.auto-translation-actions{flex:0 0 auto;display:grid;justify-items:end;gap:5px}
.auto-translation-actions form{margin:0}
.auto-translation-actions small,.translation-auto-start-note{color:#7d909e;font-size:8px;line-height:1.4;text-align:right}
.auto-translation-config-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#fff0cf;color:#94600f;font-size:8px;font-weight:850}
.translation-workspace-form{margin:0}
.translation-workspace{display:grid;gap:14px}
.translation-item-card{overflow:hidden}
.translation-item-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border-bottom:1px solid #e4ebf0;background:#f9fbfc}
.translation-item-head h2{margin:3px 0 0;color:#173f63;font-size:14px}
.translation-item-type{color:#6f8798;font-size:8px;font-weight:850;letter-spacing:.07em}
.translation-complete-badge,.translation-pending-badge{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;font-size:8px;font-weight:850;white-space:nowrap}
.translation-complete-badge{background:#e4f2e9;color:#287451}
.translation-pending-badge{background:#fff1cf;color:#94600f}
.translation-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.translation-original-panel,.translation-editor-panel{min-width:0;padding:15px}
.translation-original-panel{border-right:1px solid #e4ebf0;background:#fbfdfe}
.translation-original-panel>span,.translation-editor-panel>label,.translation-caption-original>span,.translation-photo-copy>label{display:block;margin-bottom:7px;color:#55748a;font-size:8px;font-weight:850;letter-spacing:.05em}
.translation-text-scroll{max-height:360px;overflow:auto;padding-right:5px}
.translation-text-scroll p,.translation-caption-original p{margin:0;color:#3f5b70;font-size:10.5px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.translation-editor-panel textarea,.translation-photo-copy textarea{display:block;width:100%;box-sizing:border-box;resize:vertical;border:1px solid #cfdce5;border-radius:11px;background:#fff;color:#27465d;font:inherit;font-size:10.5px;line-height:1.6;padding:12px;outline:none}
.translation-editor-panel textarea:focus,.translation-photo-copy textarea:focus{border-color:#6b9bb9;box-shadow:0 0 0 3px rgba(70,126,162,.10)}
.translation-editor-panel .js-auto-grow{min-height:260px;max-height:520px;overflow:auto;field-sizing:fixed}
.translation-photo-grid{display:grid;grid-template-columns:minmax(250px,360px) minmax(0,1fr);gap:0}
.translation-photo-preview{min-width:0;min-height:260px;max-height:420px;display:grid;place-items:center;padding:14px;overflow:hidden;border-right:1px solid #e4ebf0;background:#f4f8fa}
.translation-photo-preview img{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:390px!important;object-fit:contain;border-radius:10px;box-shadow:0 3px 12px rgba(31,65,88,.08)}
.translation-photo-copy{min-width:0;padding:15px}
.translation-caption-original{margin-bottom:14px;padding:12px;border:1px solid #e0e8ee;border-radius:10px;background:#fbfdfe}
.translation-photo-copy textarea{min-height:130px!important;max-height:300px}
.translation-empty-card{padding:18px;text-align:center}
.translation-empty-card strong,.translation-empty-card span{display:block}
.translation-empty-card strong{color:#173f63;font-size:12px}
.translation-empty-card span{margin-top:4px;color:#7a8d9b;font-size:9px}
.translation-actions-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:14px 16px}
.translation-actions-bar strong,.translation-actions-bar span{display:block}
.translation-actions-bar strong{color:#173f63;font-size:10px}
.translation-actions-bar>div>span{margin-top:2px;color:#7b8e9c;font-size:8.5px}
.translation-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
@media(max-width:900px){.translation-page-head,.auto-translation-card,.translation-actions-bar{align-items:stretch;flex-direction:column}.auto-translation-actions{justify-items:stretch}.auto-translation-actions .btn{width:100%}.translation-columns,.translation-photo-grid{grid-template-columns:1fr}.translation-original-panel,.translation-photo-preview{border-right:0;border-bottom:1px solid #e4ebf0}.translation-photo-preview{max-height:360px}.translation-photo-preview img{max-height:330px!important}.translation-actions{width:100%;flex-direction:column}.translation-actions .btn{width:100%}}
@media(max-width:620px){.translation-item-head{align-items:flex-start;flex-direction:column}.translation-progress-copy{align-items:flex-start;flex-direction:column}.translation-page-head h1{font-size:22px}}
/* === V42 FOTO PREVIEW COMPACTA START === */
/* PrÃ©-visualizaÃ§Ãµes compactas no fluxo de relatÃ³rios. A foto original nÃ£o Ã© alterada. */
.report-photo-preview{
  padding:12px 14px 10px;
  border-top:1px solid #e2e9ef;
  background:#f6f9fb;
}
.report-photo-preview > a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:150px;
  max-height:280px;
  overflow:hidden;
  border-radius:11px;
  background:#eef4f7;
}
.report-photo-preview > a img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:min(100%,520px)!important;
  max-height:260px!important;
  object-fit:contain!important;
  margin:0 auto!important;
  border-radius:9px;
  box-shadow:0 3px 12px rgba(31,65,88,.08);
}
.report-photo-captions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:9px;
}
.report-photo-caption{
  min-width:0;
  padding:9px 10px;
  border:1px solid #dfe8ee;
  border-radius:9px;
  background:#fff;
}
.report-photo-caption.translated{background:#f7fbf8}
.report-photo-caption span{
  display:block;
  margin-bottom:4px;
  color:#748b9c;
  font-size:7px;
  font-weight:850;
  letter-spacing:.06em;
}
.report-photo-caption p{
  margin:0;
  color:#40596e;
  font-size:9px;
  line-height:1.55;
}

/* Tela de traduÃ§Ã£o: mesma escala compacta. */
.translation-photo-preview{
  min-height:190px!important;
  max-height:300px!important;
  padding:12px!important;
}
.translation-photo-preview img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:260px!important;
  object-fit:contain!important;
}

/* Tela de revisÃ£o: evita foto em tamanho natural. */
.review-photo-grid{
  display:grid;
  grid-template-columns:minmax(220px,340px) minmax(0,1fr);
  border-top:1px solid #e2e9ef;
}
.review-photo-preview{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:190px;
  max-height:300px;
  overflow:hidden;
  padding:12px;
  border-right:1px solid #e2e9ef;
  background:#f4f8fa;
}
.review-photo-preview img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:260px!important;
  object-fit:contain!important;
  border-radius:9px;
}
.review-photo-text{min-width:0;padding:14px}

@media(max-width:760px){
  .report-photo-preview > a{min-height:130px;max-height:240px}
  .report-photo-preview > a img{max-height:220px!important}
  .report-photo-captions{grid-template-columns:1fr}
  .translation-photo-preview{min-height:160px!important;max-height:250px!important}
  .translation-photo-preview img{max-height:220px!important}
  .review-photo-grid{grid-template-columns:1fr}
  .review-photo-preview{min-height:160px;max-height:250px;border-right:0;border-bottom:1px solid #e2e9ef}
  .review-photo-preview img{max-height:220px!important}
}
/* === V42 FOTO PREVIEW COMPACTA END === */
/* === V43 REVISAO RELATORIO START === */
/* Layout completo da etapa Revisar relatÃ³rio. */
.review-page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.review-page-head > div{min-width:0}
.review-page-head .crumb{
  display:block;
  margin-bottom:7px;
  color:#6f8497;
  font-size:10px;
  font-weight:750;
}
.review-page-head .card-kicker{display:block;margin-bottom:4px}
.review-page-head h1{
  margin:0;
  color:#153b60;
  font-size:28px;
  line-height:1.1;
  letter-spacing:-.02em;
}
.review-page-head p{
  margin:7px 0 0;
  color:#71869a;
  font-size:11px;
  line-height:1.5;
}
.review-page-head .btn{flex:0 0 auto}

.review-summary-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
  padding:18px 20px;
  border:1px solid #d9e4ec;
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 22px rgba(18,43,74,.04);
}
.review-summary-main{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
}
.review-summary-icon{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  border:1px solid #d9e6ef;
  border-radius:13px;
  background:#edf5fb;
  color:#356d99;
  overflow:hidden;
}
.review-summary-icon svg{
  display:block!important;
  width:22px!important;
  height:22px!important;
  max-width:22px!important;
  max-height:22px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.review-summary-main h2{
  margin:3px 0 4px;
  color:#1d4567;
  font-size:16px;
  line-height:1.25;
}
.review-summary-main p{
  margin:0;
  color:#778b9d;
  font-size:10px;
  line-height:1.5;
}
.review-summary-count{
  flex:0 0 auto;
  min-width:120px;
  padding:10px 13px;
  border:1px solid #dce7ee;
  border-radius:12px;
  background:#f7fafc;
  text-align:center;
}
.review-summary-count strong{
  display:block;
  color:#214c70;
  font-size:19px;
  line-height:1.1;
}
.review-summary-count span{
  display:block;
  margin-top:3px;
  color:#7b8f9f;
  font-size:8.5px;
  font-weight:750;
}

.review-form{display:grid;gap:16px}
.review-workspace{display:grid;gap:14px;min-width:0}
.review-item-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #d9e4ec;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 20px rgba(18,43,74,.035);
}
.review-item-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:13px 16px;
  border-bottom:1px solid #e3ebf1;
  background:#f9fbfd;
}
.review-item-head > div{min-width:0}
.review-item-type{
  display:block;
  color:#7b8fa0;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.review-item-head h2{
  margin:3px 0 0;
  color:#244a69;
  font-size:14px;
  line-height:1.25;
}
.review-ok-badge,.review-warning-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:27px;
  padding:0 9px;
  border-radius:999px;
  font-size:8.5px;
  font-weight:850;
  white-space:nowrap;
}
.review-ok-badge{background:#edf8f2;color:#397459;border:1px solid #d8eadf}
.review-warning-badge{background:#fff6e9;color:#8e672d;border:1px solid #f0e2c9}

.review-columns{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  min-width:0;
}
.review-original,.review-portuguese{min-width:0;padding:16px}
.review-original{
  border-right:1px solid #e1e9ef;
  background:#f8fafc;
}
.review-original > span,.review-portuguese > label,
.review-caption-original > span,.review-photo-text > label{
  display:block;
  margin-bottom:8px;
  color:#718697;
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
}
.review-scroll{
  max-height:340px;
  overflow:auto;
  padding:12px 13px;
  border:1px solid #e0e8ee;
  border-radius:11px;
  background:#fff;
}
.review-scroll p,.review-caption-original p{
  margin:0;
  color:#3d566c;
  font-size:11px;
  line-height:1.65;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.review-portuguese textarea,.review-photo-text textarea{
  display:block;
  width:100%;
  min-width:0;
  resize:vertical;
  border:1px solid #cfdae4;
  border-radius:11px;
  background:#fff;
  color:#2e4b63;
  font-size:11px;
  line-height:1.6;
  padding:12px 13px;
  outline:none;
  box-shadow:inset 0 1px 2px rgba(20,52,77,.025);
}
.review-portuguese textarea{min-height:280px}
.review-photo-text textarea{min-height:120px}
.review-portuguese textarea:focus,.review-photo-text textarea:focus{
  border-color:#6f9fc2;
  box-shadow:0 0 0 3px rgba(61,116,157,.10);
}
.review-portuguese small{
  display:block;
  margin-top:7px;
  color:#8294a4;
  font-size:8.5px;
}

.review-photo-grid{
  display:grid;
  grid-template-columns:minmax(220px,340px) minmax(0,1fr);
  min-width:0;
}
.review-photo-preview{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:190px;
  max-height:300px;
  overflow:hidden;
  padding:12px;
  border-right:1px solid #e1e9ef;
  background:#f4f8fa;
}
.review-photo-preview img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:260px!important;
  object-fit:contain!important;
  border-radius:9px;
  box-shadow:0 3px 12px rgba(31,65,88,.08);
}
.review-photo-text{min-width:0;padding:15px 16px}
.review-caption-original{
  margin-bottom:13px;
  padding:11px 12px;
  border:1px solid #e2e9ef;
  border-radius:10px;
  background:#f8fafc;
}
.review-caption-original .muted-copy{color:#8495a4;font-style:italic}

.review-empty-card{
  display:grid;
  gap:4px;
  padding:18px;
  border:1px dashed #cfdae3;
  border-radius:14px;
  background:#fff;
}
.review-empty-card strong{color:#264b69;font-size:12px}
.review-empty-card span{color:#7e90a0;font-size:9.5px}

.review-actions-bar{
  position:sticky;
  bottom:12px;
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 16px;
  border:1px solid #d7e2eb;
  border-radius:15px;
  background:rgba(255,255,255,.97);
  box-shadow:0 12px 30px rgba(19,48,75,.10);
  backdrop-filter:blur(8px);
}
.review-actions-bar > div:first-child{min-width:0}
.review-actions-bar strong{
  display:block;
  color:#284d6b;
  font-size:10.5px;
}
.review-actions-bar span{
  display:block;
  margin-top:2px;
  color:#7b8e9e;
  font-size:8.5px;
}
.review-actions{display:flex;gap:8px;flex:0 0 auto}
.review-actions .btn{justify-content:center}

/* ProteÃ§Ã£o extra contra SVG sem dimensÃ£o em qualquer ponto da revisÃ£o. */
.review-page-head svg,.review-summary-card svg,.review-actions-bar svg{
  flex:0 0 auto;
}
.review-page-head .icon-button-label > svg,
.review-actions-bar .icon-button-label > svg{
  width:17px!important;
  height:17px!important;
  max-width:17px!important;
  max-height:17px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
}

@media(max-width:900px){
  .review-page-head{align-items:flex-start;flex-direction:column}
  .review-summary-card{align-items:flex-start;flex-direction:column}
  .review-summary-count{min-width:0;width:100%;text-align:left}
  .review-columns{grid-template-columns:1fr}
  .review-original{border-right:0;border-bottom:1px solid #e1e9ef}
  .review-photo-grid{grid-template-columns:1fr}
  .review-photo-preview{min-height:160px;max-height:250px;border-right:0;border-bottom:1px solid #e1e9ef}
  .review-photo-preview img{max-height:220px!important}
  .review-actions-bar{position:static;align-items:stretch;flex-direction:column}
  .review-actions{width:100%}
  .review-actions .btn{flex:1}
}
@media(max-width:620px){
  .review-page-head h1{font-size:24px}
  .review-summary-main{align-items:flex-start}
  .review-item-head{align-items:flex-start;flex-direction:column}
  .review-portuguese textarea{min-height:230px}
  .review-actions{flex-direction:column}
  .review-actions .btn{width:100%}
}
/* === V43 REVISAO RELATORIO END === */
/* === V45 CHECKUP PRE-APRESENTACAO START === */
/* Proteção defensiva: todos os SVG 24x24 usados no SAM são ícones.
   Evita que um ícone sem regra específica ocupe centenas de pixels. */
svg[viewBox="0 0 24 24"]{
  max-width:48px;
  max-height:48px;
}

/* WhatsApp Coletor — completa as classes de estrutura usadas nas telas. */
.title-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.title-row h1{margin:3px 0 5px;color:#153b60;font-size:28px;line-height:1.1;letter-spacing:-.02em}
.eyebrow{color:#6d879c;font-size:8.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.subtitle{color:#71879a;font-size:10.5px;line-height:1.5}
.card.section{
  margin-bottom:14px;
  border:1px solid #dbe5ec;
  border-radius:15px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 7px 20px rgba(18,43,74,.035);
}
.card.section:not(.collector-raw-details){padding:15px 16px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.toolbar-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.toolbar-form input,.toolbar-form select{
  min-height:36px;
  padding:8px 10px;
  border:1px solid #cedae4;
  border-radius:9px;
  background:#fff;
  color:#36536a;
  font:inherit;
}
.toolbar-form input{min-width:260px;flex:1}
.btn-secondary{
  background:#fff!important;
  color:#244d70!important;
  border:1px solid #ccdbe6!important;
}
.btn-secondary:hover{background:#f2f7fa!important;border-color:#aac2d3!important}
.collector-review-title{margin:3px 0 4px;color:#173f63;font-size:20px}

/* Perfil do missionário — arquivo de relatórios por competência. */
.profile-report-archive{overflow:hidden}
.profile-report-archive-heading{align-items:flex-end}
.profile-report-archive-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.profile-report-total{
  display:inline-flex;align-items:center;min-height:28px;padding:0 10px;
  border:1px solid #dbe5ec;border-radius:999px;background:#f5f9fc;
  color:#54728a;font-size:8.5px;font-weight:850;
}
.profile-report-archive-list{display:grid;gap:9px}
.profile-report-archive-row{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:11px 12px;
  border:1px solid #dfe7ed;
  border-radius:12px;
  background:#fbfdfe;
}
.profile-report-datebox{
  width:50px;height:50px;display:grid;place-items:center;align-content:center;
  border:1px solid #d7e3ec;border-radius:11px;background:#edf4f8;text-align:center;
}
.profile-report-datebox strong{display:block;color:#244d6d;font-size:17px;line-height:1}
.profile-report-datebox span{display:block;margin-top:3px;color:#72879a;font-size:8px;font-weight:800}
.profile-report-archive-main{min-width:0}
.profile-report-archive-titleline{display:flex;align-items:center;justify-content:space-between;gap:10px}
.profile-report-archive-titleline>div{min-width:0}
.profile-report-archive-titleline small{display:block;color:#8495a3;font-size:7.5px;font-weight:850;letter-spacing:.06em}
.profile-report-archive-titleline strong{display:block;margin-top:2px;color:#35566f;font-size:10.5px}
.profile-report-status{
  display:inline-flex;align-items:center;min-height:24px;padding:0 8px;
  border-radius:999px;background:#edf2f6;color:#60788c;font-size:7.5px;font-weight:850;white-space:nowrap;
}
.profile-report-archive-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:7px}
.profile-report-archive-meta span{display:inline-flex;align-items:center;gap:4px;color:#8293a0;font-size:7.5px}
.profile-report-archive-meta svg{width:13px!important;height:13px!important;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.profile-report-archive-meta .pdf-ready{color:#4a8062}
.profile-report-archive-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.profile-report-action{
  display:inline-flex;align-items:center;gap:4px;min-height:29px;padding:5px 8px;
  border:1px solid #d5e1e9;border-radius:8px;background:#fff;color:#416781;
  font-size:8px;font-weight:800;text-decoration:none;
}
.profile-report-action:hover{background:#f3f8fb;border-color:#bcd0de}
.profile-report-action svg{width:14px!important;height:14px!important;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.profile-report-action.pdf{color:#3f6f8c}
.profile-report-action.download{color:#456f59}
.profile-report-archive-empty{
  display:flex;align-items:center;gap:11px;padding:15px;
  border:1px dashed #cedce6;border-radius:12px;background:#fafcfd;
}
.profile-report-archive-empty strong,.profile-report-archive-empty span{display:block}
.profile-report-archive-empty strong{color:#4f697e;font-size:10px}
.profile-report-archive-empty div>span{margin-top:3px;color:#8797a4;font-size:8.5px}
.profile-report-archive-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid #e7edf2;color:#81919e;font-size:8.5px}

@media(max-width:780px){
  .title-row{align-items:flex-start;flex-direction:column}
  .toolbar-form{align-items:stretch;flex-direction:column}
  .toolbar-form input{min-width:0;width:100%}
  .toolbar-form select,.toolbar-form .btn{width:100%}
  .profile-report-archive-row{grid-template-columns:48px minmax(0,1fr)}
  .profile-report-archive-actions{grid-column:1/-1;justify-content:flex-start;padding-left:60px}
  .profile-report-archive-titleline{align-items:flex-start;flex-direction:column}
  .profile-report-archive-footer{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .profile-report-archive-row{grid-template-columns:1fr}
  .profile-report-datebox{width:48px;height:48px}
  .profile-report-archive-actions{padding-left:0}
}
/* === V45 CHECKUP PRE-APRESENTACAO END === */

