:root{
  --j-red:#d70d18;
  --j-red-dark:#a80c14;
  --j-red-soft:#fff1f2;
  --j-navy:#13263d;
  --j-blue:#16458f;
  --j-text:#263548;
  --j-muted:#697586;
  --j-line:#e7dfe1;
  --j-paper:#fff;
  --j-surface:#f7f9fc;
  --j-success:#16734b;
  --j-shadow:0 18px 44px rgba(44,22,26,.08);
  --j-shadow-soft:0 8px 24px rgba(44,22,26,.055);
}

*{box-sizing:border-box}
body.journey-page{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 90% 12%,rgba(215,13,24,.045),transparent 30%),
    linear-gradient(180deg,#fff 0,#fbfcfe 46%,#f5f7fa 100%);
  color:var(--j-text);
}

/* CABEÇALHO */
.journey-header{
  position:sticky;
  top:0;
  z-index:40;
  min-height:78px;
  padding:8px max(24px,calc((100vw - 1240px)/2));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  border-top:3px solid var(--j-red);
  border-bottom:1px solid #f0e2e3;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px) saturate(150%);
  box-shadow:0 4px 20px rgba(72,27,31,.045);
}
.journey-brand{display:inline-flex;align-items:center;text-decoration:none}
.journey-brand img{height:54px;width:auto;display:block;object-fit:contain}
.journey-header nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.journey-header nav a{
  position:relative;
  min-height:42px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  border-radius:9px;
  color:#3b4452;
  text-decoration:none;
  font-size:.86rem;
  font-weight:800;
  transition:.18s ease;
}
.journey-header nav a:hover,.journey-header nav a:focus-visible{background:var(--j-red-soft);color:var(--j-red-dark)}

