@font-face{font-family:Josefin;src:url('/assets/josefin-sans-400.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:dark;background:#08131f;color:#e9f0f5;font-family:Arial,sans-serif}
body.presentation-login{min-height:100dvh;background:radial-gradient(ellipse at 80% 8%,#173e454d,transparent 55%),#08131f}
.presentation-login>main{max-width:680px;padding:36px 28px 60px}
.presentation-login header{border-color:#294453;margin-bottom:44px;padding-bottom:28px;align-items:center}
.presentation-login header .brand-link{background:transparent;padding:0;border-radius:0;width:205px;max-width:60%}
.presentation-login header span{color:#84c9c4;font-size:11px;letter-spacing:2px;text-transform:uppercase}
.presentation-login h1{font-family:Josefin,Arial,sans-serif;font-size:40px;font-weight:400;line-height:1.2;color:#e9f0f5;letter-spacing:-1px}
.presentation-login h2{font-family:Josefin,Arial,sans-serif;font-weight:400;font-size:26px;color:#b2efe3}
.presentation-login h3{color:#e9f0f5}
.presentation-login .intro,.presentation-login .note,.presentation-login footer{color:#a9bac9;line-height:1.8}
.presentation-login section{background:linear-gradient(140deg,#142638,#0d1b29);border:1px solid #294653;border-radius:14px;box-shadow:0 18px 60px #0003;padding:30px}
.presentation-login label{color:#d4e1e9;font-weight:400}
.presentation-login input,.presentation-login textarea{background:#0a1825;border-color:#385364;color:#edf6fa;border-radius:8px;min-height:48px}
.presentation-login input::placeholder,.presentation-login textarea::placeholder{color:#8b9eae}
.presentation-login input:focus-visible,.presentation-login textarea:focus-visible,.presentation-login button:focus-visible,.presentation-login a:focus-visible{outline:2px solid #7de2d1;outline-offset:3px}
.presentation-login button{background:#8aead6;color:#09252a;border:1px solid #a2f5e7;border-radius:8px;font-size:14px;box-shadow:0 0 25px #60e6c810}
.presentation-login button:hover{background:#b4ffec}
.presentation-login button.secondary{background:transparent;color:#a4efdf;border-color:#365e62;box-shadow:none}
.presentation-login button.secondary:hover{background:#173b40}
.presentation-login .password-toggle{background:transparent;border:0;color:#a9bac9;box-shadow:none;min-height:40px}
.presentation-login .password-toggle:hover{background:#173b40;color:#b2efe3}
.presentation-login .check input{min-height:20px;accent-color:#7de2d1}
.presentation-login #status{background:#153637;color:#b2efe3;border:1px solid #31595e;font-size:14px}
.presentation-login #status.error{background:#39212a;color:#ffc5c5;border-color:#784653}
.presentation-login.session-loading #status{color:#a9bac9;background:transparent;border:0}
.presentation-login .pair-code{background:#153637;color:#b2efe3}
.presentation-login details,.presentation-login li,.presentation-login #legacy-security{border-color:#294453}
.presentation-login summary{color:#a4efdf}
.presentation-login #mfa-qr{background:#fff}
.presentation-login footer{border-top:1px solid #294453;padding-top:22px;font-size:12px}
@media(max-width:520px){.presentation-login>main{padding:25px 20px 40px}.presentation-login section{padding:22px}.presentation-login h1{font-size:32px}.presentation-login header{gap:20px;margin-bottom:32px}.presentation-login header .brand-link{width:180px;padding:0}.presentation-login header span{font-size:10px;letter-spacing:1px}.presentation-login .actions{gap:10px}.presentation-login .actions button{flex:1}}

/* Keep the session-to-dashboard handoff on the loading screen's background. */
body.presentation-login.finance-open{background:#101c2c}
.presentation-login #finance-host,.presentation-login #finance-host iframe{background:#101c2c;color-scheme:dark}
