/* Marca original del grupo e instalación PWA. Complementa app.css sin cambiar
   los formularios ni los textos de participantes de versiones anteriores. */
.brand-mark.brand-logo{background:#fff;padding:4px;letter-spacing:normal;overflow:hidden}
.brand-logo img{width:100%;height:100%;object-fit:contain;display:block}
.login-panel .brand-logo{width:72px;height:72px;padding:7px;border:1px solid #e0e7e1;border-radius:16px}
.sidebar .brand-logo{width:48px;height:48px;padding:4px}
.brand-mark.brand-logo-dark{background:#000}
.login-story{height:100dvh;min-height:660px;padding:40px 38px 0;justify-content:flex-start;overflow:hidden}
.login-story .eyebrow{margin-bottom:22px}
.login-story h1{font-size:clamp(1.9rem,2.7vw,2.8rem);letter-spacing:-1px;margin-bottom:12px}
.login-story>p{margin-bottom:0}
.group-photo{margin:20px 0 0;flex:1;min-height:0;width:100%}
.group-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.login-story .story-line,.login-story .story-small{display:none}
.sidebar-photo{margin:18px 0;flex:1;min-height:0;max-height:190px;width:100%}
.sidebar-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.topbar-actions{display:flex;gap:9px;align-items:center;flex-shrink:0}
[data-install-app]{white-space:nowrap}
.login-panel [data-install-app]{margin-top:15px}
.pwa-help-content{padding:27px}.pwa-help-content p{line-height:1.7}.pwa-help-content button{margin-top:5px}
#pwa-connection{position:sticky;top:0;z-index:60;padding:12px 20px;text-align:center;background:#fff0d7;color:#704c10;font-size:.88rem;border-bottom:1px solid #e8d6b2}
@media(max-width:760px){.topbar{flex-wrap:wrap}.topbar-actions{gap:7px}.topbar-actions button{font-size:.78rem;padding:9px 11px}.login-panel .brand-logo{display:grid;width:62px;height:62px;margin-bottom:18px}.sidebar .brand-logo{width:44px;height:44px}.pwa-help-content{padding:23px}.login-story{height:auto;min-height:0;padding:24px 24px 0}.login-story .eyebrow{margin-bottom:13px}.login-story h1{font-size:1.8rem}.group-photo{height:240px;flex:none;margin-top:15px}.sidebar-photo{display:none}}


/* ENCUADRE_GRUPO_1_2_3
 * El SVG muestra sólo el rectángulo de personas del archivo original.
 * La parte superior con los aros queda siempre fuera del encuadre.
 * Foto y formulario ocupan áreas separadas, sin superponer controles.
 * En móvil se muestran en orden vertical. No se retocan personas.
 */
.login-wrap{
 position:relative;
 isolation:isolate;
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(360px,460px);
 gap:0;
 overflow:hidden;
 background:#f5f5f0;
 min-height:100svh;
}
.login-wrap::before,
.login-wrap::after{
 content:none;
 display:none;
 animation:none;
}
.login-wrap .login-story{
 background:linear-gradient(150deg,#183b38,#102d2b);
 height:auto;
 min-height:100svh;
 padding:24px 26px 12px;
 justify-content:center;
 overflow:hidden;
}
.login-wrap .login-story .eyebrow{
 color:#d8eea7;
 margin-bottom:10px;
}
.login-wrap .login-story h1{
 font-size:clamp(1.8rem,2.7vw,2.4rem);
 line-height:1.12;
 letter-spacing:-.7px;
 margin-bottom:8px;
 text-shadow:none;
}
.login-wrap .login-story>p{
 color:#d5e4df;
 margin-bottom:0;
}
.login-wrap .group-photo{
 display:flex;
 flex:0 1 auto;
 min-height:0;
 align-items:center;
 justify-content:center;
 margin:18px 0 0;
 width:100%;
 background:transparent;
}
.login-wrap .group-photo svg{
 display:block;
 width:100%;
 height:auto;
 max-height:calc(100svh - 190px);
 overflow:hidden;
 border-radius:12px;
 animation:central-grupo-encuadre 30s ease-in-out infinite alternate;
}
.login-wrap .login-panel{
 width:calc(100% - 36px);
 max-width:420px;
 padding:28px;
 margin:24px 18px;
 justify-self:center;
 align-self:center;
 background:#fff;
 border:1px solid #e0e7e1;
 border-radius:22px;
 box-shadow:0 14px 40px rgba(24,59,56,.09);
}
.sidebar-photo{display:none}
@keyframes central-grupo-encuadre{
 from{transform:translateY(0)}
 to{transform:translateY(-3px)}
}
@media(max-width:760px){
 .login-wrap{grid-template-columns:1fr}
 .login-wrap .login-story{
   min-height:0;
   padding:20px 16px 16px;
   justify-content:flex-start;
 }
 .login-wrap .login-story .eyebrow{
   margin-bottom:10px;
   font-size:.6rem;
 }
 .login-wrap .login-story h1{
   font-size:1.55rem;
   margin-bottom:7px;
 }
 .login-wrap .login-story>p{font-size:.82rem}
 .login-wrap .group-photo{
   margin-top:12px;
   flex:none;
   height:auto;
 }
 .login-wrap .group-photo svg{
   max-height:none;
   height:auto;
   border-radius:10px;
 }
 .login-wrap .login-panel{
   width:calc(100% - 32px);
   max-width:480px;
   margin:16px 16px 26px;
   padding:25px;
 }
}
@media(prefers-reduced-motion:reduce){
 .login-wrap .group-photo svg{animation:none}
}
