/*!
 * Hoja de la pantalla de acceso al campus (/inicia-sesion-para-continuar/).
 *
 * Vivía dentro de `includes/authentication/custom-login-form.php`, en un
 * <style> de 900 líneas incrustado en el PHP. Se sacó aquí por dos motivos:
 * el paso de empaquetado de la release minifica los .css del plugin y no puede
 * entrar en el PHP, y un archivo aparte lo cachea el navegador en vez de
 * viajar en cada carga de la página.
 *
 * La página es STANDALONE: no usa get_header()/get_footer(), así que los
 * tokens del sistema «Block Prism» están copiados aquí y no heredados del
 * tema. Si se tocan los del tema, hay que tocarlos también aquí.
 *
 * Los @font-face NO están en este archivo: dependen de dónde estén los .woff2
 * del tema activo, así que los genera `bsa_login_font_faces_css()` en PHP y se
 * añaden con wp_add_inline_style() sobre esta misma hoja.
 */:root{--bcs-midnight:#0A0B2C;--bcs-midnight-2:#11133B;--bcs-midnight-deep:#06071F;--bcs-cyan:#22D3EE;--bcs-indigo:#6366F1;--bcs-violet:#8B5CF6;--bcs-coral:#FF6B5C;--bcs-lavender:#C8C9F2;--bcs-lavender-muted:#8488B8;--gradient-prism:linear-gradient(135deg, #22D3EE 0%, #6366F1 50%, #8B5CF6 100%);--gradient-prism-soft:linear-gradient(135deg, rgba(34,211,238,.18) 0%, rgba(139,92,246,.18) 100%);--glass:rgba(255, 255, 255, .06);--glass-border:rgba(255, 255, 255, .14);--surface:rgba(255, 255, 255, .04);--border:rgba(255, 255, 255, .10);--blur-glass:saturate(140%) blur(18px);--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--shadow-card:0 18px 50px -20px rgba(10, 11, 44, .55);--shadow-glow:0 18px 40px -12px rgba(139, 92, 246, .55),0 6px 18px -6px rgba(34, 211, 238, .35);--shadow-glow-hover:0 22px 48px -14px rgba(139, 92, 246, .70),0 10px 22px -8px rgba(34, 211, 238, .45);--text:#FFFFFF;--text-secondary:var(--bcs-lavender);--text-muted:var(--bcs-lavender-muted);--success:#34D399;--error:var(--bcs-coral);--font-display:'Space Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;--font-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;--ease-prism:cubic-bezier(.16, 1, .3, 1)}*,::after,::before{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-body);background:var(--bcs-midnight);color:var(--text);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}body::before{content:'';position:fixed;inset:-10%;z-index:0;pointer-events:none;background:radial-gradient(760px 520px at 82% 4%,rgba(139,92,246,.34),transparent 62%),radial-gradient(680px 480px at 6% 92%,rgba(34,211,238,.24),transparent 62%),radial-gradient(520px 380px at 48% 52%,rgba(99,102,241,.16),transparent 66%);animation:bsa-drift 22s var(--ease-prism) infinite alternate}body::after{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.055) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 78% 62% at 50% 42%,#000 0%,transparent 78%);mask-image:radial-gradient(ellipse 78% 62% at 50% 42%,#000 0%,transparent 78%)}@keyframes bsa-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-2%,1.5%,0) scale(1.06)}}.login-footer,.login-header,.login-main{position:relative;z-index:1}::selection{background:rgba(34,211,238,.25);color:#fff}.login-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 32px;background:rgba(10,11,44,.55);backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.login-header::after{content:'';position:absolute;inset:auto 0 0;height:1px;background:var(--gradient-prism);opacity:.55}.login-header-brand{display:flex;align-items:center;gap:18px;min-width:0}.login-header-logo{height:38px;width:auto;display:block;transition:opacity 250ms var(--ease-prism)}.login-header-logo:hover{opacity:.82}.login-header-tagline{font-family:var(--font-display);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em;padding-left:18px;border-left:1px solid var(--border);white-space:nowrap}.login-main{flex:1;display:flex;align-items:center;justify-content:center;padding:56px 24px}.login-card-wrapper{display:flex;flex-direction:column;align-items:flex-start;max-width:480px;width:100%}.back-home-link{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px;font-weight:500;text-decoration:none;margin-bottom:16px;padding:6px 12px 6px 10px;border:1px solid transparent;border-radius:999px;transition:color 250ms var(--ease-prism),background 250ms var(--ease-prism),border-color 250ms var(--ease-prism)}.back-home-link:hover{color:var(--text);background:var(--surface);border-color:var(--glass-border)}.back-home-link:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(34,211,238,.18)}.back-home-link svg{width:15px;height:15px;flex-shrink:0;transition:transform 250ms var(--ease-prism)}.back-home-link:hover svg{transform:translateX(-3px)}.login-card{position:relative;width:100%;padding:44px 40px 38px;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-lg);backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);box-shadow:var(--shadow-card)}.login-card::before{content:'';position:absolute;inset:0 0 auto;height:1px;background:var(--gradient-prism);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.login-card-header{text-align:center;margin-bottom:30px}.login-icon{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;margin:0 auto 18px;border-radius:var(--radius-md);background:var(--gradient-prism-soft);border:1px solid var(--glass-border);color:var(--bcs-cyan);box-shadow:0 10px 26px -14px rgba(34,211,238,.8);animation:bsa-float 4.5s ease-in-out infinite}.login-icon svg{width:26px;height:26px}@keyframes bsa-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}.login-title{font-family:var(--font-display);font-size:27px;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--text);margin:0 0 10px}.login-subtitle{font-size:15px;color:var(--text-secondary);line-height:1.5;margin:0}.btn-submit,.btn-wallet{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px 26px;background:var(--gradient-prism);background-size:200% 100%;background-position:0 0;color:#fff;border:1px solid transparent;border-radius:999px;font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.2;text-decoration:none;cursor:pointer;box-shadow:var(--shadow-glow);transition:background-position 450ms var(--ease-prism),transform 250ms var(--ease-prism),box-shadow 250ms var(--ease-prism)}.btn-submit:hover:not(:disabled),.btn-wallet:hover{background-position:100% 0;transform:translateY(-2px);box-shadow:var(--shadow-glow-hover)}.btn-submit:active:not(:disabled),.btn-wallet:active{transform:translateY(0)}.btn-submit:focus-visible,.btn-wallet:focus-visible{outline:0;box-shadow:var(--shadow-glow),0 0 0 3px rgba(34,211,238,.35)}.btn-wallet svg{width:20px;height:20px;flex-shrink:0}.btn-submit{margin-top:4px}.btn-submit:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.divider{display:flex;align-items:center;gap:14px;margin:22px 0;color:var(--text-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.divider::after,.divider::before{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent)}#google-login-container .wp_google_login__button{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:100%!important;padding:14px 24px!important;background:var(--surface)!important;border:1px solid var(--glass-border)!important;border-radius:999px!important;color:var(--text)!important;font-family:var(--font-display)!important;font-size:15px!important;font-weight:600!important;letter-spacing:-.01em!important;text-decoration:none!important;box-shadow:none!important;transition:background 250ms var(--ease-prism),border-color 250ms var(--ease-prism),transform 250ms var(--ease-prism)!important}#google-login-container .wp_google_login__button:hover{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.28)!important;transform:translateY(-2px)}.wp_google_login__google-icon{width:18px!important;height:18px!important;flex-shrink:0!important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23EA4335' d='M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z'/%3E%3Cpath fill='%234285F4' d='M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z'/%3E%3Cpath fill='%23FBBC05' d='M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z'/%3E%3Cpath fill='%2334A853' d='M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z'/%3E%3C/svg%3E") no-repeat 50%!important;background-size:contain!important}.error-message{display:flex;align-items:flex-start;gap:10px;background:rgba(255,107,92,.1);border:1px solid rgba(255,107,92,.32);border-radius:var(--radius-sm);padding:12px 16px;color:#ffc6bf;font-size:14px;line-height:1.45;margin-bottom:20px}.error-message svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:var(--error)}.login-form{margin-top:4px}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.input-field{width:100%;padding:14px 16px;background:var(--surface);border:1px solid var(--glass-border);border-radius:12px;color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.4;transition:border-color .2s var(--ease-prism),background .2s var(--ease-prism),box-shadow .2s var(--ease-prism)}.input-field:hover{border-color:rgba(255,255,255,.24)}.input-field:focus{outline:0;border-color:var(--bcs-cyan);background:rgba(34,211,238,.06);box-shadow:0 0 0 3px rgba(34,211,238,.18)}.input-field::placeholder{color:var(--text-muted)}.input-field:-webkit-autofill,.input-field:-webkit-autofill:focus,.input-field:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--bcs-midnight-2) inset;caret-color:var(--text)}.password-wrapper{position:relative}.password-wrapper .input-field{padding-right:52px}#toggle-password{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:999px;padding:0;cursor:pointer;color:var(--text-muted);transition:color .2s var(--ease-prism),background .2s var(--ease-prism)}#toggle-password:hover{color:var(--text);background:rgba(255,255,255,.08)}#toggle-password:focus-visible{outline:0;color:var(--text);box-shadow:0 0 0 3px rgba(34,211,238,.18)}#toggle-password svg{width:19px;height:19px}.form-group.checkbox{margin-bottom:22px}.form-group.checkbox label{display:flex;align-items:center;gap:10px;cursor:pointer;margin:0;font-size:14px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-secondary)}.form-group.checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;flex-shrink:0;background:var(--surface);border:1px solid var(--glass-border);border-radius:6px;cursor:pointer;transition:background .2s var(--ease-prism),border-color .2s var(--ease-prism),box-shadow .2s var(--ease-prism)}.form-group.checkbox input[type=checkbox]:hover{border-color:rgba(255,255,255,.3)}.form-group.checkbox input[type=checkbox]:checked{border-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"),var(--gradient-prism);background-repeat:no-repeat,no-repeat;background-position:50% 50%,0 0;background-size:12px 12px,cover;box-shadow:0 5px 14px -7px rgba(139,92,246,.95)}.form-group.checkbox input[type=checkbox]:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(34,211,238,.28)}#login-spinner{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;color:var(--text-secondary);font-size:13px}.spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.18);border-top-color:var(--bcs-cyan);border-radius:50%;animation:bsa-spin 1s linear infinite}@keyframes bsa-spin{to{transform:rotate(360deg)}}.forgot-password{text-align:center;margin:20px 0 0}.forgot-password a{color:var(--text-muted);font-size:14px;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s var(--ease-prism),border-color .2s var(--ease-prism)}.forgot-password a:hover{color:var(--bcs-cyan);border-bottom-color:rgba(34,211,238,.5)}.forgot-password a:focus-visible{outline:0;color:var(--bcs-cyan);box-shadow:0 0 0 3px rgba(34,211,238,.18);border-radius:4px}.security-badge{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:26px;padding-top:22px;border-top:1px solid var(--border);color:var(--text-muted);font-size:13px;font-weight:500}.security-badge svg{width:17px;height:17px;color:var(--success);flex-shrink:0}.login-footer{padding:28px 24px 34px;text-align:center;border-top:1px solid var(--border);background:rgba(6,7,31,.35)}.login-footer p{color:var(--text-muted);font-size:13px;margin:0 0 14px}.login-footer-links{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.login-footer-links a{color:var(--text-secondary);font-size:13px;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s var(--ease-prism),border-color .2s var(--ease-prism)}.login-footer-links a:hover{color:var(--bcs-cyan);border-bottom-color:rgba(34,211,238,.5)}.login-footer-links a:focus-visible{outline:0;color:var(--bcs-cyan);box-shadow:0 0 0 3px rgba(34,211,238,.18);border-radius:4px}.login-footer-separator{width:1px;height:14px;background:var(--border);display:none}@media (min-width:640px){.login-footer-separator{display:block}}.language-selector{display:inline-flex;align-items:center;gap:2px;padding:3px;background:var(--surface);border:1px solid var(--glass-border);border-radius:999px;backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass)}.language-option{appearance:none;-webkit-appearance:none;background:transparent;border:none;border-radius:999px;padding:6px 14px;margin:0;color:var(--text-muted);font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.08em;line-height:1;cursor:pointer;transition:color .2s var(--ease-prism),background .2s var(--ease-prism)}.language-option:hover{color:var(--text);background:rgba(255,255,255,.08)}.language-option:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(34,211,238,.28)}.language-option.is-active{color:#fff;background:var(--gradient-prism);background-size:200% 100%;background-position:0 0;box-shadow:0 6px 16px -8px rgba(139,92,246,.9)}.language-option.is-active:hover{background-position:100% 0}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bcs-midnight-deep)}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:999px;border:2px solid var(--bcs-midnight-deep)}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.26)}@media (max-width:640px){.login-header{padding:14px 20px}.login-header-logo{height:32px}.login-header-tagline{display:none}.login-main{padding:32px 16px 40px}.login-card{padding:32px 22px 28px}.login-title{font-size:23px}.login-subtitle{font-size:14px}.back-home-link{font-size:12px;margin-bottom:12px}.login-footer{padding:24px 18px 30px}}@media (max-width:400px){.login-card{padding:28px 18px 24px}.login-icon{width:50px;height:50px}.login-title{font-size:21px}#google-login-container .wp_google_login__button,.btn-submit,.btn-wallet{font-size:14px!important;padding-left:16px!important;padding-right:16px!important}.language-option{padding:6px 11px}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:NaNs!important;animation-iteration-count:1!important;transition-duration:NaNs!important;scroll-behavior:auto!important}#google-login-container .wp_google_login__button:hover,.back-home-link:hover svg,.btn-submit:hover:not(:disabled),.btn-wallet:hover{transform:none}}