/* HERO */
.journey-hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 84% 18%,rgba(255,255,255,.15),transparent 27%),
    radial-gradient(circle at 73% 88%,rgba(81,0,6,.22),transparent 28%),
    linear-gradient(118deg,#b80d16 0%,#df1721 50%,#b90c15 100%);
}
.journey-hero::after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border:72px solid rgba(255,255,255,.055);
  border-radius:50%;
  right:-90px;
  top:-150px;
}
.journey-hero>div{
  position:relative;
  z-index:2;
  width:min(1240px,calc(100% - 40px));
  margin:auto;
  padding:54px 0 58px;
  display:grid;
  grid-template-columns:minmax(0,760px) minmax(260px,1fr);
  gap:56px;
  align-items:center;
}
.journey-hero-copy{min-width:0}
.journey-hero span,.journey-card-head span,.journey-welcome span,.journey-modality-cards article>span{
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.journey-hero h1{margin:9px 0 13px;font-size:clamp(2.45rem,4.7vw,4.55rem);line-height:.98;letter-spacing:-.04em}
.journey-hero p{max-width:720px;margin:0;color:#ffe9ea;line-height:1.65;font-size:1rem}
.journey-hero-features{display:grid;gap:10px}
.journey-hero-feature{
  display:flex;
  gap:11px;
  align-items:center;
  min-height:52px;
  padding:11px 14px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:12px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(7px);
  color:#fff;
  font-size:.82rem;
  font-weight:750;
}
.journey-hero-feature svg{width:21px;height:21px;flex:0 0 21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* LAYOUT */
.journey-shell{width:min(1120px,calc(100% - 32px));margin:34px auto 68px}
#authArea{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px;align-items:start}
#authArea>.journey-auth-tabs{grid-column:1;grid-row:1}
#authArea>#loginPanel,#authArea>#registerPanel{grid-column:2;grid-row:1 / span 3}
#authArea>#authMessage{grid-column:1;grid-row:2}

.journey-auth-tabs,.journey-history-tabs{
  display:flex;
  padding:5px;
  border:1px solid var(--j-line);
  border-radius:13px;
  background:#fff;
  box-shadow:var(--j-shadow-soft);
}
.journey-auth-tabs{flex-direction:column;gap:5px;width:100%;margin:0}
.journey-history-tabs{width:max-content;gap:4px;margin:6px 0 16px}
.journey-auth-tabs button,.journey-history-tabs button{
  border:0;
  border-radius:9px;
  background:transparent;
  padding:11px 18px;
  font-weight:850;
  color:#5c6676;
  cursor:pointer;
  text-align:left;
  transition:.18s ease;
}
.journey-history-tabs button{text-align:center;min-width:126px}
.journey-auth-tabs button:hover,.journey-history-tabs button:hover{background:#f8f2f3;color:var(--j-red-dark)}
.journey-auth-tabs button.is-active,.journey-history-tabs button.is-active{
  background:linear-gradient(135deg,var(--j-red),#bd0d15);
  color:#fff;
  box-shadow:0 5px 14px rgba(180,10,20,.18);
}

.journey-card{
  background:rgba(255,255,255,.98);
  border:1px solid var(--j-line);
  border-radius:18px;
  padding:28px;
  box-shadow:var(--j-shadow);
}
.journey-card-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #f0e9ea}
.journey-card-head span{color:var(--j-red)}
.journey-card-head h2{margin:5px 0 0;font-size:1.5rem;line-height:1.2;color:var(--j-navy)}
.journey-card-head small{max-width:360px;color:var(--j-muted);line-height:1.5;text-align:right}

/* FORMULÁRIOS */
.journey-form{display:grid;gap:17px}
.journey-form-grid{grid-template-columns:1fr 1fr;gap:17px 18px}
.journey-span-2{grid-column:1/-1}
.journey-form label{display:grid;gap:7px;font-size:.82rem;font-weight:800;color:#404958}
.journey-form input{
  width:100%;
  min-height:46px;
  border:1px solid #cfd5de;
  border-radius:10px;
  padding:10px 12px;
  font:inherit;
  background:#fff;
  color:#172033;
  box-shadow:0 1px 2px rgba(16,24,40,.035);
}
.journey-form input:hover{border-color:#b9c2cf}
.journey-form input:focus{outline:3px solid rgba(201,16,26,.11);border-color:var(--j-red)}
.journey-primary,.journey-secondary{border:0;border-radius:10px;min-height:46px;padding:10px 20px;font-weight:900;cursor:pointer;transition:.18s ease}
.journey-primary{background:linear-gradient(135deg,var(--j-red),#bd0d15);color:#fff;box-shadow:0 5px 14px rgba(180,10,20,.17)}
.journey-primary:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(180,10,20,.23)}
.journey-secondary{background:#fff;border:1px solid #e0c7c9;color:var(--j-red-dark)}
.journey-secondary:hover{background:var(--j-red-soft);border-color:#dba9ad}
.journey-info{padding:14px 16px;border-radius:11px;background:#fff9eb;border:1px solid #edd9a9;color:#654d1e}
.journey-info p{margin:5px 0 0;font-size:.82rem;line-height:1.5}
.journey-message{min-height:22px;margin:0;padding:2px 4px;font-weight:750;color:#9b1720;line-height:1.45}

/* ÁREA LOGADA */
.journey-welcome{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
  padding:20px 22px;
  border:1px solid var(--j-line);
  border-radius:16px;
  background:linear-gradient(110deg,#fff,#fff7f8);
  box-shadow:var(--j-shadow-soft);
}
.journey-welcome h2{margin:4px 0 0;color:var(--j-navy);font-size:1.65rem}
.journey-welcome span{color:var(--j-red)}

.journey-modality-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px}
.journey-modality-cards.journey-modality-single{grid-template-columns:minmax(0,1fr)}
.journey-modality-cards .journey-aferese-card::after{background:rgba(22,69,143,.065)}
.journey-modality-cards .journey-aferese-card>span{color:var(--j-blue)}
.journey-modality-cards article{
  position:relative;
  overflow:hidden;
  min-height:208px;
  padding:24px;
  border-radius:18px;
  border:1px solid var(--j-line);
  background:#fff;
  box-shadow:var(--j-shadow-soft);
}
.journey-modality-cards article::after{
  content:"";
  position:absolute;
  width:115px;
  height:115px;
  border-radius:50%;
  right:-35px;
  top:-35px;
  background:rgba(215,13,24,.055);
}
.journey-modality-cards article:nth-child(2)::after{background:rgba(22,69,143,.065)}
.journey-modality-cards article>span{color:var(--j-red)}
.journey-modality-cards article:nth-child(2)>span{color:var(--j-blue)}
.journey-modality-cards article>strong{display:block;font-size:2.75rem;line-height:1;margin:12px 0 5px;color:var(--j-navy)}
.journey-modality-cards article>small{display:block;color:var(--j-muted);margin-bottom:17px}
.journey-modality-cards article div{display:flex;justify-content:space-between;gap:14px;font-size:.84rem;margin-top:9px;padding-top:9px;border-top:1px dashed #ece5e6}
.journey-modality-cards article div b{color:#3c4757}.journey-modality-cards article div span{text-align:right;color:#5f6d7e}

/* HISTÓRICO */
.journey-history-panel{padding-bottom:30px}
.journey-notice,.journey-privacy{padding:14px 16px;border:1px solid #dde5ee;background:#f7f9fc;border-radius:11px;color:#556477;font-size:.82rem;line-height:1.55}
.journey-timeline{position:relative;display:grid;gap:0;margin-top:22px;padding-left:28px}
.journey-timeline::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:linear-gradient(#edbbc0,#dce3ed)}
.journey-event{
  position:relative;
  display:grid;
  grid-template-columns:140px 1fr auto;
  gap:18px;
  align-items:center;
  margin-bottom:12px;
  padding:16px 17px;
  border:1px solid #ece4e5;
  border-radius:13px;
  background:#fff;
  box-shadow:0 3px 12px rgba(45,26,29,.035);
}
.journey-event::before{
  content:"";
  position:absolute;
  left:-25px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:#fff;
  border:3px solid var(--j-red);
  box-shadow:0 0 0 4px #fff;
}
.journey-event-date{font-weight:850;color:var(--j-navy)}
.journey-event-date small{display:block;color:var(--j-muted);font-weight:600;margin-top:2px}
.journey-event-main strong{display:block;color:#253246}
.journey-event-main small{display:block;color:var(--j-muted);margin-top:4px;line-height:1.45}
.journey-badge{padding:6px 10px;border-radius:999px;font-size:.68rem;font-weight:900;white-space:nowrap;border:1px solid transparent}
.journey-badge.doacao{background:#e9f7f0;color:#126c43;border-color:#cdebdc}
.journey-badge.ausente{background:#fff2e9;color:#9f4617;border-color:#f0d4c3}
.journey-badge.cancelado{background:#f3f4f6;color:#5f6672;border-color:#e3e5e8}
.journey-badge.confirmado{background:#edf3ff;color:#315aa8;border-color:#d5e2fb}
.journey-badge.agendamento{background:#f8eef9;color:#765079;border-color:#ead5ec}
.journey-empty{padding:34px;text-align:center;color:var(--j-muted);border:1px dashed #cbd3dd;border-radius:12px;background:#fafbfd}
.journey-privacy{margin-top:18px}
[hidden]{display:none!important}

@media(max-width:900px){
  .journey-hero>div{grid-template-columns:1fr;gap:24px;padding:42px 0}
  .journey-hero-features{grid-template-columns:repeat(3,minmax(0,1fr))}
  #authArea{grid-template-columns:1fr}
  #authArea>.journey-auth-tabs,#authArea>#loginPanel,#authArea>#registerPanel,#authArea>#authMessage{grid-column:1;grid-row:auto}
  .journey-auth-tabs{flex-direction:row;width:max-content;max-width:100%}
  .journey-auth-tabs button{text-align:center}
}
@media(max-width:720px){
  .journey-header{align-items:flex-start;flex-direction:column;padding:10px 16px;gap:6px}
  .journey-header nav{gap:3px}.journey-header nav a{padding:0 9px;font-size:.79rem}
  .journey-brand img{height:46px}
  .journey-shell{width:calc(100% - 24px);margin-top:22px}
  .journey-hero>div{width:calc(100% - 28px)}
  .journey-hero h1{font-size:2.5rem}
  .journey-hero-features{grid-template-columns:1fr}
  .journey-form-grid,.journey-modality-cards{grid-template-columns:1fr}.journey-span-2{grid-column:auto}
  .journey-card{padding:20px}
  .journey-card-head{flex-direction:column}.journey-card-head small{text-align:left}
  .journey-welcome{align-items:flex-start}.journey-welcome h2{font-size:1.35rem}
  .journey-event{grid-template-columns:1fr;gap:8px}.journey-badge{justify-self:start}
  .journey-modality-cards article div{display:block}.journey-modality-cards article div span{display:block;text-align:left;margin-top:2px}
}
@media(max-width:430px){
  .journey-auth-tabs,.journey-history-tabs{width:100%}
  .journey-auth-tabs button,.journey-history-tabs button{flex:1;min-width:0}
  .journey-hero h1{font-size:2.15rem}
}


/* V2.13 — Reforco visual da area logada da Jornada */
.journey-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.95fr);gap:20px;margin-bottom:26px;align-items:stretch}
.journey-welcome-card{display:flex;flex-direction:column;justify-content:space-between;min-height:235px;padding:28px 30px;border:1px solid var(--j-line);border-radius:22px;background:linear-gradient(135deg,#fff 0%,#fff7f8 55%,#fff 100%);box-shadow:var(--j-shadow);position:relative;overflow:hidden}
.journey-welcome-card::after{content:"";position:absolute;right:-32px;top:-26px;width:140px;height:140px;border-radius:50%;background:rgba(215,13,24,.06)}
.journey-welcome-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;position:relative;z-index:1}
.journey-welcome-head span{display:block;font-size:.74rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase;color:var(--j-red);margin-bottom:10px}
.journey-welcome-head h2{margin:0;max-width:700px;color:var(--j-navy);font-size:clamp(1.9rem,3vw,2.55rem);line-height:1.1;letter-spacing:-.03em}
.journey-welcome-message{margin:18px 0 0;position:relative;z-index:1;color:#465366;font-size:1.03rem;line-height:1.78;max-width:820px}
.journey-aferese-card-highlight{position:relative;overflow:hidden;min-height:235px;padding:26px;border-radius:22px;border:1px solid var(--j-line);background:#fff;box-shadow:var(--j-shadow)}
.journey-aferese-card-highlight::after{content:"";position:absolute;width:124px;height:124px;border-radius:50%;right:-36px;top:-36px;background:rgba(22,69,143,.065)}
.journey-aferese-card-highlight>span{font-size:.74rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--j-blue)}
.journey-aferese-card-highlight>strong{display:block;font-size:3rem;line-height:1;margin:14px 0 6px;color:var(--j-navy)}
.journey-aferese-card-highlight>small{display:block;color:var(--j-muted);margin-bottom:18px;line-height:1.55;font-size:.92rem}
.journey-aferese-card-highlight > .journey-stat-row{display:flex;justify-content:space-between;gap:12px;font-size:.92rem;margin-top:10px;padding-top:10px;border-top:1px dashed #ece5e6}
@media (max-width:960px){.journey-dashboard-grid{grid-template-columns:1fr}.journey-welcome-card,.journey-aferese-card-highlight{min-height:auto}}
@media (max-width:640px){.journey-welcome-card{padding:22px}.journey-welcome-head{flex-direction:column;align-items:flex-start}.journey-welcome-head h2{font-size:1.9rem}.journey-welcome-message{font-size:.96rem;line-height:1.68}.journey-aferese-card-highlight{padding:22px}}

/* V2.16 — Login alinhado e histórico compacto em uma linha */
#authArea{
  grid-template-columns:290px minmax(0,1fr);
  grid-template-rows:auto 1fr auto;
  align-items:stretch;
}
#authArea>.journey-auth-tabs{grid-column:1;grid-row:1;align-self:start}
#authArea>.journey-first-access-note{grid-column:1;grid-row:2;align-self:stretch;margin-top:22px;height:auto}
#authArea>#loginPanel{grid-column:2;grid-row:1 / span 2;align-self:stretch;height:100%}
#authArea>#firstPasswordPanel{grid-column:2;grid-row:1 / span 2;align-self:stretch}
#authArea>#authMessage{grid-column:1 / -1;grid-row:3;margin-top:10px}

.journey-event{
  grid-template-columns:minmax(150px,.8fr) minmax(170px,1fr) minmax(230px,1.1fr) auto;
  gap:16px;
  min-height:54px;
  margin-bottom:8px;
  padding:11px 14px;
}
.journey-event-date{white-space:nowrap;font-size:.86rem}
.journey-event-main{min-width:0}
.journey-event-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.journey-event-meta{display:flex;align-items:center;justify-content:flex-end;gap:18px;min-width:0;color:var(--j-muted);font-size:.82rem;white-space:nowrap}
.journey-event-meta span+span{padding-left:18px;border-left:1px solid #e9e2e4}

@media(max-width:900px){
  #authArea{grid-template-columns:1fr;grid-template-rows:auto}
  #authArea>.journey-auth-tabs,#authArea>.journey-first-access-note,#authArea>#loginPanel,#authArea>#firstPasswordPanel,#authArea>#authMessage{grid-column:1;grid-row:auto;height:auto}
  #authArea>.journey-first-access-note{margin-top:0}
  .journey-event{grid-template-columns:1fr;gap:6px}
  .journey-event-main strong{white-space:normal}
  .journey-event-meta{justify-content:flex-start;flex-wrap:wrap;white-space:normal}
  .journey-badge{justify-self:start}
}

/* V2.24 — Selo anual consolidado: sem regras legadas conflitantes */
.journey-rank-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 176px;
  gap:18px;
  align-items:center;
  margin:0;
  padding:0;
}
.journey-rank-head > div:first-child{min-width:0}
.journey-rank-head > div:first-child > span{
  display:block;
  color:var(--j-blue);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.journey-rank-head > div:first-child > strong{
  display:block;
  margin:14px 0 6px;
  color:var(--j-navy);
  font-size:3rem;
  line-height:1;
}
.journey-rank-head > div:first-child > small{display:block;color:var(--j-muted);line-height:1.45}
#apheresisRankMedal.journey-rank-medal{
  display:flex;
  width:176px;
  min-height:176px;
  margin:0;
  padding:0;
  align-items:center;
  justify-content:center;
  justify-self:center;
  align-self:center;
  border:0;
}
#apheresisRankMedal .journey-rank-seal-svg{
  display:block;
  width:168px;
  height:168px;
  margin:0 auto;
  overflow:visible;
}
#apheresisRankMedal .rank-stop-1{stop-color:var(--rank-1)}
#apheresisRankMedal .rank-stop-2{stop-color:var(--rank-2)}
#apheresisRankMedal .rank-stop-3{stop-color:var(--rank-3)}
#apheresisRankMedal .rank-stop-4{stop-color:var(--rank-4)}
#apheresisRankMedal .rank-stop-5{stop-color:var(--rank-5)}
#apheresisRankMedal .rank-center-stop-1{stop-color:var(--rank-center-1)}
#apheresisRankMedal .rank-center-stop-2{stop-color:var(--rank-center-2)}
#apheresisRankMedal .rank-center-stop-3{stop-color:var(--rank-center-3)}
#apheresisRankMedal .rank-outline{stroke:var(--rank-dark)}
#apheresisRankMedal .rank-text-ring{fill:var(--rank-ring)}
#apheresisRankMedal .rank-center-outline{stroke:var(--rank-highlight);stroke-opacity:.72}
#apheresisRankMedal .rank-ornament{stroke:var(--rank-highlight)}
#apheresisRankMedal .rank-arc-text{
  fill:var(--rank-text);
  font-family:'Cinzel','Georgia','Times New Roman',serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.35px;
}
#apheresisRankMedal .rank-plaque{stroke:var(--rank-dark)}
#apheresisRankMedal .rank-plaque-text{
  fill:var(--rank-plaque-text);
  font-family:'Montserrat','Segoe UI',sans-serif;
  font-size:16px;
  font-weight:900;
  letter-spacing:2.1px;
}
.rank-sem_nivel{--rank-1:#d4dae1;--rank-2:#f9fafb;--rank-3:#a2aab4;--rank-4:#c7ced6;--rank-5:#747e8a;--rank-dark:#66717e;--rank-ring:#8d98a5;--rank-center-1:#f4f6f8;--rank-center-2:#d6dce2;--rank-center-3:#aeb7c1;--rank-highlight:#fff;--rank-text:#fff;--rank-plaque-text:#303944}
.rank-bronze{--rank-1:#f0ae7e;--rank-2:#ffd2b0;--rank-3:#c77743;--rank-4:#dd9662;--rank-5:#8b4c28;--rank-dark:#70401f;--rank-ring:#985936;--rank-center-1:#f4ceb0;--rank-center-2:#d99362;--rank-center-3:#a75d35;--rank-highlight:#fff1e5;--rank-text:#fffaf5;--rank-plaque-text:#3a1b0b}
.rank-prata{--rank-1:#edf0f3;--rank-2:#fff;--rank-3:#9aa2ab;--rank-4:#c9cfd5;--rank-5:#68727e;--rank-dark:#59636f;--rank-ring:#828d99;--rank-center-1:#f8fafc;--rank-center-2:#d7dde3;--rank-center-3:#a6afb9;--rank-highlight:#fff;--rank-text:#fff;--rank-plaque-text:#28313a}
.rank-ouro{--rank-1:#ffe176;--rank-2:#fff4bd;--rank-3:#c8960d;--rank-4:#e5b83c;--rank-5:#886300;--rank-dark:#735400;--rank-ring:#a77b0c;--rank-center-1:#fff4b7;--rank-center-2:#e7be4a;--rank-center-3:#bd8c12;--rank-highlight:#fffbe3;--rank-text:#fffdf4;--rank-plaque-text:#493500}
.rank-diamante{--rank-1:#9ff2d5;--rank-2:#e9fff8;--rank-3:#39bb96;--rank-4:#70ddbd;--rank-5:#0b6b55;--rank-dark:#075946;--rank-ring:#10866b;--rank-center-1:#d8fff2;--rank-center-2:#72dabd;--rank-center-3:#31ae89;--rank-highlight:#f1fff9;--rank-text:#f8fffc;--rank-plaque-text:#063b30}
.rank-diamante .journey-rank-seal-svg{filter:drop-shadow(0 9px 16px rgba(14,132,105,.27))}
.rank-bronze .journey-rank-seal-svg{filter:drop-shadow(0 8px 14px rgba(124,70,34,.20))}
.rank-prata .journey-rank-seal-svg{filter:drop-shadow(0 8px 14px rgba(85,95,108,.18))}
.rank-ouro .journey-rank-seal-svg{filter:drop-shadow(0 8px 14px rgba(150,109,0,.22))}
.journey-rank-progress-wrap{display:block;margin:16px 0 12px;padding:0;border:0}
.journey-rank-progress{display:block;height:8px;margin:0;padding:0;overflow:hidden;border:0;border-radius:999px;background:#eef1f5}
.journey-rank-progress > span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#d70d18,#e9555d);transition:width .35s ease}
.journey-rank-progress-wrap > small{display:block;margin-top:7px;color:var(--j-muted);font-size:.84rem;line-height:1.5}
.journey-rank-progress-wrap .journey-progress-numbers{font-weight:800;color:var(--j-navy)}
.journey-previous-rank{margin-top:10px!important;padding-top:11px!important;border-top:1px dashed #e1d7d9!important}
@media(max-width:700px){
  .journey-rank-head{grid-template-columns:1fr;gap:8px}
  #apheresisRankMedal.journey-rank-medal{width:144px;min-height:144px;margin:4px auto 0}
  #apheresisRankMedal .journey-rank-seal-svg{width:136px;height:136px}
  .journey-rank-head > div:first-child > strong{font-size:2.55rem}
  #apheresisRankMedal .rank-arc-text{font-size:11px}
  #apheresisRankMedal .rank-plaque-text{font-size:14px;letter-spacing:1.7px}
}


/* V2.25 — Isolamento definitivo da barra de progresso */
.journey-aferese-card-highlight > .journey-rank-progress-wrap{
  display:block !important;
  width:100%;
  margin:16px 0 12px !important;
  padding:0 !important;
  border:0 !important;
}
.journey-aferese-card-highlight > .journey-rank-progress-wrap > .journey-rank-progress{
  display:block !important;
  width:100%;
  height:8px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px;
  overflow:hidden;
  background:#eef1f5;
}
.journey-aferese-card-highlight > .journey-rank-progress-wrap > .journey-rank-progress > #apheresisRankProgress{
  display:block !important;
  height:100% !important;
  min-width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,#d70d18,#e9555d);
  transition:width .35s ease;
}
.journey-aferese-card-highlight > .journey-rank-progress-wrap > #apheresisRankProgressText{
  display:block;
  margin-top:7px;
}


/* V2.29 — Texto da medalha centralizado entre os arcos */
#apheresisRankMedal .journey-rank-seal-svg{
  width:184px;
  height:184px;
}
#apheresisRankMedal .rank-arc-text{
  font-size:15.4px;
  font-weight:800;
  letter-spacing:0;
}
#apheresisRankMedal .rank-plaque-text{
  font-size:17px;
  letter-spacing:1.7px;
}
@media(max-width:700px){
  #apheresisRankMedal .journey-rank-seal-svg{width:150px;height:150px;}
  #apheresisRankMedal .rank-arc-text{font-size:12.6px;letter-spacing:0;}
  #apheresisRankMedal .rank-plaque-text{font-size:15px;letter-spacing:1.4px;}
}


/* V2.32 — Auditoria final do selo: texto maior e centrado */
.journey-rank-head{grid-template-columns:minmax(0,1fr) 208px !important;align-items:center !important}
#apheresisRankMedal.journey-rank-medal{width:208px !important;min-height:208px !important;display:flex !important;align-items:center !important;justify-content:center !important;margin:0 auto !important}
#apheresisRankMedal .journey-rank-seal-svg{width:196px !important;height:196px !important;display:block !important;margin:0 auto !important;overflow:visible}
#apheresisRankMedal .rank-arc-text{font-size:18px !important;font-weight:800 !important;letter-spacing:0 !important;fill:var(--rank-text);paint-order:stroke fill;stroke:rgba(0,0,0,.08);stroke-width:.35px}
#apheresisRankMedal .rank-plaque-text{font-size:17.5px !important;letter-spacing:1.4px !important}
#apheresisRankMedal .rank-plaque{filter:drop-shadow(0 2px 2px rgba(0,0,0,.10))}
#apheresisRankMedal .rank-drop{transform-origin:160px 160px}
@media(max-width:700px){
  .journey-rank-head{grid-template-columns:1fr !important;gap:10px !important}
  #apheresisRankMedal.journey-rank-medal{width:188px !important;min-height:188px !important;margin:6px auto 0 !important}
  #apheresisRankMedal .journey-rank-seal-svg{width:182px !important;height:182px !important}
  #apheresisRankMedal .rank-arc-text{font-size:15.8px !important;stroke-width:.28px}
  #apheresisRankMedal .rank-plaque-text{font-size:16px !important;letter-spacing:1.2px !important}
}
@media(max-width:430px){
  #apheresisRankMedal.journey-rank-medal{width:182px !important;min-height:182px !important}
  #apheresisRankMedal .journey-rank-seal-svg{width:178px !important;height:178px !important}
  #apheresisRankMedal .rank-arc-text{font-size:15px !important}
  #apheresisRankMedal .rank-plaque-text{font-size:15.4px !important}
}


/* V2.33 — Texto do selo centralizado entre os arcos */
#apheresisRankMedal .rank-arc-text{
  font-size:16px !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
}
@media(max-width:700px){
  #apheresisRankMedal .rank-arc-text{font-size:14px !important;}
}
@media(max-width:430px){
  #apheresisRankMedal .rank-arc-text{font-size:13.6px !important;}
}


/* V2.35 — Texto do selo cabendo e centralizado */
#apheresisRankMedal.journey-rank-medal{width:204px !important;min-height:204px !important;}
#apheresisRankMedal .journey-rank-seal-svg{width:192px !important;height:192px !important;}
#apheresisRankMedal .rank-arc-text{font-size:16px !important;font-weight:800 !important;letter-spacing:0 !important;}
#apheresisRankMedal .rank-plaque-text{font-size:17px !important;letter-spacing:1.3px !important;}
@media(max-width:700px){
  #apheresisRankMedal.journey-rank-medal{width:186px !important;min-height:186px !important;}
  #apheresisRankMedal .journey-rank-seal-svg{width:180px !important;height:180px !important;}
  #apheresisRankMedal .rank-arc-text{font-size:14.2px !important;}
}
@media(max-width:430px){
  #apheresisRankMedal.journey-rank-medal{width:178px !important;min-height:178px !important;}
  #apheresisRankMedal .journey-rank-seal-svg{width:172px !important;height:172px !important;}
  #apheresisRankMedal .rank-arc-text{font-size:13.6px !important;}
}
