/* SATI Secure Portal v0.5 — visual refinement */
.sati-portal-v05 .sati-page-hero{margin-bottom:1.35rem}
.sati-portal-v05 .sati-confidential-banner{display:flex;align-items:center;gap:.8rem;background:linear-gradient(135deg,#082d50,#0c4268);padding:.9rem 1.05rem;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 26px rgba(8,38,79,.10)}
.sati-portal-v05 .sati-confidential-banner .sati-lock{font-size:1.05rem}
.sati-portal-v05 .sati-confidential-banner span:last-child{display:flex;flex-direction:column;gap:.1rem}
.sati-portal-v05 .sati-confidential-banner strong{font-size:.82rem;color:#fff}
.sati-portal-v05 .sati-confidential-banner small{font-size:.72rem;color:#c9e1e9;font-weight:600}
.sati-access-meta{display:flex;gap:.55rem;flex-wrap:wrap;margin:0 0 1rem}
.sati-access-meta span{font-size:.72rem;color:#52647a;background:#fff;border:1px solid #e1e7eb;border-radius:999px;padding:.42rem .65rem}
.sati-access-meta strong{color:#0c2c4f}
.sati-portal-v05 .sati-portal-content{align-items:stretch}
.sati-portal-v05 .sati-portal-card{position:relative;overflow:hidden;padding:1.55rem 1.6rem 1.5rem}
.sati-portal-v05 .sati-portal-card:after{content:"";position:absolute;width:120px;height:120px;border:1px solid rgba(23,144,170,.08);border-radius:50%;right:-58px;top:-58px;pointer-events:none}
.sati-portal-v05 .sati-portal-card h3{font-size:1.25rem;color:#0c2c4f;margin:.35rem 0 .75rem}
.sati-portal-v05 .sati-portal-card p{color:#465b6d;line-height:1.65}
.sati-portal-v05 .sati-portal-card ul{margin:.85rem 0 0 1.05rem;padding:0;color:#465b6d}
.sati-portal-v05 .sati-portal-card li{margin:.42rem 0;line-height:1.55}
.sati-card-note{margin-top:.9rem!important;padding-top:.8rem;border-top:1px solid #e9edef;font-size:.8rem!important;color:#6a7985!important}
.sati-chipset{display:flex;flex-wrap:wrap;gap:.45rem;margin:.9rem 0}
.sati-chipset span{background:#eef6f7;color:#0c5367;border:1px solid rgba(23,144,170,.14);border-radius:999px;padding:.42rem .62rem;font-size:.74rem;font-weight:750}
.sati-steps{list-style:none;margin:.9rem 0 0!important;padding:0!important;display:grid;grid-template-columns:repeat(5,1fr);gap:.45rem}
.sati-steps li{margin:0!important;padding:.62rem .55rem;border:1px solid #e2e7eb;border-radius:12px;font-size:.75rem;color:#0c2c4f;background:#fafbfb;text-align:center}
.sati-steps b{display:block;color:#1790aa;font-size:.68rem;margin-bottom:.2rem}
.sati-roadmap{list-style:none;margin:.9rem 0 0!important;padding:0!important;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.sati-roadmap li{margin:0!important;padding:.65rem;border-radius:12px;background:#f5f8f9;border:1px solid #e2e8eb;display:flex;gap:.45rem;align-items:center;font-size:.76rem}
.sati-roadmap b{color:#1790aa;font-size:.66rem}.sati-roadmap span{color:#0c2c4f;font-weight:750}
.sati-level3{grid-column:1/-1!important;background:linear-gradient(135deg,#062b49 0%,#0d456a 100%)!important;border-color:rgba(255,255,255,.08)!important;color:#fff!important}
.sati-level3:after{border-color:rgba(255,255,255,.12)!important;width:220px!important;height:220px!important;right:-90px!important;top:-110px!important}
.sati-level3 .eyebrow{color:#8ed5e4!important}.sati-level3 h3{color:#fff!important;font-size:1.45rem!important}.sati-level3 p{color:#d2e2e8!important;max-width:980px}.sati-level3 strong{color:#fff}
.sati-level3-head{display:flex;align-items:center;gap:.9rem}.sati-level3-lock{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:rgba(255,255,255,.09);font-size:1.35rem;border:1px solid rgba(255,255,255,.13)}
.sati-nda-button{display:inline-flex!important;margin-top:.55rem!important;width:auto!important;background:#fff!important;color:#062b49!important}
.sati-account-card{grid-column:1/-1!important;display:grid;grid-template-columns:1fr auto;column-gap:2rem;align-items:center}
.sati-account-card .eyebrow,.sati-account-card h3,.sati-account-card p,.sati-account-card small{grid-column:1}
.sati-account-card small{color:#6b7983}.sati-account-actions{grid-column:2;grid-row:1/5;display:flex;flex-direction:column;gap:.6rem;align-items:flex-end}
.sati-account-actions .text-link{font-weight:750}.sati-logout{color:#8b3c3c!important}
.sati-watermark{font-size:clamp(1.15rem,2.1vw,1.8rem)!important;letter-spacing:.13em!important;color:rgba(12,44,79,.032)!important;top:58%!important;max-width:80vw;overflow:hidden;text-overflow:clip}
.sati-login-links{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;font-size:.84rem}
@media(max-width:860px){.sati-steps{grid-template-columns:1fr 1fr}.sati-roadmap{grid-template-columns:1fr 1fr}.sati-account-card{grid-template-columns:1fr}.sati-account-actions{grid-column:1;grid-row:auto;align-items:flex-start;margin-top:1rem}.sati-level3-head{align-items:flex-start}}
@media(max-width:560px){.sati-steps,.sati-roadmap{grid-template-columns:1fr}.sati-access-meta{display:grid;grid-template-columns:1fr}.sati-access-meta span{border-radius:10px}}

/* SATI Secure Portal v0.6 — UX closure + hardening */
body.sati-portal-member .header-actions .button-outline[href*="solicitar-acceso"]{display:none!important}
body.sati-portal-member .header-actions .portal-link{color:#0c2c4f;font-weight:800}
.sati-portal-v06 .sati-watermark-v06{
  position:fixed!important;
  left:auto!important;
  right:24px!important;
  top:auto!important;
  bottom:22px!important;
  transform:rotate(-4deg)!important;
  max-width:58vw!important;
  padding:.34rem .58rem!important;
  border:1px solid rgba(12,44,79,.055)!important;
  border-radius:999px!important;
  background:rgba(246,242,236,.72)!important;
  color:rgba(12,44,79,.16)!important;
  font-size:.60rem!important;
  letter-spacing:.08em!important;
  font-weight:800!important;
  line-height:1.2!important;
  opacity:1!important;
  backdrop-filter:blur(3px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  z-index:60!important;
}
.sati-portal-v06 .sati-account-card{padding:1.6rem 1.7rem}
.sati-account-details{grid-column:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:.35rem}
.sati-account-details p{margin:0!important;padding:.72rem .8rem;border:1px solid #e7ebee;border-radius:12px;background:#fafbfb;display:flex;flex-direction:column;gap:.16rem}
.sati-account-details span{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:#75828c;font-weight:750}
.sati-account-details strong{font-size:.82rem;color:#0c2c4f;line-height:1.35}
.sati-nda-wrap{max-width:980px}
.sati-nda-card{padding:1.8rem}
.sati-nda-identity{display:grid;grid-template-columns:auto 1fr;column-gap:.8rem;row-gap:.12rem;align-items:center;padding:.8rem 1rem;margin-bottom:1.2rem;border-radius:14px;background:#eef6f7;border:1px solid rgba(23,144,170,.14)}
.sati-nda-identity span{grid-row:1/3;font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:#1790aa;font-weight:800}
.sati-nda-identity strong{color:#0c2c4f}.sati-nda-identity small{color:#62717e}
.sati-nda-consent{margin-top:.9rem}
.sati-nda-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.1rem}
.sati-nda-actions .button{margin:0!important}
@media(max-width:980px){
  .sati-portal-v06 .sati-portal-grid{grid-template-columns:1fr!important}
  .sati-account-details{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sati-portal-v06 .sati-watermark-v06{max-width:72vw!important;right:14px!important;bottom:14px!important}
}
@media(max-width:720px){
  .sati-portal-wrap,.sati-access-wrap,.sati-legal-wrap{padding-left:1rem!important;padding-right:1rem!important;padding-top:6.2rem!important}
  .sati-portal-v06 .sati-page-hero{padding:1.55rem!important;border-radius:18px!important}
  .sati-portal-v06 .sati-page-hero h1{font-size:2rem!important}
  .sati-portal-v06 .sati-confidential-banner{align-items:flex-start}
  .sati-portal-v06 .sati-portal-card{padding:1.25rem!important;border-radius:16px!important}
  .sati-access-meta{display:grid!important;grid-template-columns:1fr!important}
  .sati-access-meta span{border-radius:10px!important}
  .sati-account-details{grid-template-columns:1fr}
  .sati-account-actions{width:100%;align-items:flex-start!important;border-top:1px solid #e8ecef;padding-top:.8rem}
  .sati-level3-head{gap:.65rem!important}.sati-level3-lock{width:42px!important;height:42px!important}
  .sati-nda-card{padding:1.2rem}
  .sati-nda-identity{grid-template-columns:1fr}.sati-nda-identity span{grid-row:auto}
  .sati-portal-v06 .sati-watermark-v06{max-width:84vw!important;font-size:.54rem!important}
}
@media(max-width:480px){
  .sati-steps,.sati-roadmap{grid-template-columns:1fr!important}
  .sati-nda-actions{align-items:stretch;flex-direction:column}
  .sati-nda-actions .button,.sati-nda-actions .text-link{width:100%;justify-content:center;text-align:center}
}

/* SATI Secure Portal v0.7 — FINAL UX */
.sati-portal-v07 .sati-confidential-banner{
  display:flex;
  align-items:center;
  gap:.8rem;
  background:linear-gradient(135deg,#082d50,#0c4268);
  padding:.9rem 1.05rem;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 26px rgba(8,38,79,.10);
}
.sati-portal-v07 .sati-confidential-banner .sati-lock{font-size:1.05rem;flex:0 0 auto}
.sati-portal-v07 .sati-banner-copy{display:flex;flex-direction:column;gap:.16rem;min-width:0}
.sati-portal-v07 .sati-banner-copy strong{display:block;color:#fff;font-size:.84rem;line-height:1.25}
.sati-portal-v07 .sati-banner-copy small{display:block;color:#c9e1e9;font-size:.73rem;line-height:1.3;font-weight:600}

/* Integrated traceability seal: never floats above cards or footer. */
.sati-portal-v07 .sati-security-stamp{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.55rem;
  flex-wrap:wrap;
  width:100%;
  margin:-.25rem 0 1.05rem;
  padding:.52rem .72rem;
  border:1px solid rgba(12,44,79,.08);
  border-radius:12px;
  background:rgba(255,255,255,.48);
  color:#6f7e88;
  font-size:.66rem;
  line-height:1.3;
  letter-spacing:.025em;
}
.sati-portal-v07 .sati-security-stamp span{font-weight:800;color:#0c5367;letter-spacing:.07em}
.sati-portal-v07 .sati-security-stamp strong{color:#0c2c4f;font-size:.68rem;letter-spacing:.055em}
.sati-portal-v07 .sati-security-stamp small{color:#75828c;font-size:.66rem}

/* Retire previous floating watermark completely in v0.7. */
.sati-portal-v07 .sati-watermark,
.sati-portal-v07 .sati-watermark-v06{display:none!important}

/* Compact institutional account. */
.sati-portal-v07 .sati-account-compact{padding:1.3rem 1.45rem!important}
.sati-portal-v07 .sati-account-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:1.25rem;
  margin-bottom:.9rem;
}
.sati-portal-v07 .sati-account-heading h3{margin:.28rem 0 0!important}
.sati-portal-v07 .sati-account-actions{
  display:flex;
  flex-direction:row;
  gap:1rem;
  align-items:center;
  white-space:nowrap;
}
.sati-portal-v07 .sati-account-details{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.55rem;
  margin:0;
}
.sati-portal-v07 .sati-account-details p{
  min-height:58px;
  padding:.58rem .68rem;
}
.sati-portal-v07 .sati-account-details span{font-size:.61rem}
.sati-portal-v07 .sati-account-details strong{font-size:.76rem}

/* NDA is a SATI special page even though the theme predates this route. */
body.sati-nda-page main.section{padding:0!important}
body.sati-nda-page main.section>.shell.narrow{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
body.sati-nda-page main.section>.shell.narrow>article{margin:0!important;padding:0!important}
body.sati-nda-page main.section>.shell.narrow>article>h1:first-child{display:none!important}
body.sati-nda-page .sati-nda-wrap{padding-top:7.4rem!important;padding-bottom:5rem!important}

/* No portal security element is allowed to overlap the site footer. */
.sati-portal-v07 + .site-footer,
body.sati-portal-member .site-footer{position:relative;z-index:2}

@media(max-width:1080px){
  .sati-portal-v07 .sati-account-details{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .sati-portal-v07 .sati-security-stamp{justify-content:flex-start}
  .sati-portal-v07 .sati-account-heading{align-items:flex-start;flex-direction:column}
  .sati-portal-v07 .sati-account-actions{white-space:normal;flex-wrap:wrap}
  .sati-portal-v07 .sati-account-details{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.sati-nda-page .sati-nda-wrap{padding-top:6.2rem!important}
}
@media(max-width:520px){
  .sati-portal-v07 .sati-account-details{grid-template-columns:1fr}
  .sati-portal-v07 .sati-account-actions{gap:.7rem}
  .sati-portal-v07 .sati-security-stamp{display:grid;grid-template-columns:1fr;gap:.2rem}
}

/* === v0.7.1 account layout hotfix ===
   Neutralize legacy account-card grid so the institutional data spans the full card width. */
.sati-portal-v07 .sati-account-card.sati-account-compact{
  display:block!important;
  grid-template-columns:none!important;
}
.sati-portal-v07 .sati-account-heading,
.sati-portal-v07 .sati-account-details{
  grid-column:auto!important;
  width:100%!important;
}
.sati-portal-v07 .sati-account-actions .text-link{
  color:#0c5367!important;
  text-decoration:none;
}
.sati-portal-v07 .sati-account-actions .text-link:hover{
  color:#1790aa!important;
}
.sati-portal-v07 .sati-account-actions .sati-logout{
  color:#8b3c3c!important;
}


/* === v0.7.2 institutional account grid definitive fix ===
   Legacy descendant rule forced every detail <p> into grid column 1. */
.sati-portal-v07 .sati-account-details > p{
  grid-column:auto!important;
  grid-row:auto!important;
  width:auto!important;
  max-width:none!important;
}
.sati-portal-v07 .sati-account-details{
  grid-auto-flow:row!important;
  align-items:stretch;
}
@media (min-width:1081px){
  .sati-portal-v07 .sati-account-details{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
}


/* === v0.7.3 mobile final contrast fix ===
   Theme .text-link is white by default; NDA lives on a white card. */
.sati-nda-actions .text-link{
  color:#0c5367!important;
  border-bottom:1px solid rgba(12,83,103,.28)!important;
  text-decoration:none!important;
  font-weight:800!important;
  line-height:1.35;
  padding-bottom:.18rem;
}
.sati-nda-actions .text-link:hover,
.sati-nda-actions .text-link:focus{
  color:#1790aa!important;
  border-bottom-color:#1790aa!important;
}
@media(max-width:480px){
  .sati-nda-actions .text-link{
    display:inline-flex!important;
    min-height:42px;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(12,83,103,.16)!important;
    border-radius:999px;
    background:#f7fbfc;
    padding:.65rem .9rem!important;
  }
}

/* === v0.8.0 Level 3 workflow === */
.sati-level3-state{
  display:flex;
  flex-direction:column;
  gap:.18rem;
  max-width:720px;
  margin:1rem 0 .2rem;
  padding:.78rem .9rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  background:rgba(255,255,255,.08);
}
.sati-level3-state strong{font-size:.84rem!important;color:#fff!important}
.sati-level3-state span{font-size:.75rem;color:#d2e2e8;line-height:1.45}
.sati-level3-state.approved{background:rgba(131,178,62,.12);border-color:rgba(174,215,107,.25)}
.sati-level3-state.denied{background:rgba(181,72,72,.10);border-color:rgba(255,180,180,.20)}
.sati-nda-button.is-disabled{opacity:.68;cursor:not-allowed;pointer-events:none}
.sati-nda-current{padding:1rem 0 .2rem;color:#465b6d}
.sati-nda-current h2{margin:.55rem 0 1rem;color:#0c2c4f}
.sati-nda-current p{line-height:1.6}
.sati-nda-current small{color:#75828c}
.sati-nda-state{
  display:inline-flex;
  padding:.35rem .58rem;
  border-radius:999px;
  background:#eef6f7;
  color:#0c5367;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.04em;
}
.sati-nda-state.in_review{background:#fff5d9;color:#765b00}
.sati-nda-state.approved{background:#edf7e1;color:#49651f}
.sati-nda-state.denied{background:#faecec;color:#8b3c3c}
@media (min-width:1180px){
  .sati-portal-v07 .sati-account-details{grid-template-columns:repeat(6,minmax(0,1fr))!important}
}
@media (max-width:640px){
  .sati-level3-state{max-width:none}
}

/* === v0.9.0 Sala documental Nivel 3 === */
.sati-doc-room{
  margin:1rem 0 .35rem;
  padding:1rem;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  background:rgba(255,255,255,.07);
}
.sati-doc-room-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.8rem;
}
.sati-doc-room-head h4{margin:.25rem 0 0;color:#fff;font-size:1rem}
.sati-doc-count{
  display:inline-flex;
  padding:.35rem .6rem;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#d7e7ec;
  font-size:.68rem;
  font-weight:800;
  white-space:nowrap;
}
.sati-doc-list{display:grid;gap:.7rem}
.sati-doc-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  padding:.9rem 1rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(5,34,57,.34);
}
.sati-doc-ref{color:#8dd9e8;font-size:.64rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.sati-doc-item h5{margin:.25rem 0 .35rem;color:#fff;font-size:.94rem}
.sati-doc-item p{margin:0 0 .55rem;color:#d2e2e8;font-size:.78rem;line-height:1.45}
.sati-doc-meta{display:flex;gap:.7rem;flex-wrap:wrap;color:#b9ced7;font-size:.67rem}
.sati-doc-meta strong{color:#fff;font-weight:750}
.sati-doc-actions{display:flex;flex-direction:column;align-items:stretch;gap:.45rem;min-width:110px}
.sati-doc-actions .button{justify-content:center;text-align:center;min-height:38px;padding:0 .85rem}
.sati-doc-download{color:#d6edf2!important;text-align:center;font-size:.72rem;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(214,237,242,.28);padding-bottom:.16rem}
.sati-doc-download:hover{color:#fff!important;border-bottom-color:#fff}
.sati-doc-footnote{margin:.8rem 0 0!important;color:#adc5ce!important;font-size:.67rem!important}
.sati-level3-state.empty-docs{background:rgba(255,255,255,.06)}
@media(max-width:720px){
  .sati-doc-room-head{align-items:flex-start;flex-direction:column}
  .sati-doc-item{grid-template-columns:1fr}
  .sati-doc-actions{flex-direction:row;align-items:center;min-width:0}
  .sati-doc-actions .button,.sati-doc-actions .sati-doc-download{flex:1}
}
@media(max-width:460px){
  .sati-doc-actions{flex-direction:column;align-items:stretch}
}

/* === v1.0.0 permisos documentales: solo visualización / ver + descargar === */
.sati-doc-viewonly{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:.42rem .65rem;
  border:1px solid rgba(142,213,228,.28);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#d6edf2;
  text-align:center;
  font-size:.68rem;
  font-weight:800;
  line-height:1.2;
}

@media(max-width:720px){
  .sati-doc-viewonly{flex:1}
}
