@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');
:root{--navy:#11105c;--purple:#241383;--green:#04a84f;--blue:#0875e5;--pink:#fa356c;--gold:#ffb400;--muted:#62658a;--line:#dedfeb}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Nunito,Arial,sans-serif;color:var(--navy)}body{background:#fff}.login-page{min-height:100vh}.login-header{height:96px;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ededf4;background:#fff;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:28px;text-decoration:none;color:var(--navy)}.brand-mark{font-size:29px;font-style:italic;font-weight:900;line-height:.8;letter-spacing:1px;background:linear-gradient(100deg,#03a552 15%,#ffb400 35%,#fb346f 54%,#0a76df 72%,#05a34a 90%);-webkit-background-clip:text;color:transparent;transform:rotate(-3deg)}.brand-mark i{display:inline-block;width:11px;height:5px;background:#09a44e;border-radius:6px;margin:0 4px;transform:rotate(25deg)}.brand-copy{font-size:12px;font-weight:900;line-height:1.5;letter-spacing:.03em}.back-home{display:flex;align-items:center;gap:8px;color:var(--navy);font-size:13px;font-weight:800;text-decoration:none}.back-home span{transition:transform .2s}.back-home:hover span{transform:translateX(-4px)}.login-main{min-height:calc(100vh - 96px);display:grid;grid-template-columns:minmax(420px,46%) minmax(520px,54%)}.form-panel{display:grid;place-items:center;padding:50px clamp(35px,7vw,110px);background:#fff}.form-wrap{width:min(100%,440px)}.eyebrow{margin:0 0 14px;color:var(--green);font-size:12px;font-weight:900;letter-spacing:.16em}.form-wrap h1{margin:0;font-size:44px;line-height:1.12;letter-spacing:-1.3px}.intro{margin:15px 0 29px;color:var(--muted);font-size:14px;line-height:1.75}.notice{margin-bottom:18px;padding:12px 14px;border-radius:9px;font-size:13px}.notice p{margin:0}.notice p+p{margin-top:5px}.notice.success{color:#06743a;background:#e8f8ef;border:1px solid #c1ead2}.notice.error{color:#a7193d;background:#fff0f3;border:1px solid #ffd2dc}.form-wrap form{display:grid;gap:10px}.form-wrap label,.password-label{font-size:12px;font-weight:800}.password-label{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.password-label a{color:var(--purple);text-decoration:none}.password-label a:hover{text-decoration:underline}.input-wrap{position:relative;height:52px;margin-bottom:8px;display:flex;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff;transition:border-color .2s,box-shadow .2s}.input-wrap:focus-within{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green),0 0 0 3px #04a84f16}.input-icon{width:46px;text-align:center;color:#8a8ca5;font-size:14px}.input-wrap input{height:100%;min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--navy);font:600 14px Nunito}.input-wrap input::placeholder{color:#a2a3b5}.show-password{width:46px;height:100%;border:0;background:transparent;color:#888aa3;cursor:pointer}.remember{width:max-content;display:flex;align-items:center;gap:9px!important;color:#55587b;font-weight:600!important;cursor:pointer}.remember input{width:17px;height:17px;margin:0;accent-color:var(--green)}.submit{height:52px;margin-top:12px;padding:0 19px;display:flex;align-items:center;justify-content:center;gap:15px;border:0;border-radius:9px;background:linear-gradient(135deg,#069a49,#0abf60);color:#fff;font:800 14px Nunito;cursor:pointer;box-shadow:0 9px 20px #04a84f2a;transition:transform .2s,box-shadow .2s}.submit b{font-size:20px;transition:transform .2s}.submit:hover{transform:translateY(-2px);box-shadow:0 13px 25px #04a84f36}.submit:hover b{transform:translateX(4px)}.security-note{display:flex;gap:9px;margin:18px 0 0;color:#686a87;font-size:11px;line-height:1.6}.security-note span{width:18px;height:18px;flex:0 0 18px;display:grid;place-items:center;border-radius:50%;background:#e2f6e9;color:var(--green);font-weight:900}.signup{margin-top:27px;padding-top:22px;border-top:1px solid #ececf2;text-align:center;color:#676985;font-size:13px}.signup a{color:var(--purple);font-weight:900;text-decoration:none}.visual-panel{position:relative;overflow:hidden;background:linear-gradient(145deg,#f7f7ff 0%,#f1f6ff 54%,#eaf8f0 100%)}.visual-panel:before{content:"";position:absolute;right:-140px;bottom:-190px;width:560px;height:560px;border-radius:50%;background:#04a84f0c}.blue-orb{position:absolute;width:470px;height:470px;right:7%;top:15%;border-radius:50%;background:linear-gradient(135deg,#0861c8,#0781ec);animation:orb-breathe 7s ease-in-out infinite}.visual-copy{position:absolute;top:9%;left:8%;z-index:3}.visual-copy p{margin:0;color:var(--green);font-size:11px;font-weight:900;letter-spacing:.15em}.visual-copy h2{margin:10px 0;font-size:30px;line-height:1.25}.visual-copy h2 span{color:var(--green)}.proposal-card{position:absolute;z-index:4;left:11%;top:27%;width:360px;height:455px;padding:78px 38px 30px;overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 22px 42px #17156b2b;transform:rotate(3.5deg);animation:proposal-float 6s ease-in-out infinite}.proposal-wave{position:absolute;top:-27px;left:-8px;width:400px;height:87px;border-radius:45% 5% 45% 60%;background:linear-gradient(165deg,#05a64f 0 33%,#0079d6 34% 64%,#0866cc 65%)}.proposal-card small{color:var(--green);font-size:8px;font-weight:900}.proposal-card h3{margin:13px 0 32px;font-size:26px;line-height:1.16}.proposal-card h3 span,.proposal-card strong{color:var(--green)}.proposal-card p{margin:0 0 5px;color:#767895;font-size:9px;font-weight:700}.proposal-card b{font-size:12px}.proposal-card hr{margin:25px 0;border:0;border-top:1px solid #d9dce8}.proposal-card strong{font-size:25px}.proposal-card footer{position:absolute;left:-10px;right:-10px;bottom:-22px;height:75px;border-radius:50% 55% 0 0;background:linear-gradient(170deg,#08ae54 0 35%,#13106c 36% 73%,#04a44d 74%)}.signature-card{position:absolute;z-index:7;right:6%;bottom:8%;width:290px;height:325px;padding:20px;border-radius:16px;background:#fff;box-shadow:0 18px 35px #0b0a5528;transform:rotate(3.5deg);animation:signature-float 5s ease-in-out .5s infinite}.signature-head{display:flex;gap:8px;align-items:center;font-size:13px}.signature-head span{color:var(--green)}.signature-card>p{margin:14px 10px;color:#686a87;font-size:9px;line-height:1.6}.signature-tabs{height:34px;display:flex;align-items:center;justify-content:space-around;border-radius:7px;background:#f3f4f8;font-size:9px}.signature-tabs b{padding:7px 34px;border-radius:5px;background:#fff}.signature-name{height:90px;margin-top:7px;display:grid;place-items:center;border:1px solid #d9ddeb;border-radius:7px;color:#111;font:27px cursive}.signature-card button{width:100%;margin-top:13px;padding:12px;border:0;border-radius:7px;background:linear-gradient(135deg,#08a44f,#08bc59);color:#fff;font-size:10px;font-weight:800}.trust-pill{position:absolute;z-index:9;left:8%;bottom:7%;display:flex;align-items:center;gap:10px;padding:11px 15px;border:1px solid #fff;border-radius:10px;background:#ffffffeb;box-shadow:0 10px 25px #11105c17}.trust-pill>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#e2f6e9;color:var(--green);font-weight:900}.trust-pill div{display:flex;flex-direction:column}.trust-pill b{font-size:10px}.trust-pill small{margin-top:2px;color:#777995;font-size:8px}.dot{position:absolute;z-index:2;width:8px;height:8px;border-radius:50%;animation:dot-drift 3.5s ease-in-out infinite alternate}.dot-one{right:5%;top:13%;background:var(--pink)}.dot-two{left:6%;top:27%;background:var(--gold);animation-delay:.6s}.dot-three{right:3%;bottom:22%;background:var(--green);animation-delay:1.2s}@keyframes proposal-float{0%,100%{transform:rotate(3.5deg) translateY(0)}50%{transform:rotate(3.5deg) translateY(-8px)}}@keyframes signature-float{0%,100%{transform:rotate(3.5deg) translateY(0)}50%{transform:rotate(3.5deg) translateY(-11px)}}@keyframes orb-breathe{50%{transform:scale(1.025);filter:saturate(1.12)}}@keyframes dot-drift{from{transform:translateY(-4px)}to{transform:translateY(6px) rotate(25deg)}}
@media(max-width:1050px){.login-main{grid-template-columns:1fr}.form-panel{min-height:calc(100vh - 96px)}.visual-panel{display:none}}
@media(max-width:600px){.login-header{height:78px;padding:0 18px}.brand{gap:10px}.brand-mark{font-size:23px}.brand-copy{display:none}.back-home{font-size:12px}.login-main{min-height:calc(100vh - 78px)}.form-panel{padding:38px 20px}.form-wrap h1{font-size:38px}.intro{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.proposal-card,.signature-card,.blue-orb,.dot{animation:none}.submit,.submit b,.back-home span{transition:none}}

/* Verification-code screen */
.verification-wrap h1{max-width:430px;font-size:39px}.verification-icon{position:relative;width:58px;height:58px;margin-bottom:22px;display:grid;place-items:center;border-radius:16px;background:#e4f7ec;color:var(--green);font-size:24px;transform:rotate(-3deg)}.verification-icon i{position:absolute;right:-7px;bottom:-7px;width:23px;height:23px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:var(--green);color:#fff;font:900 10px Nunito}.code-field{height:66px;margin-top:2px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;transition:border-color .2s,box-shadow .2s}.code-field:focus-within{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green),0 0 0 3px #04a84f16}.code-field input{width:100%;height:100%;padding:0 18px;border:0;outline:0;background:transparent;color:var(--navy);font:900 27px Nunito;letter-spacing:.58em;text-align:center;text-indent:.58em}.code-help{margin:0 0 3px!important;color:#797b96;font-size:10px!important}.code-help span{margin-right:6px;color:var(--green);font-size:7px}.verification-visual{background:linear-gradient(145deg,#f7f7ff,#f1f6ff 52%,#eaf8f0)}.mail-card{position:absolute;z-index:5;left:14%;top:28%;width:390px;height:420px;padding:28px 34px;overflow:hidden;border-radius:17px;background:#fff;box-shadow:0 22px 42px #17156b2b;transform:rotate(-2.5deg);animation:mail-float 6s ease-in-out infinite}.mail-top{display:flex;align-items:center;justify-content:space-between}.mail-top span{color:var(--navy);font-size:10px;font-weight:900;letter-spacing:.12em}.mail-top i{padding:6px 9px;border-radius:12px;background:#e3efff;color:var(--blue);font:900 7px Nunito}.mail-icon{position:relative;width:76px;height:76px;margin:44px auto 26px;display:grid;place-items:center;border-radius:22px;background:#e2f6e9;color:var(--green);font-size:31px;transform:rotate(-4deg)}.mail-icon b{position:absolute;right:-8px;bottom:-8px;width:27px;height:27px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:var(--green);color:#fff;font-size:11px}.mail-card>p{text-align:center;color:#656887;font-size:9px;font-weight:900;letter-spacing:.13em}.mail-code{display:flex;justify-content:center;gap:8px;margin:15px 0}.mail-code span{width:39px;height:48px;display:grid;place-items:center;border:1px solid #dcddea;border-radius:8px;background:#fafaff;color:var(--navy);font-size:20px;font-weight:900}.mail-card>small{display:block;text-align:center;color:#8b8da5;font-size:8px}.mail-card footer{position:absolute;left:-10px;right:-10px;bottom:-28px;height:80px;border-radius:50% 55% 0 0;background:linear-gradient(170deg,#08ae54 0 35%,#13106c 36% 73%,#04a44d 74%)}.verified-card{position:absolute;z-index:8;right:9%;top:43%;display:flex;align-items:center;gap:11px;padding:15px 18px;border-radius:12px;background:#fff;box-shadow:0 16px 30px #11105c20;animation:verified-float 4.8s ease-in-out .4s infinite}.verified-card>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e2f6e9;color:var(--green);font-weight:900}.verified-card div{display:flex;flex-direction:column}.verified-card b{font-size:11px}.verified-card small{margin-top:2px;color:#85869d;font-size:8px}@keyframes mail-float{0%,100%{transform:rotate(-2.5deg) translateY(0)}50%{transform:rotate(-2.5deg) translateY(-9px)}}@keyframes verified-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:600px){.verification-wrap h1{font-size:34px}.code-field input{font-size:24px;letter-spacing:.43em;text-indent:.43em}}
@media(prefers-reduced-motion:reduce){.mail-card,.verified-card{animation:none}}

/* Consistent sticky authentication header. */
.login-header{height:80px!important;position:sticky!important;top:0!important;z-index:100!important}
.login-main{min-height:calc(100vh - 80px)!important}
.form-panel{min-height:calc(100vh - 80px)}
@media(max-width:600px){.login-header{height:80px!important}.login-main,.form-panel{min-height:calc(100vh - 80px)!important}}
