
/* Ajuste exacto de cabecera y footer público sin tocar el resto del diseño */
html,body{min-height:100%}
body{min-height:100vh;display:flex;flex-direction:column}
body>header,body>footer{flex:0 0 auto}
body>footer{margin-top:auto}
.pubHeader{
  background:rgba(11,18,32,.75)!important;
  background-color:rgba(11,18,32,.75)!important;
  backdrop-filter:saturate(160%) blur(12px)!important;
  -webkit-backdrop-filter:saturate(160%) blur(12px)!important;
  border-bottom:none!important;
}
.pubHeaderRow,.pubHeaderRow .pubHeaderInner{display:grid!important;align-items:center!important}
.pubHeaderRow{
  max-width:1400px!important;
  margin:0 auto!important;
  padding:10px 16px!important;
  box-sizing:border-box!important;
  grid-template-columns:auto 1fr auto!important;
  gap:12px!important;
  position:relative!important;
}
.pubHeaderRow .pubHeaderInner{
  width:auto!important;
  grid-template-columns:auto 1fr!important;
  gap:64px!important;
  padding-right:0!important;
}
.pubHeaderRow .pubBrand,.pubHeaderRow .pubHeaderInner,.pubHeaderRow .pubNav{min-width:0!important}
.pubHeader .pubBrand>div{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important}
.pubHeader .pubBrand .title{display:block!important;color:rgba(255,255,255,.92)!important}
.pubHeader .pubBrand .tag{display:block!important;color:rgba(255,255,255,.72)!important}
.pubHeaderRow .pubNav{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  gap:4px!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
}
.pubHeaderRow .pubNav::-webkit-scrollbar{width:0;height:0}
.pubHeaderRow .pubNav a{
  padding:6px 12px!important;
  font-size:13px!important;
  line-height:1.15!important;
  min-width:auto!important;
  border-radius:999px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:rgba(255,255,255,.70)!important;
  color:var(--text)!important;
  text-decoration:none!important;
}
.pubHeaderRow .pubNav a:hover,.pubHeaderRow .pubNav a:focus{background:rgba(255,255,255,.85)!important;text-decoration:none!important}
.pubHeaderRow .pubActions{
  position:static!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  white-space:nowrap!important;
}
.pubHeader .pubBtn{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.18)!important;
  color:rgba(255,255,255,.92)!important;
}
.pubHeader .pubBtn.primary{
  background:linear-gradient(135deg,#072b67,#0b3d91)!important;
  border-color:#0b3d91!important;
  color:#fff!important;
}
.pubHeader .pubBtn:hover,.pubHeader .pubBtn:focus{background:rgba(255,255,255,.16)!important;color:#fff!important}
.pubHeader .pubBtn.primary:hover,.pubHeader .pubBtn.primary:focus{background:linear-gradient(135deg,#072b67,#072b67)!important;color:#fff!important}
.authPage,.authWrap,main.pubMain{
  max-width:1100px!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:24px!important;
  padding-right:24px!important;
  box-sizing:border-box!important;
}
.authPage{padding-top:24px!important;padding-bottom:0!important}
.authCard{margin-bottom:24px!important}
.ocFooter{margin-top:48px;border-top:1px solid rgba(0,0,0,.08);background:#0b1220;color:#e7eaf0;position:relative;z-index:2;width:100%}
.ocFooter a{color:#e7eaf0;text-decoration:none}.ocFooter a:hover{opacity:.9;text-decoration:underline}
.ocFooter__inner{max-width:1100px;margin:0 auto;padding:40px 18px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.2fr;gap:22px}
.ocFooter__col h4{margin:0 0 12px 0;font-size:14px;letter-spacing:.02em;text-transform:uppercase;color:rgba(231,234,240,.85)}
.ocFooter__col ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ocFooter__brand .ocFooter__logo{font-weight:800;font-size:18px;letter-spacing:.2px}
.ocFooter__tagline{margin:10px 0 14px 0;line-height:1.5;color:rgba(231,234,240,.85)}
.ocFooter__meta{margin:0;color:rgba(231,234,240,.75);font-size:13px}
.ocFooter__contact{gap:10px}
.ocFooter__bottom{border-top:1px solid rgba(231,234,240,.12);max-width:1100px;margin:0 auto;padding:14px 18px 18px 18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ocFooter__small{font-size:12.5px;color:rgba(231,234,240,.75)}
@media (max-width:980px){.ocFooter__inner{grid-template-columns:1fr 1fr}.ocFooter__brand{grid-column:1 / -1}}
@media (max-width:860px){
  .pubHeaderRow,.pubHeaderRow .pubHeaderInner{grid-template-columns:1fr!important;justify-items:center!important;gap:8px!important}
  .pubHeaderRow .pubHeaderInner{text-align:center!important}
  .pubHeaderRow .pubNav{justify-content:flex-start!important;width:100%!important}
  .pubHeaderRow .pubNav a{padding:5px 9px!important;font-size:12px!important}
  .pubHeaderRow .pubActions{justify-self:center!important;flex-wrap:wrap!important}
}
@media (max-width:520px){
  .ocFooter__inner{grid-template-columns:1fr}
  .authPage,.authWrap,main.pubMain{padding-left:16px!important;padding-right:16px!important}
}
.ocFooter,.ocFooter p,.ocFooter span,.ocFooter li,.ocFooter h4,.ocFooter div,.ocFooter a{color:#fff!important}
.ocFooter__col h4,.ocFooter__tagline,.ocFooter__meta,.ocFooter__small{color:#fff!important}
