/* SAFEPLAN_WEB_FINAL_CLOSE_20260913 */
:root{
  --sp-final-yellow:#f3c400;
  --sp-final-black:#07090b;
  --sp-final-panel:rgba(10,13,16,.90);
  --sp-final-line:rgba(243,196,0,.30);
  --sp-final-muted:#a9b2b7;
}

/* JOIN / RECOMMENDACIONES: same visual language as SafePlan */
body.sp-final-join-page,
body.sp-final-recommend-page{
  min-height:100vh;
  background:
    linear-gradient(180deg,rgba(4,7,9,.55),rgba(4,7,9,.88)),
    url("../img/login-bg-desktop.png") center/cover fixed no-repeat !important;
}
body.sp-final-join-page .web-tool,
body.sp-final-recommend-page .web-tool{
  width:min(980px,calc(100% - 34px));
  margin:34px auto;
  border:1px solid var(--sp-final-line);
  border-radius:18px;
  background:var(--sp-final-panel);
  color:#f3f6f7;
  box-shadow:0 24px 72px rgba(0,0,0,.34);
  backdrop-filter:blur(16px);
}
body.sp-final-join-page .web-tool__eyebrow,
body.sp-final-recommend-page .web-tool__eyebrow{color:var(--sp-final-yellow)!important;letter-spacing:.12em;font-weight:900}
body.sp-final-join-page .web-tool h1,
body.sp-final-recommend-page .web-tool h1{color:#fff}
body.sp-final-join-page input,
body.sp-final-join-page select,
body.sp-final-recommend-page select{
  border:1px solid rgba(255,255,255,.17)!important;
  background:rgba(255,255,255,.055)!important;
  color:#fff!important;
}
body.sp-final-join-page .web-tool button,
body.sp-final-recommend-page .web-tool button{
  border-color:var(--sp-final-yellow)!important;
}
body.sp-final-join-page .web-tool button[type="submit"],
body.sp-final-recommend-page .web-tool button[type="submit"]{
  background:var(--sp-final-yellow)!important;color:#080a0c!important;font-weight:900!important
}

/* Recommendations editorial post */
.sp-final-editorial{
  width:min(980px,calc(100% - 34px));
  margin:20px auto 0;
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.7fr);
  overflow:hidden;
  border:1px solid var(--sp-final-line);
  border-radius:18px;
  background:rgba(7,10,12,.92);
  color:#f4f6f7;
  box-shadow:0 20px 64px rgba(0,0,0,.30);
}
.sp-final-editorial__media{
  min-height:330px;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.34)),
    url("../img/login-bg-desktop.png") center/cover no-repeat;
}
.sp-final-editorial__body{padding:24px}
.sp-final-editorial__eyebrow{margin:0;color:var(--sp-final-yellow);font-size:.72rem;font-weight:900;letter-spacing:.12em}
.sp-final-editorial h2{margin:6px 0 9px;font-size:clamp(1.6rem,3vw,2.4rem)}
.sp-final-editorial__lead{color:#c9d0d3;line-height:1.55}
.sp-final-editorial__layers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:17px}
.sp-final-editorial__layers section{padding:13px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.035)}
.sp-final-editorial__layers strong{color:#fff}
.sp-final-editorial__layers p{margin:6px 0 0;color:#abb5ba;font-size:.87rem;line-height:1.45}
.sp-final-editorial__source{margin:16px 0 0;color:#929da2;font-size:.78rem;line-height:1.45}
.sp-final-editorial__source a{color:var(--sp-final-yellow)}

/* Weather block inside Materials: existing backend only, no fake forecast */
.sp-final-weather{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  margin:0 0 14px!important;
  padding:15px 16px!important;
  border:1px solid rgba(243,196,0,.30)!important;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(243,196,0,.07),rgba(255,255,255,.025))!important;
}
.sp-final-weather__copy{display:flex;flex-direction:column;gap:4px}
.sp-final-weather__kicker{color:var(--sp-final-yellow);font-size:.68rem;font-weight:950;letter-spacing:.12em}
.sp-final-weather__copy strong{color:#fff;font-size:.96rem}
.sp-final-weather__copy small{color:#aeb8bc;line-height:1.4}
.sp-btn--weather{
  min-height:44px;padding:0 15px;border:2px solid #111!important;border-radius:10px;
  background:var(--sp-final-yellow)!important;color:#080a0c!important;font-weight:900!important;cursor:pointer
}
.sp-final-weather__status{
  grid-column:1/-1;margin:0;padding:10px 12px;border-radius:9px;
  background:rgba(0,0,0,.26);color:#d5dcdf;font-size:.82rem;line-height:1.45
}

/* PROFILE: six equal functional cards */
body.sp-final-profile-page .sp-side{display:none!important}
body.sp-final-profile-page .sp-wrap{display:block!important}
body.sp-final-profile-page .sp-main{width:100%!important;max-width:none!important}
body.sp-final-profile-page .sp-main__body{overflow:visible!important}
.sp-final-profileWelcome{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin:0 0 18px;padding:20px 22px;border:1px solid var(--sp-final-line);border-radius:17px;
  background:linear-gradient(135deg,rgba(8,11,14,.94),rgba(21,24,27,.86));box-shadow:0 18px 56px rgba(0,0,0,.25)
}
.sp-final-profileWelcome__eyebrow{margin:0;color:var(--sp-final-yellow);font-size:.70rem;font-weight:950;letter-spacing:.13em}
.sp-final-profileWelcome h1{margin:4px 0 5px;color:#fff;font-size:clamp(1.7rem,3vw,2.6rem)}
.sp-final-profileWelcome p{margin:0;color:#aeb8bd}
.sp-final-profileWelcome__org{display:flex;flex-direction:column;align-items:flex-end;gap:5px;color:#d6dcdf;font-size:.82rem}
.sp-final-profileWelcome__org a{color:var(--sp-final-yellow)}
body.sp-final-profile-page .sp-final-profileShell>.sp-card__header{display:none!important}
body.sp-final-profile-page .sp-final-profileShell .sp-form{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
  align-items:stretch;
}
body.sp-final-profile-page .sp-final-profileShell .sp-stepPanel{display:contents!important}
body.sp-final-profile-page .sp-final-profileShell .sp-final-profileCard{
  min-width:0;height:330px;max-height:330px;overflow:auto;
  border:1px solid rgba(255,255,255,.10);border-radius:15px;
  background:rgba(8,11,14,.78);padding:15px;
  scrollbar-width:thin;
}
body.sp-final-profile-page .sp-final-profileShell .sp-final-profileCard[data-profile-order="1"]{order:1}
body.sp-final-profile-page .sp-final-profileShell .sp-final-profileCard[data-profile-order="2"]{order:2}
body.sp-final-profile-page .sp-final-profileShell .sp-final-profileCard[data-profile-order="3"]{order:3}
body.sp-final-profile-page .sp-final-profileShell .sp-final-profileCard[data-profile-order="4"]{order:4}
body.sp-final-profile-page .sp-final-profileShell .sp-final-profileCard[data-profile-order="5"]{order:5}
body.sp-final-profile-page .sp-final-profileShell .sp-final-profileCard[data-profile-order="6"]{order:6}
body.sp-final-profile-page .sp-final-profileShell .sp-card__footer{display:none!important}
body.sp-final-profile-page .sp-integration-card{margin-top:16px}

/* Legal */
body.sp-final-legal{
  margin:0;min-height:100vh;background:#07090b;color:#edf1f2;
  font:15px/1.62 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.sp-final-legalHero{
  padding:58px 20px 40px;border-bottom:1px solid rgba(243,196,0,.26);
  background:linear-gradient(rgba(4,6,8,.60),rgba(4,6,8,.91)),url("../img/login-bg-desktop.png") center/cover no-repeat
}
.sp-final-legalHero>div,.sp-final-legalMain{width:min(980px,calc(100% - 32px));margin:auto}
.sp-final-legalHero p{margin:0;color:var(--sp-final-yellow);font-size:.72rem;font-weight:950;letter-spacing:.13em}
.sp-final-legalHero h1{margin:7px 0 8px;font-size:clamp(2.05rem,5vw,3.8rem);line-height:1;color:#fff}
.sp-final-legalHero span{color:#c4cbcf}
.sp-final-legalMain{padding:28px 0 65px}
.sp-final-legalMain section{padding:20px 22px;margin:0 0 12px;border-radius:15px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.032)}
.sp-final-legalMain section h2{margin:0 0 8px;color:#fff;font-size:1.12rem}
.sp-final-legalMain section p{margin:0;color:#c4ccd0}
.sp-final-legalLead{border-color:rgba(243,196,0,.32)!important;background:rgba(243,196,0,.055)!important}
.sp-final-legalLead strong{display:block;margin-bottom:7px;color:var(--sp-final-yellow);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.sp-final-legalLead p+p{margin-top:5px}
.sp-final-legalFoot{color:#8f9a9f;font-size:.78rem}
.sp-final-legalMain nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.sp-final-legalMain nav a{padding:9px 12px;border:1px solid rgba(243,196,0,.38);border-radius:9px;color:var(--sp-final-yellow);text-decoration:none;font-weight:800}

@media(max-width:1120px) and (min-width:721px){
  body.sp-final-profile-page .sp-final-profileShell .sp-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .sp-final-editorial{grid-template-columns:1fr}
  .sp-final-editorial__media{min-height:190px}
  .sp-final-editorial__layers{grid-template-columns:1fr}
  .sp-final-weather{grid-template-columns:1fr}
  .sp-btn--weather{width:100%}
  .sp-final-profileWelcome{align-items:flex-start;flex-direction:column}
  .sp-final-profileWelcome__org{align-items:flex-start}
  body.sp-final-profile-page .sp-final-profileShell .sp-form{grid-template-columns:1fr}
  body.sp-final-profile-page .sp-final-profileShell .sp-final-profileCard{height:auto;max-height:none;min-height:270px}
}


/* SAFEPLAN_FINAL_VISUAL_REFINEMENT_R3 */
body.sp-final-join-page{
  background:
    linear-gradient(100deg,rgba(3,6,8,.82),rgba(3,6,8,.43) 55%,rgba(3,6,8,.73)),
    url("../img/fondos-form/fondo-senderismo.png") center/cover fixed no-repeat!important;
}
body.sp-final-join-page .web-tool{
  width:min(760px,calc(100% - 42px))!important;
  margin:clamp(70px,11vh,128px) auto!important;
  padding:clamp(24px,4vw,42px)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(7,10,12,.96),rgba(15,18,20,.88))!important;
}
body.sp-final-join-page .web-tool__hero{
  padding-bottom:18px!important;
  border-bottom:1px solid rgba(243,196,0,.22);
  margin-bottom:20px!important;
}
body.sp-final-join-page .web-tool h1{
  font-size:clamp(2.2rem,5vw,4rem)!important;line-height:.95!important;margin:.18em 0!important
}
body.sp-final-join-page .web-tool__form{
  padding:18px!important;border:1px solid rgba(243,196,0,.22)!important;
  border-radius:15px!important;background:rgba(0,0,0,.24)!important
}

body.sp-final-recommend-page{
  background:
    linear-gradient(180deg,rgba(4,7,9,.58),rgba(4,7,9,.88)),
    url("../img/fondos-form/fondo-alpinismo.png") center/cover fixed no-repeat!important;
}
body.sp-final-recommend-page .web-tool{
  width:min(1080px,calc(100% - 40px))!important;
  margin:34px auto 68px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;box-shadow:none!important;backdrop-filter:none!important
}
body.sp-final-recommend-page .web-tool__hero{
  padding:26px 28px!important;border:1px solid var(--sp-final-line);
  border-radius:18px;background:rgba(7,10,12,.93);box-shadow:0 20px 58px rgba(0,0,0,.26)
}
.sp-final-board{margin-top:14px;display:grid;gap:10px}
.sp-final-board__heading{padding:0 4px}
.sp-final-board__heading h2{margin:0;color:#fff;font-size:1.15rem}
.sp-final-board__heading p{margin:4px 0 0;color:#aeb8bc;font-size:.86rem}
.sp-final-boardEntry{
  border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(7,10,12,.94);
  overflow:hidden;box-shadow:0 16px 45px rgba(0,0,0,.22)
}
.sp-final-boardEntry>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:18px;align-items:center;padding:12px}
.sp-final-boardEntry>summary::-webkit-details-marker{display:none}
.sp-final-boardEntry__thumb{
  min-height:112px;border-radius:11px;background:
  linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.28)),
  url("../img/fondos-form/fondo-formulario-invernal.png") center/cover no-repeat
}
.sp-final-boardEntry__meta{min-width:0}
.sp-final-boardEntry__meta .sp-final-editorial__eyebrow{display:block;margin-bottom:4px}
.sp-final-boardEntry__meta h3{margin:0 0 7px;color:#fff;font-size:1.28rem}
.sp-final-boardEntry__meta p{margin:0;color:#b9c2c6;line-height:1.45}
.sp-final-boardEntry__cta{color:#f3c400;font-weight:900;white-space:nowrap}
.sp-final-boardEntry[open] .sp-final-boardEntry__cta::after{content:" −"}
.sp-final-boardEntry:not([open]) .sp-final-boardEntry__cta::after{content:" +"}
.sp-final-boardEntry__content{border-top:1px solid rgba(243,196,0,.18);padding:20px 24px 24px}
.sp-final-boardEntry__content .sp-final-editorial__layers{margin-top:0}
.sp-final-boardEntry__content .sp-final-editorial__source{margin-bottom:0}

.sp-final-profileWelcome{
  margin:12px 0 24px!important;
  padding:28px 30px!important;
  min-height:124px;
}
.sp-final-profileWelcome h1{margin:8px 0 8px!important;font-size:clamp(2rem,3.5vw,3rem)!important}
@media(max-width:700px){
  .sp-final-boardEntry>summary{grid-template-columns:100px minmax(0,1fr);gap:12px}
  .sp-final-boardEntry__cta{grid-column:2}
  .sp-final-profileWelcome{padding:22px!important}
}


/* SAFEPLAN_FINAL_MATERIAL_INTELLIGENCE_R8 · secondary compact controls */
.sp-materialActions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 14px;padding:7px;border:1px solid rgba(243,196,0,.24);border-radius:12px;background:rgba(7,9,12,.92);color:#edf0f1;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.sp-materialActions__provider{display:flex;align-items:center;gap:7px;min-height:34px;padding:3px 4px 3px 9px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.035);color:rgba(255,255,255,.62);font:800 .68rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.06em;text-transform:uppercase}
.sp-materialActions__provider select{height:28px;min-width:118px;border:1px solid rgba(243,196,0,.2);border-radius:7px;background:#14181d;color:#f4f5f5;padding:0 25px 0 8px;font:750 .72rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;outline:none}
.sp-materialAction{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:#11151a;color:rgba(255,255,255,.76);box-shadow:none;font:800 .74rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}
.sp-materialAction>span[aria-hidden]{color:#f3c400;font-size:.82rem;line-height:1;opacity:.72}
.sp-materialAction:hover,.sp-materialAction:focus-visible{border-color:rgba(243,196,0,.58);background:#171b20;color:#fff;outline:2px solid rgba(243,196,0,.12);outline-offset:1px}
.sp-materialAction[aria-pressed="true"]{border-color:rgba(243,196,0,.78);background:rgba(243,196,0,.11);color:#f8d54a;box-shadow:inset 0 0 0 1px rgba(243,196,0,.08)}
.sp-materialAction[aria-pressed="true"]>span[aria-hidden]{opacity:1}
.sp-materialAction[aria-disabled="true"],.sp-materialAction:disabled{cursor:not-allowed;opacity:.46;background:#0d1014;color:rgba(255,255,255,.52)}
.sp-materialActions__provider:has(select:disabled){opacity:.5}
.sp-materialActions__status{flex:1 1 100%;margin:0;padding:7px 9px;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.66);font-size:.72rem;line-height:1.35}.sp-materialActions__status[data-kind="error"]{color:#ff9b91}.sp-materialActions__status[data-kind="ok"]{color:#d6e9a7}
.sp-material{position:relative}.sp-materialIntelBadge{position:absolute;z-index:4;top:7px;right:7px;display:inline-flex;max-width:calc(100% - 14px);padding:4px 7px;border-radius:999px;background:#f3c400;color:#111;font-size:.6rem;font-weight:950;letter-spacing:.02em;box-shadow:0 4px 10px rgba(0,0,0,.25)}.sp-materialIntelBadge.is-essential{background:#111;color:#f3c400;border:1px solid #f3c400}
.sp-material__img{padding:0!important;overflow:hidden}.sp-material__img img{width:100%!important;height:100%!important;object-fit:contain!important;transform:scale(1.08)}
.sp-material__icon{padding:0!important}.sp-material__icon img{width:100%!important;height:100%!important;object-fit:contain!important;transform:scale(1.08)}
.sp-learnedHabituals__intro{line-height:1.45;margin-bottom:12px}.sp-learnedHabituals__status{padding:12px;border:1px dashed rgba(243,196,0,.3);border-radius:12px;color:#aeb8bc}.sp-learnedHabituals__list{display:grid;gap:10px}.sp-learnedHabituals__activity{padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.025)}.sp-learnedHabituals__activity header{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.sp-learnedHabituals__activity header strong{color:#fff}.sp-learnedHabituals__activity header span{color:#9ba6aa;font-size:.72rem}.sp-learnedHabituals__activity>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.sp-learnedHabituals__material{display:grid;gap:1px;padding:6px 8px;border-radius:9px;background:rgba(243,196,0,.08);border:1px solid rgba(243,196,0,.2)}.sp-learnedHabituals__material b{color:#f2f2f2;font-size:.78rem}.sp-learnedHabituals__material small{color:#f3c400;font-size:.68rem}
.sp-guideFilters{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.sp-guideFilters button{border:1px solid rgba(243,196,0,.32);border-radius:999px;background:#111;color:#d6dcde;padding:7px 11px;font:800 .76rem/1 system-ui;cursor:pointer}.sp-guideFilters button.is-active,.sp-guideFilters button:hover{background:#f3c400;color:#111;border-color:#f3c400}
.sp-final-boardEntry__thumb{background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.18)),#151719 url("../img/materials/generic/ropater.png") center/contain no-repeat!important}
.sp-final-profileWelcome{min-height:0!important;padding:14px 20px!important;display:block!important}.sp-final-profileWelcome h1{margin:0!important;font-size:clamp(1.6rem,2.8vw,2.25rem)!important}
@media(max-width:760px){.sp-materialActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sp-materialActions__provider{grid-column:1/-1;justify-content:space-between}.sp-materialAction{width:100%}.sp-materialActions__status{grid-column:1/-1}}
@media(max-width:460px){.sp-materialActions{grid-template-columns:1fr}.sp-materialActions__provider,.sp-materialActions__status{grid-column:1}.sp-materialActions__provider select{min-width:0;flex:1}}

#materialsGrid .sp-material{position:relative}
#materialsGrid .sp-material__icon img,#materialsGrid .sp-material__img img{padding:2px!important;transform:scale(1.1);transform-origin:center;object-fit:contain!important}

/* Perfil: hábitos calculados, nunca configurables */
.sp-learnedHabituals__intro{display:none!important}
.sp-learnedHabituals .sp-profileBadgeImg{content:url("../img/brand/logo.png");object-fit:contain!important}
.sp-learnedHabituals__status{margin-top:10px;color:rgba(255,255,255,.62);font-size:12px}
.sp-learnedHabituals__list{display:grid;gap:10px;margin-top:10px;max-height:180px;overflow:auto;padding-right:4px}
.sp-learnedHabituals__activity{padding:10px 11px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.025)}
.sp-learnedHabituals__activity header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.sp-learnedHabituals__activity header span{font-size:10px;color:rgba(255,255,255,.5)}
.sp-learnedHabituals__activity>div{display:flex;flex-wrap:wrap;gap:6px}.sp-learnedHabituals__material{display:inline-flex;align-items:baseline;gap:6px;padding:6px 8px;border:1px solid rgba(243,196,0,.25);border-radius:9px;background:rgba(243,196,0,.07)}
.sp-learnedHabituals__material b{font-size:11px}.sp-learnedHabituals__material small{font-size:9px;color:#f4c900;font-weight:800}

/* Recomendamos editorial */
.sp-final-board{display:grid;gap:16px}.sp-final-board__heading{display:grid;gap:10px}.sp-guideFilters{display:flex;flex-wrap:wrap;gap:8px}.sp-guideFilters button{border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(7,10,14,.72);color:#fff;padding:8px 12px;font-weight:800;cursor:pointer}.sp-guideFilters button.is-active{background:#f3c400;color:#111;border-color:#f3c400}
.sp-editorialFeature{position:relative;min-height:360px;border:1px solid rgba(243,196,0,.36);border-radius:22px;overflow:hidden;background:#090c10;box-shadow:0 24px 60px rgba(0,0,0,.34)}
.sp-editorialFeature__media{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(5,7,10,.97) 0%,rgba(5,7,10,.82) 42%,rgba(5,7,10,.25) 75%),url("../img/materials/generic/ropater.png");background-size:cover;background-position:center right;filter:saturate(1.02)}
.sp-editorialFeature__body{position:relative;z-index:1;width:min(60%,680px);min-height:360px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;gap:12px}.sp-editorialFeature__eyebrow{color:#f3c400;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.sp-editorialFeature h3{margin:0;font-size:clamp(32px,4vw,58px);line-height:.98;letter-spacing:-.035em}.sp-editorialFeature__summary{margin:0;color:rgba(255,255,255,.8);font-size:15px;line-height:1.5;max-width:580px}.sp-editorialFeature__open{align-self:flex-start;border:0;border-radius:13px;background:#f3c400;color:#111;padding:11px 15px;font-weight:900;cursor:pointer;box-shadow:0 9px 24px rgba(0,0,0,.28)}
.sp-editorialFeature__article{position:relative;z-index:2;margin:0 20px 20px;padding:20px;border-radius:17px;background:rgba(6,9,13,.96);border:1px solid rgba(255,255,255,.12)}
.sp-editorialFeature:not([open]) .sp-editorialFeature__article{display:none}.sp-editorialFeature[open] .sp-editorialFeature__body{min-height:290px}.sp-editorialFeature[open] .sp-editorialFeature__open{display:none}.sp-editorialFeature__article .sp-final-editorial__layers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sp-editorialFeature__article section{padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.035)}
.sp-editorialEmpty{padding:14px 16px;border:1px dashed rgba(255,255,255,.13);border-radius:14px;color:rgba(255,255,255,.5);font-size:12px}

/* Repeat preflight */
.sp-repeatShell{width:min(760px,calc(100% - 32px));margin:28px auto;padding:26px;border:1px solid rgba(243,196,0,.28);border-radius:22px;background:linear-gradient(180deg,rgba(13,17,22,.97),rgba(7,10,14,.98));box-shadow:0 30px 80px rgba(0,0,0,.4)}
.sp-repeatShell__eyebrow{margin:0 0 8px;color:#f3c400;font-weight:900;letter-spacing:.15em;font-size:11px}.sp-repeatShell h1{margin:0 0 8px;font-size:34px}.sp-repeatShell__lead{margin:0;color:rgba(255,255,255,.68);line-height:1.45}.sp-repeatChoice{display:grid;gap:10px;margin-top:20px}.sp-repeatChoice label{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.03);cursor:pointer}.sp-repeatChoice input{margin-top:3px;accent-color:#f3c400}.sp-repeatChoice strong{display:block}.sp-repeatChoice small{display:block;margin-top:3px;color:rgba(255,255,255,.55);line-height:1.4}.sp-repeatNote{margin-top:14px;padding:12px 13px;border-left:3px solid #f3c400;background:rgba(243,196,0,.06);color:rgba(255,255,255,.72);font-size:12px}.sp-repeatActions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.sp-repeatActions button,.sp-repeatActions a{border-radius:12px;padding:11px 15px;font-weight:850;text-decoration:none;cursor:pointer}.sp-repeatActions button{border:1px solid #f3c400;background:#f3c400;color:#111}.sp-repeatActions a{border:1px solid rgba(255,255,255,.14);color:#fff;background:transparent}.sp-repeatStatus{margin-top:12px;color:rgba(255,255,255,.68);font-size:12px}
.sp-repeatEditor{display:grid;gap:18px;margin-top:22px;min-width:0}.sp-repeatSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sp-repeatSummary div,.sp-repeatLocations p{margin:0;padding:12px 13px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.03);min-width:0}.sp-repeatSummary span,.sp-repeatLocations span{display:block;margin-bottom:4px;color:rgba(255,255,255,.5);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.sp-repeatSummary strong,.sp-repeatLocations strong{display:block;overflow-wrap:anywhere}.sp-repeatLocations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sp-repeatDates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:15px;border:1px solid rgba(255,255,255,.1);border-radius:15px}.sp-repeatDates legend{padding:0 7px;color:#f3c400;font-size:11px;font-weight:900}.sp-repeatDates label{display:grid;gap:6px;color:rgba(255,255,255,.63);font-size:11px;font-weight:750}.sp-repeatDates input{width:100%;min-width:0;padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#0b1016;color:#fff;color-scheme:dark}.sp-repeatMaterials{min-width:0}.sp-repeatMaterials>header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.sp-repeatMaterials>header span{color:#f3c400;font-size:10px;font-weight:900;letter-spacing:.12em}.sp-repeatMaterials h2{margin:3px 0 0;font-size:20px}.sp-repeatMaterials>header p{margin:0;color:rgba(255,255,255,.62);font-size:12px}.sp-repeatMaterials__groups{display:grid;gap:14px}.sp-repeatMaterials__group{min-width:0}.sp-repeatMaterials__group h3{margin:0 0 8px;color:rgba(255,255,255,.6);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.sp-repeatMaterials__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sp-repeatMaterial{display:flex;align-items:center;gap:8px;min-width:0;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(255,255,255,.025);cursor:pointer}.sp-repeatMaterial.is-selected{border-color:rgba(243,196,0,.62);background:rgba(243,196,0,.09)}.sp-repeatMaterial input{flex:0 0 auto;accent-color:#f3c400}.sp-repeatMaterial span{min-width:0;overflow-wrap:anywhere;font-size:12px}.sp-repeatActions button:disabled{opacity:.55;cursor:wait}
@media(max-width:760px){.sp-repeatShell{width:min(100% - 20px,760px);margin:12px auto;padding:18px}.sp-repeatSummary{grid-template-columns:1fr}.sp-repeatDates{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-repeatMaterials__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.sp-repeatLocations,.sp-repeatDates,.sp-repeatMaterials__grid{grid-template-columns:1fr}.sp-repeatMaterials>header{align-items:flex-start;flex-direction:column}.sp-repeatActions{flex-direction:column-reverse}.sp-repeatActions a,.sp-repeatActions button{text-align:center;width:100%;box-sizing:border-box}}
@media(max-width:900px){.sp-editorialFeature__body{width:100%;padding:24px;background:linear-gradient(90deg,rgba(5,7,10,.88),rgba(5,7,10,.5))}.sp-editorialFeature__article .sp-final-editorial__layers{grid-template-columns:1fr}}
@media(max-width:560px){.sp-editorialFeature h3{font-size:38px}}

/* =========================================================
   SAFEPLAN_PROFILE_TRACKING_PHOTO_POLISH_V1
   ========================================================= */

/* BASIC companion only: adapt the shared Detailed picker to the narrower card. */
.sp-personCard--basic{
  padding-top:clamp(22px,2vw,30px) !important;
}
.sp-personCard--basic .sp-personRow{
  grid-template-columns:minmax(132px,auto) minmax(0,1fr) !important;
  gap:14px !important;
  align-items:start !important;
}
.sp-personCard--basic .sp-personRow__fields{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-template-areas:"name phone" "age level" !important;
  gap:12px 14px !important;
}
.sp-personCard--basic .sp-field:has(#contact_name_1){grid-area:name}
.sp-personCard--basic .sp-field:has(#contact_phone_1){grid-area:phone}
.sp-personCard--basic .sp-field:has(#age_1){grid-area:age}
.sp-personCard--basic .sp-field:has(#level_1){grid-area:level}
.sp-personCard--basic .sp-personPicker__add--compact{
  width:100% !important;
  justify-content:flex-start !important;
}
@media(max-width:620px){
  .sp-personCard--basic .sp-personRow,
  .sp-personCard--basic .sp-personRow__fields{
    grid-template-columns:1fr !important;
  }
  .sp-personCard--basic .sp-personRow__fields{
    grid-template-areas:"name" "phone" "age" "level" !important;
  }
}

/* Advanced/shared participants already use 2×2; add breathing room. */
.sp-card--participant{
  padding-top:clamp(22px,2vw,30px) !important;
}
.sp-card--participant .sp-participant{
  align-items:center !important;
}

/* Reuse existing picker button behavior, replace cheap bitmap visual. */
.sp-safeplanPersonTrigger,
.sp-autofill-btn{
  position:relative !important;
  width:66px !important;
  height:66px !important;
  min-width:66px !important;
  min-height:66px !important;
  padding:0 !important;
  border:1px solid rgba(240,176,0,.55) !important;
  border-radius:18px !important;
  background:
    radial-gradient(circle at 34% 25%,rgba(255,224,120,.20),transparent 32%),
    linear-gradient(145deg,rgba(43,37,19,.98),rgba(8,10,10,.98)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 8px 24px rgba(0,0,0,.28) !important;
  overflow:visible !important;
  cursor:pointer !important;
  transition:
    transform .16s ease,
    border-color .16s ease,
    box-shadow .16s ease !important;
}
.sp-safeplanPersonTrigger:hover,
.sp-autofill-btn:hover{
  transform:translateY(-2px) scale(1.02) !important;
  border-color:rgba(255,207,62,.88) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 12px 30px rgba(0,0,0,.34),
    0 0 0 3px rgba(240,176,0,.08) !important;
}
.sp-safeplanPersonTrigger:focus-visible,
.sp-autofill-btn:focus-visible{
  outline:2px solid rgba(255,211,76,.95) !important;
  outline-offset:4px !important;
}
.sp-autofill-btn .sp-autofill-img{
  display:none !important;
}
.sp-safeplanPersonGlyph{
  position:absolute;
  inset:10px;
  transform:rotate(45deg);
  border:1px solid rgba(240,176,0,.74);
  border-radius:11px;
  background:linear-gradient(145deg,rgba(240,176,0,.16),rgba(240,176,0,.03));
  pointer-events:none;
}
.sp-safeplanPersonGlyph::before{
  content:"";
  position:absolute;
  width:11px;
  height:11px;
  left:12px;
  top:8px;
  border:2px solid #f0b000;
  border-radius:50%;
  transform:rotate(-45deg);
}
.sp-safeplanPersonGlyph::after{
  content:"";
  position:absolute;
  width:18px;
  height:10px;
  left:8px;
  top:23px;
  border:2px solid #f0b000;
  border-top:0;
  border-radius:0 0 14px 14px;
  transform:rotate(-45deg);
}
.sp-safeplanPersonPlus{
  position:absolute;
  right:9px;
  bottom:9px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#f0b000;
  box-shadow:0 2px 8px rgba(0,0,0,.34);
  pointer-events:none;
}
.sp-safeplanPersonPlus::before,
.sp-safeplanPersonPlus::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:10px;
  height:2px;
  border-radius:2px;
  background:#101312;
  transform:translate(-50%,-50%);
}
.sp-safeplanPersonPlus::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

/* Route mirror: old shortcut button is obsolete. */
[data-sp-same-start-end],
.sp-same-start-end,
button[data-action="same-start-end"]{
  display:none !important;
}

/* Profile avatar. */
.sp-profileAvatarWrap{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid rgba(240,176,0,.20);
  border-radius:16px;
  background:rgba(8,12,12,.30);
}
.sp-profileAvatar{
  width:76px;
  height:76px;
  border-radius:50%;
  object-fit:cover;
  flex:0 0 auto;
  border:2px solid rgba(240,176,0,.62);
  background:rgba(255,255,255,.05);
  box-shadow:0 8px 24px rgba(0,0,0,.28);
}
.sp-profileAvatarFallback{
  width:76px;
  height:76px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:2px solid rgba(240,176,0,.50);
  background:linear-gradient(145deg,rgba(240,176,0,.18),rgba(8,12,12,.88));
  color:#f4f5f5;
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:.05em;
}
.sp-profileAvatarActions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.sp-profileAvatarActions button{
  min-height:40px;
}

/* Small SafePlan account photo in contact/social cards. */
.sp-contactAvatar{
  width:42px;
  height:42px;
  border-radius:50%;
  object-fit:cover;
  flex:0 0 42px;
  border:1px solid rgba(240,176,0,.40);
  background:rgba(255,255,255,.05);
}
.sp-contactAvatarFallback{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 42px;
  border:1px solid rgba(240,176,0,.28);
  background:rgba(240,176,0,.08);
  font-size:.75rem;
  font-weight:800;
}

/* Normal-user sixth slot: tracking entry, not a global tracking switch. */
.sp-liveTrackingEntry{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.sp-liveTrackingEntry__status{
  display:flex;
  align-items:center;
  gap:9px;
  color:rgba(235,240,242,.76);
  font-size:.88rem;
  line-height:1.45;
}
.sp-liveTrackingEntry__dot{
  width:9px;
  height:9px;
  border-radius:50%;
  flex:0 0 auto;
  background:#f0b000;
  box-shadow:0 0 0 4px rgba(240,176,0,.10);
}
.sp-liveTrackingEntry__cta{
  align-self:flex-start;
}

/* focus from Profile -> Mis Planes; never auto-enables tracking. */
.plan-row.sp-trackingFocus,
.plan-card.sp-trackingFocus{
  box-shadow:
    0 0 0 1px rgba(240,176,0,.48),
    0 14px 34px rgba(0,0,0,.28) !important;
}

@media (max-width:720px){
  .sp-card:has(#contact_name_1) .sp-grid--acomp4{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "name"
      "phone"
      "age"
      "level" !important;
  }
  .sp-profileAvatarWrap{
    align-items:flex-start;
  }
}

/* SAFEPLAN_R7_FIX9_VISUAL_START */
.sp-materialIntelBadge{
  font-size:.6rem !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  padding:3px 6px !important;
  width:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:70% !important;
  border-radius:999px !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  background:rgba(7,11,16,.92) !important;
  color:#ffd400 !important;
  border:1px solid rgba(255,212,0,.70) !important;
  box-shadow:none !important;
}
.sp-materialIntelBadge.is-essential{
  background:rgba(7,11,16,.96) !important;
  color:#ffd400 !important;
  border-color:#ffd400 !important;
}
.sp-repeatParticipantChoice .sp-repeatChoice{
  display:grid;
  gap:8px;
}
.sp-repeatParticipantChoice .sp-repeatChoice button{
  width:100%;
  min-height:54px;
  padding:9px 12px;
  text-align:left;
  background:rgba(15,20,28,.98);
  color:#f4f6f8;
  border:1px solid rgba(255,212,0,.38);
  border-radius:10px;
  box-shadow:none;
}
.sp-repeatParticipantChoice .sp-repeatChoice button strong{
  display:block;
  color:#fff;
  font-weight:800;
  line-height:1.15;
}
.sp-repeatParticipantChoice .sp-repeatChoice button small{
  display:block;
  margin-top:3px;
  color:#aeb7c2;
  font-size:.72rem;
  line-height:1.25;
}
.sp-repeatParticipantChoice .sp-repeatChoice button:focus-visible{
  outline:2px solid #ffd400;
  outline-offset:2px;
}
/* SAFEPLAN_R7_FIX9_VISUAL_END */


/* =========================================================
   SAFEPLAN_WEB_PUNCH_R3_PARTICIPANTS
   User-approved: picker icon-only; no horizontal wizard scroll.
   ========================================================= */
.sp-card--participant,
.sp-card--participant .sp-personRow,
.sp-card--participant .sp-personRow__fields,
.sp-personCard--basic,
.sp-personCard--basic .sp-personRow,
.sp-personCard--basic .sp-personRow__fields{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.sp-card--participant .sp-personRow{
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) !important;
  gap:12px !important;
  align-items:start !important;
  width:100% !important;
}
.sp-card--participant .sp-personPicker__add--compact,
.sp-personCard--basic .sp-personPicker__add--compact{
  width:44px !important;height:44px !important;
  min-width:44px !important;min-height:44px !important;
  max-width:44px !important;padding:0 !important;margin:0 !important;
  display:grid !important;place-items:center !important;
  justify-content:center !important;overflow:hidden !important;
}
.sp-card--participant .sp-personPicker__addText,
.sp-personCard--basic .sp-personPicker__addText{display:none !important}
.sp-card--participant .sp-personPicker__addSign,
.sp-personCard--basic .sp-personPicker__addSign{
  width:30px !important;height:30px !important;
  min-width:30px !important;min-height:30px !important;
  margin:0 !important;transform:none !important;
  display:grid !important;place-items:center !important;
}
.sp-card--participant .sp-personPicker__addSign svg,
.sp-personCard--basic .sp-personPicker__addSign svg{
  width:26px !important;height:26px !important;transform:none !important;
}
.sp-card--participant .sp-personRow__fields{
  display:grid !important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1.15fr) minmax(58px,.55fr) minmax(96px,1fr) !important;
  gap:10px !important;width:100% !important;
}
.sp-card--participant .sp-personRow__fields .sp-field,
.sp-card--participant .sp-personRow__fields input,
.sp-card--participant .sp-personRow__fields select,
.sp-personCard--basic .sp-personRow__fields .sp-field,
.sp-personCard--basic .sp-personRow__fields input,
.sp-personCard--basic .sp-personRow__fields select{
  min-width:0 !important;max-width:100% !important;width:100% !important;
  box-sizing:border-box !important;
}
.sp-personCard--basic .sp-personRow{
  grid-template-columns:44px minmax(0,1fr) !important;gap:12px !important;
}
.sp-personCard--basic .sp-personRow__fields{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-template-areas:"name phone" "age level" !important;
}
@media(max-width:760px){
  .sp-card--participant .sp-personRow,
  .sp-personCard--basic .sp-personRow{grid-template-columns:44px minmax(0,1fr) !important}
  .sp-card--participant .sp-personRow__fields,
  .sp-personCard--basic .sp-personRow__fields{
    grid-template-columns:1fr !important;grid-template-areas:none !important;
  }
}


/* SAFEPLAN_WEB_PUNCH_R3_RISK_MEASUREMENTS */
.sp-risk__visibleMeasurements{
  margin:0 0 10px;padding:10px 11px;
  border:1px solid rgba(243,196,0,.24);border-radius:10px;background:rgba(243,196,0,.055);
}
.sp-risk__visibleMeasurements>strong{display:block;margin-bottom:6px;color:#f3c400;font-size:.76rem;font-weight:900}
.sp-risk__visibleMeasurements ul{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0;padding:0;list-style:none}
.sp-risk__visibleMeasurements li{color:rgba(255,255,255,.88);font-size:.74rem;font-weight:760}

/* SAFEPLAN_WEB_PUNCH_R5_MOBILE_CONTAINMENT */
@media(max-width:760px){
 html,body{max-width:100%;overflow-x:hidden}
 .sp-section[data-step="2"],.sp-section[data-step="2"] .sp-stack,.sp-section[data-step="2"] .sp-card,.sp-section[data-step="2"] .sp-personRow,.sp-section[data-step="2"] .sp-personRow__fields{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important;overflow-wrap:anywhere}
 .sp-section[data-step="2"] .sp-card--participant{overflow:hidden!important}
 .sp-section[data-step="2"] .sp-personRow__fields{grid-template-columns:minmax(0,1fr)!important}
 .sp-section[data-step="2"] input,.sp-section[data-step="2"] select,.sp-section[data-step="2"] textarea{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
 .sp-liveStandalone,.sp-liveStandalone__header,.sp-liveStandalone .sp-final-profileShell,.sp-liveStandalone .sp-card__body,.sp-liveStandalone .sp-form,.sp-liveStandalone .sp-livePanelCard,.sp-liveStandalone .sp-risk,.sp-liveStandalone [data-risk-content],.sp-liveStandalone .sp-risk__factor,.sp-liveStandalone .sp-risk__factorBody,.sp-liveStandalone .sp-risk__visibleMeasurements{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important}
 .sp-liveStandalone{overflow-x:hidden!important;padding-inline:10px!important}
 .sp-liveStandalone .sp-risk__visibleMeasurements ul{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}
 .sp-liveStandalone .sp-risk__visibleMeasurements li,.sp-liveStandalone .sp-risk__factorBody,.sp-liveStandalone .sp-risk__factorBody *{max-width:100%!important;overflow-wrap:anywhere!important}
}


/* =========================================================
   SAFEPLAN_WEB_PUNCH_R8_MOBILE_PARTICIPANT_GRID_RESET
   Mobile rows are one-column. Clear desktop named grid placement so
   Nombre / Teléfono / Edad / Nivel cannot occupy the same cell.
   ========================================================= */
@media(max-width:760px){
  .sp-personRow__fields > .sp-field,
  .sp-personCard--basic .sp-personRow__fields > .sp-field,
  .sp-card--participant .sp-personRow__fields > .sp-field{
    grid-area:auto !important;
    grid-row:auto !important;
    grid-column:auto !important;
    min-width:0 !important;
    max-width:100% !important;
    width:100% !important;
    box-sizing:border-box !important;
  }
  .sp-personRow__fields{
    grid-auto-flow:row !important;
    grid-auto-rows:auto !important;
  }
}


/* =========================================================
   SAFEPLAN_WEB_R14_FIX1_COMMON_BAC
   ========================================================= */
.sp-personPicker__add,
.sp-personPicker__add--compact,
.sp-card--participant .sp-personPicker__add--compact,
.sp-personCard--basic .sp-personPicker__add--compact{
  appearance:none!important;
  width:48px!important;height:48px!important;
  min-width:48px!important;min-height:48px!important;max-width:48px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  display:grid!important;place-items:center!important;overflow:visible!important;transform:none!important;
}
.sp-personPicker__addAsset{
  display:block!important;width:44px!important;height:44px!important;object-fit:contain!important;
}
.sp-personPicker__addSign,.sp-personPicker__addText,.sp-safeplanPersonGlyph,.sp-safeplanPersonPlus{display:none!important}

@media(max-width:992px){
  body.sp-body .sp-container,
  body.sp-body .sp-wrap,
  body.sp-body .sp-main,
  body.sp-body .sp-main__body{
    height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
  }
  body.sp-body .sp-wrap{grid-template-columns:minmax(0,1fr)!important}
  body.sp-body .sp-side{
    position:relative!important;top:auto!important;inset:auto!important;
    min-width:0!important;max-width:100%!important;
  }
  body.sp-body .sp-steps{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;overflow:visible!important;overflow-x:visible!important;
    scroll-snap-type:none!important;max-width:100%!important;
  }
  body.sp-body .sp-step{min-width:0!important;max-width:100%!important;scroll-snap-align:none!important}
  body.sp-body .sp-grid.cols-2{grid-template-columns:minmax(0,1fr)!important}
}

@media(max-width:760px){
  body.sp-body,body.sp-page.sp-page--plan{
    padding-left:env(safe-area-inset-left,0px);
    padding-right:env(safe-area-inset-right,0px);
  }

  .sp-card--participant .sp-personRow,.sp-personCard--basic .sp-personRow{
    grid-template-columns:minmax(0,1fr)!important;gap:10px!important;
  }
  .sp-card--participant .sp-personPicker__add--compact,
  .sp-personCard--basic .sp-personPicker__add--compact{justify-self:start!important}
  .sp-card--participant .sp-personRow__fields,
  .sp-personCard--basic .sp-personRow__fields{
    grid-template-columns:minmax(0,1fr)!important;grid-template-areas:none!important;width:100%!important;
  }
  .sp-card--participant .sp-personRow__fields>.sp-field,
  .sp-personCard--basic .sp-personRow__fields>.sp-field{
    grid-area:auto!important;grid-row:auto!important;grid-column:auto!important;width:100%!important;min-width:0!important;
  }

  /* App shell menu: compact enough not to sit over the wizard logo. */
  button[aria-label*="menú" i],
  button[aria-label*="menu" i],
  button[aria-label*="naveg" i]{
    width:38px!important;height:38px!important;
    min-width:38px!important;min-height:38px!important;
    max-width:38px!important;max-height:38px!important;
    left:max(6px,env(safe-area-inset-left,0px))!important;
    top:max(6px,env(safe-area-inset-top,0px))!important;
  }
}

@media(max-width:420px){
  #materialsGrid.sp-material-grid,
  body.sp-body #materialsGrid.sp-grid.auto-3,
  body.sp-page--repetir-basico #materialsGrid,
  #materialsGrid.sp-materials{
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.sp-body .sp-steps{grid-template-columns:minmax(0,1fr)!important}
}


/* =========================================================
   SAFEPLAN_WEB_R16_FINAL_POLISH
   ========================================================= */

/* MIDE: compact contextual identity, never a second text line. */
.sp-field:has(.sp-mide-help){
  position:relative !important;
}
.sp-field:has(.sp-mide-help) > label{
  padding-right:28px !important;
}
.sp-mide-help[hidden]{
  display:none !important;
}
.sp-mide-help:not([hidden]){
  position:absolute !important;
  top:0 !important;
  right:2px !important;
  z-index:2 !important;
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid rgba(255,255,255,.70) !important;
  border-radius:3px !important;
  background:#090b0e !important;
  color:#fff !important;
  box-shadow:0 2px 6px rgba(0,0,0,.35) !important;
  font-size:0 !important;
  line-height:1 !important;
  text-decoration:none !important;
  transform:rotate(45deg) !important;
  overflow:hidden !important;
}
.sp-mide-help:not([hidden])::before{
  content:"i";
  display:block;
  color:#fff;
  font:900 12px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  transform:rotate(-45deg);
}
.sp-mide-help:not([hidden]):hover,
.sp-mide-help:not([hidden]):focus-visible{
  border-color:#f3c400 !important;
  outline:2px solid rgba(243,196,0,.28) !important;
  outline-offset:2px !important;
}

/* One common participant row B/A/C/Repeat. */
.sp-card--participant .sp-personRow,
.sp-personCard--basic .sp-personRow{
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:end !important;
}
.sp-card--participant .sp-personRow__fields,
.sp-personCard--basic .sp-personRow__fields{
  display:grid !important;
  grid-template-columns:minmax(0,1.22fr) minmax(0,1.10fr) minmax(54px,.52fr) minmax(92px,.92fr) !important;
  grid-template-areas:none !important;
  gap:8px !important;
  align-items:end !important;
}
.sp-card--participant .sp-personRow__fields > .sp-field,
.sp-personCard--basic .sp-personRow__fields > .sp-field{
  grid-area:auto !important;
  grid-row:auto !important;
  grid-column:auto !important;
  margin:0 !important;
  min-width:0 !important;
}
.sp-card--participant .sp-personPicker__add--compact,
.sp-personCard--basic .sp-personPicker__add--compact{
  align-self:end !important;
  justify-self:start !important;
}

@media(max-width:760px){
  .sp-card--participant .sp-personRow,
  .sp-personCard--basic .sp-personRow{
    grid-template-columns:34px minmax(0,1fr) !important;
    gap:6px !important;
    align-items:end !important;
  }
  .sp-card--participant .sp-personPicker__add--compact,
  .sp-personCard--basic .sp-personPicker__add--compact{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    max-width:34px !important;
  }
  .sp-card--participant .sp-personPicker__addAsset,
  .sp-personCard--basic .sp-personPicker__addAsset{
    width:32px !important;
    height:32px !important;
  }
  .sp-card--participant .sp-personRow__fields,
  .sp-personCard--basic .sp-personRow__fields{
    grid-template-columns:minmax(0,1.22fr) minmax(0,1.08fr) minmax(36px,.48fr) minmax(66px,.92fr) !important;
    gap:5px !important;
  }
  .sp-card--participant .sp-personRow__fields label,
  .sp-personCard--basic .sp-personRow__fields label{
    min-height:15px !important;
    margin-bottom:3px !important;
    font-size:10px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
  }
  .sp-card--participant .sp-personRow__fields input,
  .sp-card--participant .sp-personRow__fields select,
  .sp-personCard--basic .sp-personRow__fields input,
  .sp-personCard--basic .sp-personRow__fields select{
    min-width:0 !important;
    width:100% !important;
    height:36px !important;
    min-height:36px !important;
    padding:0 5px !important;
    font-size:11px !important;
    line-height:36px !important;
  }
  .sp-field:has(.sp-mide-help) > label{
    padding-right:20px !important;
  }
  .sp-mide-help:not([hidden]){
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    min-height:16px !important;
    right:0 !important;
  }
  .sp-mide-help:not([hidden])::before{
    font-size:9px !important;
  }
}

/* Materials = three user actions. Provider auto stays internal/silent. */
.sp-materialActions{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:7px !important;
  align-items:center !important;
}
.sp-materialActions > select[data-weather-provider][hidden]{
  display:none !important;
}
.sp-materialActions__provider{
  display:none !important;
}
.sp-materialAction{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  white-space:nowrap !important;
  padding-inline:8px !important;
}
.sp-materialActions__status{
  grid-column:1/-1 !important;
  width:100% !important;
}
@media(max-width:460px){
  .sp-materialActions{
    grid-template-columns:1.14fr .94fr .98fr !important;
    gap:5px !important;
    padding:6px !important;
  }
  .sp-materialAction{
    height:34px !important;
    min-height:34px !important;
    padding-inline:4px !important;
    gap:3px !important;
    font-size:10px !important;
    letter-spacing:-.01em !important;
  }
  .sp-materialAction > span[aria-hidden]{
    font-size:10px !important;
  }
}

/* Mobile-only profile section navigation. */
.sp-profileMobileNav{
  display:none;
}
@media(max-width:700px){
  .sp-profileMobileNav{
    position:sticky !important;
    top:48px !important;
    z-index:24 !important;
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:5px !important;
    margin:0 0 14px !important;
    padding:7px !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:14px !important;
    background:rgba(8,12,16,.94) !important;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    box-shadow:0 8px 20px rgba(0,0,0,.28) !important;
  }
  .sp-profileMobileNav__item{
    min-width:0 !important;
    min-height:36px !important;
    padding:5px 4px !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:9px !important;
    background:rgba(255,255,255,.035) !important;
    color:rgba(255,255,255,.78) !important;
    font:800 10px/1.15 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    text-align:center !important;
  }
  .sp-profileMobileNav__item.is-active{
    border-color:rgba(243,196,0,.65) !important;
    background:rgba(243,196,0,.11) !important;
    color:#f3c400 !important;
  }
}




@media(max-width:760px){
  body.sp-final-profile-page 

  .sp-section[data-step="2"] .sp-card--participant .sp-personRow{
    display:grid !important;
    grid-template-columns:34px minmax(0,1fr) !important;
    gap:6px !important;
    align-items:end !important;
    width:100% !important;
  }
  .sp-section[data-step="2"] .sp-card--participant .sp-personRow__fields{
    display:grid !important;
    grid-template-columns:minmax(0,1.22fr) minmax(0,1.08fr) minmax(36px,.48fr) minmax(66px,.92fr) !important;
    grid-template-areas:none !important;
    grid-auto-flow:row !important;
    grid-auto-rows:auto !important;
    gap:5px !important;
    align-items:end !important;
    width:100% !important;
    min-width:0 !important;
  }
  .sp-section[data-step="2"] .sp-card--participant .sp-personRow__fields > .sp-field{
    grid-area:auto !important;
    grid-row:auto !important;
    grid-column:auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:100% !important;
  }
  .sp-section[data-step="2"] .sp-card--participant .sp-personRow__fields input,
  .sp-section[data-step="2"] .sp-card--participant .sp-personRow__fields select{
    width:100% !important;
    min-width:0 !important;
    padding-left:6px !important;
    padding-right:6px !important;
  }
  .sp-section[data-step="2"] .sp-card--participant .sp-personRow__fields label{
    white-space:nowrap !important;
  }
}


/* =========================================================
   SAFEPLAN_WEB_R57_VISUAL_AUTHORITY_CORRECTION
   Desktop/tablet keep the approved Web masonry. Only the
   <=760px composition follows the Android profile authority.
   ========================================================= */

@layer safeplan-r57 {

.sp-profileMobileHeroBrand,
.sp-profileMobileHeroIdentity,
.sp-profileContextMobileTitle,
.sp-profileContextMobileCopy,
.sp-profileContextMobileEmpty,
.sp-profileMobileAccordion,
.sp-profileMobileContextOptions,
.sp-profileMobileDestination,
.sp-profileMobileLogout,
.sp-profileMobileBottomNav{
  display:none;
}

.sp-profileHeading--hero em{
  color:inherit;
  font:inherit;
}

@media (min-width:761px){
  body[data-profile-responsive-mode="desktop"]
  .sp-profileMasonry[data-masonry-layout="mosaic-r4"]{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  body[data-profile-responsive-mode="desktop"]
  .sp-profileMasonry[data-masonry-layout="mosaic-r4"] > .sp-profileSlot--personal{
    grid-column:auto !important;
  }

  body[data-profile-responsive-mode="desktop"]
  .sp-profileMasonry[data-masonry-layout="mosaic-r4"] > .sp-profileSlot--experience{
    grid-column:auto !important;
  }

  body[data-profile-responsive-mode="desktop"]
  .sp-profileMasonry[data-masonry-layout="mosaic-r4"] > .sp-profileSlot--social{
    grid-column:auto !important;
  }

  body[data-profile-responsive-mode="desktop"]
  .sp-profileMasonry[data-masonry-layout="mosaic-r4"] > .sp-profileSlot--companions{
    grid-column:auto !important;
  }

  body[data-profile-responsive-mode="desktop"]
  .sp-profileMasonry[data-masonry-layout="mosaic-r4"] > .sp-profileSlot--emergency{
    grid-column:auto !important;
  }

  body[data-profile-responsive-mode="tablet"]
  .sp-profileMasonry[data-masonry-layout="mosaic-r4"]{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:start !important;
  }

  body[data-profile-responsive-mode="tablet"]
  .sp-profileMasonry[data-masonry-layout="mosaic-r4"] > .sp-profileSlot{
    grid-column:auto !important;
    min-width:0 !important;
  }

  body[data-profile-responsive-mode="tablet"]
  .sp-profileMasonry[data-masonry-layout="mosaic-r4"] > .sp-profileSlot--social{
    grid-column:auto !important;
  }

  body[data-profile-responsive-mode]:not([data-profile-responsive-mode="mobile"])
  .sp-profileMasonry[data-masonry-layout="mosaic-r4"]
  .sp-profileSlot--experience > .sp-list{
    height:auto !important;
    max-height:min(36vh,360px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }

  body[data-profile-responsive-mode]:not([data-profile-responsive-mode="mobile"])
  .sp-profileMasonry[data-masonry-layout="mosaic-r4"]
  :is(.sp-profileSlot--companions > .sp-list,
      .sp-profileSlot--emergency > .sp-list,
      .sp-profileSlot--social .sp-socialList){
    height:auto !important;
    max-height:min(42vh,420px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
}

@media (max-width:760px){
  html:has(body.sp-profileMobileAndroid),
  body.sp-profileMobileAndroid{
    width:100% !important;
    max-width:100% !important;
    overflow-x:clip !important;
    background:#050607 !important;
  }

  body.sp-profileMobileAndroid{
    height:auto !important;
    min-height:100dvh !important;
    padding-bottom:92px !important;
    overflow-y:visible !important;
  }

  body.sp-profileMobileAndroid .sp-page,
  body.sp-profileMobileAndroid .sp-appShell__page,
  body.sp-profileMobileAndroid .sp-container,
  body.sp-profileMobileAndroid .sp-wrap,
  body.sp-profileMobileAndroid .sp-main,
  body.sp-profileMobileAndroid .sp-main__body{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow:visible !important;
    background:#050607 !important;
  }

  body.sp-profileMobileAndroid :is(.sp-top,.sp-side,.sp-profileMobileNav){
    display:none !important;
  }

  body.sp-profileMobileAndroid .sp-final-profileWelcome{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-end !important;
    width:100% !important;
    min-height:252px !important;
    margin:0 !important;
    padding:20px 18px 24px !important;
    border:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
    background:
      linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(3,4,5,.30) 52%,#050607 100%),
      url("../img/brand/profile-multisport-bg.png") center 32% / cover no-repeat !important;
    box-shadow:none !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileHeroBrand{
    position:absolute !important;
    top:12px !important;
    left:18px !important;
    display:block !important;
    width:116px !important;
    height:78px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileHeroBrand img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }

  body.sp-profileMobileAndroid #safeplanMainProfileTitle{
    display:block !important;
    margin:0 !important;
    color:#fff !important;
    font:800 34px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    letter-spacing:-.04em !important;
    text-shadow:0 2px 20px rgba(0,0,0,.72) !important;
  }

  body.sp-profileMobileAndroid #safeplanMainProfileTitle .sp-profileBadgeImg{
    display:none !important;
  }

  body.sp-profileMobileAndroid #safeplanMainProfileTitle em{
    color:#f3c400 !important;
    font:inherit !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileHeroIdentity{
    display:block !important;
    margin:8px 0 0 !important;
    color:rgba(255,255,255,.78) !important;
    font:700 13px/1.3 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  }

  body.sp-profileMobileAndroid .sp-profileCompany{
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    margin:14px 16px !important;
    padding:15px 16px !important;
    border:1px solid rgba(243,196,0,.34) !important;
    border-radius:18px !important;
    background:linear-gradient(145deg,rgba(243,196,0,.10),rgba(255,255,255,.025)) !important;
    box-shadow:0 14px 34px rgba(0,0,0,.24) !important;
  }

  body.sp-profileMobileAndroid .sp-profileCompany .sp-block__titleRow{
    display:block !important;
    min-height:0 !important;
    margin:0 0 5px !important;
  }

  body.sp-profileMobileAndroid .sp-profileCompany .sp-profileHeading{
    margin:0 !important;
    color:#f3c400 !important;
    font-size:20px !important;
    letter-spacing:0 !important;
    text-transform:none !important;
  }

  body.sp-profileMobileAndroid .sp-profileContextDesktopTitle,
  body.sp-profileMobileAndroid .sp-profileCompany .sp-formGrid,
  body.sp-profileMobileAndroid .sp-profileCompany > .sp-btn{
    display:none !important;
  }

  body.sp-profileMobileAndroid .sp-profileContextMobileTitle{
    display:inline !important;
  }

  body.sp-profileMobileAndroid .sp-profileCompany > .sp-muted{
    margin:0 !important;
    color:rgba(255,255,255,.86) !important;
    font-size:14px !important;
  }

  body.sp-profileMobileAndroid .sp-profileContextCurrent,
  body.sp-profileMobileAndroid .sp-profileContextDesktopEmpty{
    display:none !important;
  }

  body.sp-profileMobileAndroid .sp-profileContextMobileEmpty{
    display:inline !important;
  }

  body.sp-profileMobileAndroid .sp-profileContextEmpty{
    margin:10px 0 0 !important;
  }

  body.sp-profileMobileAndroid .sp-profileContextMobileCopy{
    display:block !important;
    margin:0 0 12px !important;
    color:rgba(255,255,255,.68) !important;
    font:600 12px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileContextOptions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:7px !important;
    margin-top:12px !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileContextOption{
    width:100% !important;
    min-height:46px !important;
    padding:9px 12px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.04) !important;
    color:rgba(255,255,255,.82) !important;
    font:750 12px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileContextOption.is-active{
    border-color:rgba(255,255,255,.24) !important;
    background:rgba(255,255,255,.02) !important;
    color:#fff !important;
  }

  body.sp-profileMobileAndroid .sp-final-profileShell,
  body.sp-profileMobileAndroid .sp-final-profileShell > .sp-card__body,
  body.sp-profileMobileAndroid .sp-form{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
  }

  body.sp-profileMobileAndroid .sp-final-profileShell > .sp-card__footer{
    display:none !important;
  }

  body.sp-profileMobileAndroid .sp-profileMasonry[data-masonry-layout="mosaic-r4"]{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    gap:11px !important;
    margin:0 16px !important;
    padding:0 !important;
  }

  body.sp-profileMobileAndroid .sp-profileMasonry[data-masonry-layout="mosaic-r4"] > .sp-profileSlot{
    display:block !important;
    grid-column:1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    margin:0 !important;
    padding:14px 16px !important;
    border:1px solid rgba(243,196,0,.42) !important;
    border-radius:22px !important;
    background:linear-gradient(145deg,rgba(18,20,22,.98),rgba(7,8,9,.98)) !important;
    box-shadow:0 14px 36px rgba(0,0,0,.28) !important;
    overflow:hidden !important;
  }

  body.sp-profileMobileAndroid.sp-final-profile-page[data-profile-view="hub"]
  .sp-profileMasonry[data-masonry-layout="mosaic-r4"] > .sp-profileSlot[data-profile-area]{
    background-image:
      linear-gradient(180deg,rgba(2,4,5,.03) 0%,rgba(2,4,5,.16) 34%,rgba(2,4,5,.92) 78%,#030506 100%),
      var(--sp-profile-card-photo) !important;
    background-position:center,center !important;
    background-size:cover,cover !important;
    background-repeat:no-repeat !important;
  }

  body.sp-profileMobileAndroid .sp-profileMasonry > .sp-profileSlot::before{
    display:none !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileAccordion{
    display:grid !important;
    grid-template-columns:82px 42px minmax(0,1fr) 18px !important;
    grid-template-areas:"visual state copy arrow" !important;
    align-items:center !important;
    gap:9px !important;
    width:100% !important;
    min-width:0 !important;
    min-height:66px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:#fff !important;
    text-align:left !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileAccordion__visual{
    position:relative !important;
    grid-area:visual !important;
    display:block !important;
    width:82px !important;
    height:64px !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileAccordion__photo{
    display:block !important;
    width:82px !important;
    height:64px !important;
    border-radius:14px !important;
    object-fit:cover !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileAccordion__badge{
    position:absolute !important;
    right:5px !important;
    bottom:5px !important;
    display:grid !important;
    place-items:center !important;
    width:30px !important;
    height:30px !important;
    padding:3px !important;
    border:0 !important;
    border-radius:50% !important;
    background:#0b0c0e !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileAccordion__badge img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileAccordion__state{
    grid-area:state !important;
    display:grid !important;
    place-items:center !important;
    width:42px !important;
    height:42px !important;
    border:1px solid rgba(243,196,0,.72) !important;
    border-radius:50% !important;
    background:rgba(243,196,0,.10) !important;
    color:#f3c400 !important;
    font:300 28px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileAccordion__copy{
    grid-area:copy !important;
    display:block !important;
    min-width:0 !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileAccordion__copy strong{
    display:block !important;
    color:#fff !important;
    font:800 18px/1.14 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileAccordion__copy small{
    display:block !important;
    margin-top:5px !important;
    color:rgba(255,255,255,.58) !important;
    font:600 11px/1.28 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileAccordion__arrow{
    grid-area:arrow !important;
    color:#f3c400 !important;
    font-size:20px !important;
    text-align:right !important;
  }

  body.sp-profileMobileAndroid .sp-profileSlot[data-mobile-expanded="false"] > :not(.sp-profileMobileAccordion){
    display:none !important;
  }

  body.sp-profileMobileAndroid .sp-profileSlot[data-mobile-expanded="true"] > :not(.sp-profileMobileAccordion){
    margin-top:15px !important;
  }

  body.sp-profileMobileAndroid .sp-profileSlot[data-mobile-expanded="true"] > :is(.sp-block__titleRow,.sp-socialHub__heading){
    display:none !important;
  }

  body.sp-profileMobileAndroid .sp-profileMasonry
  :is(.sp-list,.sp-socialList,.sp-directorySearchResults){
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body.sp-profileMobileAndroid .sp-integration-card{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:15px 0 0 !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileDestination{
    display:grid !important;
    grid-template-columns:86px minmax(0,1fr) 42px !important;
    align-items:center !important;
    gap:13px !important;
    width:auto !important;
    min-height:104px !important;
    margin:11px 16px 0 !important;
    padding:13px !important;
    border:1px solid rgba(243,196,0,.44) !important;
    border-radius:22px !important;
    background:linear-gradient(145deg,rgba(25,21,5,.97),rgba(8,9,10,.98)) !important;
    color:#fff !important;
    text-decoration:none !important;
    box-shadow:0 14px 36px rgba(0,0,0,.28) !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileDestination__visual{
    position:relative !important;
    display:block !important;
    width:86px !important;
    height:70px !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileDestination__visual > img{
    width:86px !important;
    height:70px !important;
    border-radius:14px !important;
    object-fit:cover !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileDestination__visual > span{
    position:absolute !important;
    right:-7px !important;
    bottom:-7px !important;
    display:grid !important;
    place-items:center !important;
    width:30px !important;
    height:30px !important;
    padding:4px !important;
    border:1px solid rgba(243,196,0,.72) !important;
    border-radius:50% !important;
    background:#0b0c0e !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileDestination__visual span img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileDestination strong,
  body.sp-profileMobileAndroid .sp-profileMobileDestination small{
    display:block !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileDestination strong{
    font-size:17px !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileDestination small{
    margin-top:5px !important;
    color:rgba(255,255,255,.58) !important;
    font-size:11px !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileDestination > b{
    display:grid !important;
    place-items:center !important;
    width:42px !important;
    height:42px !important;
    border-radius:50% !important;
    background:#f3c400 !important;
    color:#050607 !important;
    font-size:25px !important;
    font-weight:900 !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileLogout{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-height:48px !important;
    margin:14px 16px 18px !important;
    border:1px solid #f3c400 !important;
    border-radius:15px !important;
    background:#f3c400 !important;
    color:#050607 !important;
    font:800 14px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    text-decoration:none !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileBottomNav{
    position:fixed !important;
    z-index:120 !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    width:100% !important;
    min-height:78px !important;
    padding:8px 5px max(7px,env(safe-area-inset-bottom)) !important;
    border-top:1px solid rgba(255,255,255,.10) !important;
    background:rgba(5,6,7,.96) !important;
    box-shadow:0 -12px 30px rgba(0,0,0,.45) !important;
    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileBottomNav__item{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:0 !important;
    gap:4px !important;
    color:rgba(255,255,255,.58) !important;
    text-decoration:none !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileBottomNav__item > span{
    display:grid !important;
    place-items:center !important;
    width:31px !important;
    height:27px !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileBottomNav__item img{
    width:25px !important;
    height:25px !important;
    object-fit:contain !important;
    opacity:.72 !important;
    filter:grayscale(1) brightness(1.55) !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileBottomNav__item strong{
    overflow:hidden !important;
    max-width:100% !important;
    font:700 10px/1.1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileBottomNav__item i{
    position:absolute !important;
    bottom:-3px !important;
    display:none !important;
    width:22px !important;
    height:3px !important;
    border-radius:999px !important;
    background:#f3c400 !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileBottomNav__item.is-active{
    color:#f3c400 !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileBottomNav__item.is-active img{
    opacity:1 !important;
    filter:brightness(0) !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileBottomNav__item.is-active > span{
    width:48px !important;
    height:48px !important;
    margin-top:-8px !important;
    border-radius:50% !important;
    background:#f3c400 !important;
  }

  body.sp-profileMobileAndroid .sp-profileMobileBottomNav__item.is-active i{
    display:block !important;
  }
}

/* SAFEPLAN_WEB_R57_VISUAL_AUTHORITY_CORRECTION_END */
}

/* SAFEPLAN_R57_POSITIONED_MASONRY_START */

/*
 * Desktop/tablet:
 * columnas independientes de altura natural.
 *
 * La posición exacta se calcula en profile-wizard.js.
 *
 * Mobile <=760px:
 * este bloque no aplica; sigue la composición Android Web.
 */

@media (min-width:761px){

  .sp-profileMasonry[data-masonry-positioned="true"]{
    position:relative !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  .sp-profileMasonry[data-masonry-positioned="true"]
  > .sp-profileSlot{
    box-sizing:border-box !important;
    margin:0 !important;
    max-width:none !important;
  }

  /*
   * Usuario SafePlan:
   * ocupar toda la anchura interna de Perfil personal.
   */
  .sp-profileSlot--personal
  .sp-grid > [data-safeplan-username-row]{
    grid-column:1 / -1 !important;
  }

  .sp-profileSlot--personal
  [data-safeplan-username-row]
  .sp-fieldRow__value{
    white-space:nowrap !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    min-width:0 !important;
  }
}

/* SAFEPLAN_R57_POSITIONED_MASONRY_END */
