/* e-spacios - Magic link login v1 (teal CTA like Promotion) */
.magiclink .mlBox{max-width:460px;margin:40px auto;padding:25px 30px;border:1px solid #ddd;background:#fff;border-radius:3px;text-align:left;box-sizing:border-box;height:auto !important}
.magiclink .mlBox h2{margin:0 0 10px;color:#33aa88;font-size:20px}
.magiclink .mlIntro,.magiclink .mlBox p{color:#555;font-size:13px;line-height:19px}
.magiclink .mlBox label{display:block;margin:15px 0 5px;font-weight:bold;color:#444;font-size:13px}
.magiclink .mlBox input[type=email]{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #bbb;border-radius:3px;font-size:14px}
.magiclink .mlButton{height:auto !important;line-height:18px !important;box-sizing:border-box;display:inline-block;margin-top:14px;padding:9px 16px;background:#33aa88 !important;color:#fff !important;border:0;border-radius:3px;font-weight:bold;font-size:14px;cursor:pointer;text-decoration:none}
.magiclink .mlButton:hover{background:#2b9476 !important}
.magiclink .mlFallback{margin-top:18px;font-size:12px}
.magiclink .mlFallback a{color:#33aa88}
.magiclink .mlMessage{margin:10px 0;padding:8px 10px;background:#FDF1F1;border:1px solid #e3a3a3;color:#a33;border-radius:3px;font-size:13px}
.magiclink .mlIcon{font-size:42px;color:#33aa88;line-height:1}
.magiclink .mlSmall{color:#888 !important;font-size:12px !important}
.magiclink .mlSent,.magiclink .mlError{display:none}
.magiclink.ml_sent .mlForm,.magiclink.ml_error .mlForm{display:none}
.magiclink.ml_sent .mlSent,.magiclink.ml_error .mlError{display:block}
.loginForm .recovery-text .mlAlt{display:block;margin-top:6px}
/* login modal (Magic link v1). --s = scale for zoomed-out phone layouts */
.mlModal{display:none;position:fixed;left:0;top:0;right:0;bottom:0;z-index:100000;--s:1;text-align:left}
.mlModal.mlOpen{display:block}
.mlModal .mlBackdrop{position:absolute;left:0;top:0;right:0;bottom:0;background:rgba(0,0,0,.55)}
.mlModal .mlDialog{position:relative;box-sizing:border-box;width:92%;max-width:440px;max-width:calc(440px * var(--s));margin:60px auto 0;margin-top:calc(60px * var(--s));padding:22px 24px;padding:calc(22px * var(--s)) calc(24px * var(--s));background:#fff;border-radius:4px;box-shadow:0 6px 30px rgba(0,0,0,.35);font-size:14px;font-size:calc(14px * var(--s));line-height:1.4;color:#555;max-height:85%;overflow:auto}
.mlModal h2{margin:0 0 .6em;color:#33aa88;font-size:1.45em;line-height:1.2;text-transform:none}
.mlModal p{margin:.5em 0;font-size:1em;line-height:1.4;color:#555}
.mlModal label{display:block;margin:.9em 0 .3em;font-weight:bold;color:#444;font-size:.95em}
.mlModal input[type=email],.mlModal input[type=password]{display:block;width:100%;height:auto;box-sizing:border-box;margin:0;padding:.6em .7em;border:1px solid #bbb;border-radius:3px;background:#fff;font-size:1.05em;color:#333}
.mlModal .mlSubmit{display:block;width:100%;height:auto;box-sizing:border-box;margin-top:1em;padding:.7em 1em;border:0;border-radius:3px;background:#33aa88;color:#fff;font-weight:bold;font-size:1.05em;line-height:1.2;cursor:pointer;-webkit-appearance:none}
.mlModal .mlSubmit:hover{background:#2b9476}
.mlModal .mlLinks{margin-top:1.1em;font-size:.9em}
.mlModal .mlLinks a{color:#33aa88}
.mlModal .mlClose{position:absolute;right:.5em;top:.2em;font-size:1.9em;line-height:1;color:#999;text-decoration:none}
.mlModal .mlPane_password{display:none}
.mlModal .mlPane,.mlModal .mlPane form{font-size:inherit !important;line-height:inherit}
.mlModal .mlLinks a{font-size:inherit !important}
/* standalone /app/magiclink pages on phones (page has a device-width viewport) */
@media (max-width:600px){
 .magiclink .mlBox{width:92%;margin:20px auto;padding:20px}
 .magiclink .mlBox h2{font-size:22px}
 .magiclink .mlIntro,.magiclink .mlBox p,.magiclink .mlFallback a{font-size:15px !important;line-height:21px}
 .magiclink .mlBox input[type=email]{font-size:16px;padding:11px}
 .magiclink .mlButton{width:100%;font-size:16px;padding:12px}
 #_page.magiclink,.magiclink .mainwrap,.magiclink header{width:auto !important;min-width:0 !important;max-width:100% !important;margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important;overflow:hidden;float:none !important}
 .magiclink article.mlBox{float:none !important;position:static !important}
}
/* 22 Oct 2026 simplify (PSI): phones get a 56px bar with the horizontal wordmark, no overlapping desktop header (design review item 1) */
.mlAppbar{display:none}
@media (max-width:600px){
 .magiclink header{display:none !important}
 .magiclink .mlAppbar{display:flex;align-items:center;justify-content:center;height:56px;border-bottom:1px solid #CCC;background:#FFF}
 .magiclink .mlAppbar img{height:28px;width:auto;min-width:140px;display:block}
}
