html,body{width:100%;min-height:100%;overflow-x:clip}body{font-family:var(--fontBody);color:#444;background:#eef3ff;min-height:100dvh;margin:0}[hidden]{display:none!important}:root{--primario:#5578c9;--colorH2:#5578c9;--colorH3:#5578c9;--fondoSuperior:#eef3ff;--fondoInferior:#f7faff;--logoSize:100px;--logoWidthPct:46;--logoTitleGap:40px;--fontBody:"Nunito", sans-serif;--fontH1:"Segoe UI", sans-serif;--fontH2:"Poppins", sans-serif;--fontH3:"Poppins", sans-serif;--fontScaleTitle:1;--fontScaleBody:1}body.theme-loading .app{visibility:hidden}a,button,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--primario);outline-offset:2px}.app{background:var(--fondoSuperior);box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;min-height:100dvh;margin:0;display:flex}.hero{text-align:center;background:var(--fondoSuperior);padding:30px 15px}.logo-wrap{width:min(var(--logoSize), calc(100vw - 40px));max-width:100%;margin:0 auto var(--logoTitleGap,40px);justify-content:center;align-items:center;display:flex;overflow:visible}.app[data-logo-mode=pct] .logo-wrap{width:calc(var(--logoWidthPct) * 1%);min-width:180px;max-width:520px}.logo-wrap img{object-fit:contain;width:100%;height:auto;max-height:min(46vh,420px);display:block}.logo-svg-themed{width:100%;height:auto;color:var(--primario);justify-content:center;align-items:center;display:flex}.logo-svg-themed.invert{color:var(--fondoSuperior);aspect-ratio:1;background:0 0;width:auto;height:min(100%,100% - 8px);margin:0 auto;position:relative}.logo-svg-themed.invert:before{content:"";background:var(--primario);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primario) 75%, #000 25%);border-radius:999px;position:absolute;inset:0}.logo-svg-themed svg{fill:currentColor;stroke:currentColor;width:100%;height:auto;max-height:min(46vh,420px);display:block}.logo-svg-themed.invert svg{z-index:1;width:72%;height:72%;position:relative}.logo-svg-themed svg [fill=none]{fill:none!important}.logo-svg-themed svg [stroke=none]{stroke:none!important}.logo-svg-themed svg [fill]:not([fill=none]){fill:currentColor!important}.logo-svg-themed svg [stroke]:not([stroke=none]){stroke:currentColor!important}.logo-fallback{background:color-mix(in srgb, var(--primario) 25%, white);width:96px;height:96px;color:var(--primario);border-radius:999px;justify-content:center;align-items:center;font-size:2rem;font-weight:700;display:inline-flex}.title{font-family:var(--fontH1);color:var(--primario);letter-spacing:.04em;font-size:calc(1.85rem * var(--fontScaleTitle));text-transform:uppercase;margin:0;font-weight:500}.subtitle{font-family:var(--fontH2);color:var(--colorH2);font-size:calc(1.9rem * var(--fontScaleTitle));letter-spacing:.03em;text-transform:uppercase;margin:10px 0 0;font-weight:700}.wave{background:var(--fondoInferior);height:88px;position:relative;overflow:hidden}.wave svg{width:100%;height:100%;display:block}.actions{background:var(--fondoInferior);flex-direction:column;flex:1;align-items:center;gap:0;padding:18px 18px 26px;display:flex}.actions-box{border:none;border-radius:2px;flex-direction:column;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.btn{font-family:var(--fontH3);background:var(--primario);color:#fff;letter-spacing:.02em;width:min(100%,250px);min-height:42px;font-weight:700;font-size:calc(1rem * var(--fontScaleBody));text-transform:uppercase;border:none;border-radius:999px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;box-shadow:0 4px 10px #0000001f}.footer{font-family:var(--fontH3);background:var(--primario);color:#fff;min-height:36px;font-size:calc(1.08rem * var(--fontScaleBody));flex-shrink:0;justify-content:center;align-items:center;margin-top:auto;padding:8px 12px;font-weight:700;display:flex}.footer small{opacity:.98;line-height:1.2;display:block}.msg{font-family:var(--fontH3);color:var(--primario);letter-spacing:.01em;text-align:center;background:color-mix(in srgb, var(--primario) 10%, white);border:1px solid color-mix(in srgb, var(--primario) 28%, white);border-radius:14px;max-width:min(92vw,420px);margin-top:8px;padding:12px 14px;font-size:.96rem;font-weight:600}.login-card{font-family:var(--fontH3);border:1px solid color-mix(in srgb, var(--primario) 28%, white);text-align:center;background:#fff;border-radius:16px;flex-direction:column;gap:10px;width:min(92vw,380px);padding:18px 16px;display:flex;box-shadow:0 4px 14px #00000014}.login-title{color:var(--primario);margin:0;font-size:1.05rem;font-weight:700}.login-sub{color:#6b7280;margin:0;font-size:.85rem;font-weight:600}.login-input{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--primario) 30%, #dbe2ee);width:100%;font:inherit;border-radius:12px;padding:11px 12px;font-size:.9rem}.login-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin:0;padding:8px 10px;font-size:.82rem;font-weight:600}.login-btn{font-family:var(--fontH3);background:var(--primario);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.02em;border:none;border-radius:999px;width:100%;min-height:44px;font-size:.95rem;font-weight:700}button.btn{cursor:pointer}.login-btn:disabled{opacity:.7;cursor:default}.login-google{border:1px solid color-mix(in srgb, var(--primario) 35%, #dbe2ee);width:100%;min-height:44px;color:var(--primario);font:inherit;cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-size:.88rem;font-weight:700;display:inline-flex}.login-google:disabled{opacity:.7;cursor:default}.login-links{justify-content:center;gap:6px;font-size:.82rem;display:flex}.login-links a{color:var(--primario);font-weight:700;text-decoration:none}@media (width<=720px){.app{width:100vw;max-width:100vw}}
