:root{font:14px 'Segoe UI',Arial,sans-serif;color:#24364b;background:#edf3f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:grid;place-items:center;padding:40px}button,input{font:inherit}button{cursor:pointer}button,input{outline:none}button:focus-visible,input:focus-visible{outline:3px solid #38b8cd55;outline-offset:3px}[hidden]{display:none!important}.auth-frame{width:min(1120px,100%);min-height:690px;display:grid;grid-template-columns:1fr 1fr;border:1px solid #dce5ec;background:white;box-shadow:0 22px 70px #183a5510;border-radius:8px;overflow:hidden}.brand-panel{position:relative;background:#10263d;color:white;padding:36px 42px;display:flex;flex-direction:column;overflow:hidden}.brand-panel:before{content:'';position:absolute;width:570px;height:570px;border-radius:50%;right:-350px;bottom:-250px;background:#0e4d60;opacity:.8}.brand-top,.brand-bottom{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.brand-top>span:first-child{font-size:22px;letter-spacing:-.8px;font-weight:700}.brand-top>span:first-child span{font-weight:400;color:#70d2df}.brand-top>span:last-child{font-size:10px;color:#94adc1;letter-spacing:.5px}.brand-copy{position:relative;z-index:1;margin-top:80px}.brand-copy h1{font-size:43px;line-height:1.18;letter-spacing:-1.5px;font-weight:650;margin:0}.brand-copy p{font-size:14px;line-height:1.8;color:#a7bfce;margin:22px 0 0}.brand-bottom{margin-top:auto;font-size:10px;color:#829fb2;padding-top:16px;border-top:1px solid #ffffff0b}.form-panel{padding:48px 54px 24px;display:flex;flex-direction:column;justify-content:space-between;background:#fff}.form-content{width:100%;max-width:370px;margin:0 auto}.brand-logo{display:block;width:190px;height:74px;object-fit:contain;object-position:left center;margin:0 0 38px}.form-panel h2{font-size:31px;line-height:1.25;letter-spacing:-1px;font-weight:650;margin:0 0 13px}.form-panel #login-description{font-size:12px;line-height:1.7;color:#8091a3;margin:0 0 31px}label{display:block;font-size:12px;color:#34475b;font-weight:600;margin-bottom:10px}.input-shell{display:flex;align-items:center;gap:11px;height:50px;padding:0 14px;border:1px solid #dce5ed;background:#fbfcfe;border-radius:4px;margin-bottom:22px;transition:border-color .15s,box-shadow .15s}.input-shell:focus-within{border-color:#078d9f;box-shadow:0 0 0 3px #078d9f0b;background:#fff}.input-shell>svg{width:17px;height:17px;flex-shrink:0;color:#8c9caf}.input-shell svg{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.input-shell input{border:0;background:transparent;padding:0;height:100%;width:100%;min-width:0;font-size:13px;color:#24364b}.input-shell input:focus-visible{outline:0}.input-shell input::placeholder{color:#99a7b6}.input-shell button{border:0;background:transparent;display:grid;place-items:center;width:30px;height:36px;flex-shrink:0;color:#678092;padding:5px;border-radius:4px}.input-shell button:hover{color:#008b9c;background:#eaf5f7}.input-shell button svg{width:18px;height:18px}.sign-in{width:100%;height:46px;display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid #008799;border-radius:4px;background:#008b9c;color:white;font-size:13px;font-weight:650;margin-top:7px;transition:background .15s,transform .15s}.sign-in svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sign-in:hover{background:#007384}.sign-in:active{transform:translateY(1px)}.sign-in:disabled{opacity:.7;cursor:wait}.form-error{font-size:12px;line-height:1.7;background:#fff4f2;border:1px solid #f1d5d0;border-radius:4px;padding:10px 12px;color:#ab4439;margin:0 0 15px}.mode-switch{display:block;margin:16px auto 0;border:0;background:transparent;color:#628496;font-size:11px;padding:8px}.mode-switch:hover{color:#008b9c;text-decoration:underline}.form-divider{display:flex;align-items:center;gap:12px;margin-top:25px;font-size:10px;color:#a0acba;white-space:nowrap}.form-divider:before,.form-divider:after{content:'';height:1px;flex:1;background:#e8edf2}.form-panel footer{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#9babb9;margin-top:30px}.form-content{animation:appear .25s ease-out}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:1100px){body{padding:28px}.brand-panel{padding:32px}.brand-copy h1{font-size:37px}.brand-copy{margin-top:74px}.form-panel{padding:42px 38px 24px}}@media(max-width:760px){body{padding:20px}.auth-frame{grid-template-columns:1fr;min-height:0;max-width:450px}.brand-panel{display:none}.form-panel{padding:35px 32px 24px}.brand-logo{width:168px;height:65px;margin-bottom:26px}.form-panel h2{font-size:28px}.form-panel #login-description{margin-bottom:26px}.form-divider{margin-top:22px}.form-panel footer{margin-top:32px}.input-shell{height:50px}}@media(max-width:420px){body{padding:16px}.form-panel{padding:28px 23px 22px}.brand-logo{width:154px;height:60px}.form-panel h2{font-size:26px}.form-panel #login-description{font-size:12px}.form-panel footer{font-size:9px}.mode-switch{font-size:11px}.auth-frame{border-radius:6px;box-shadow:0 12px 35px #183a5509}}@media(max-height:760px) and (min-width:761px){body{padding:24px}.auth-frame{min-height:640px}.brand-copy{margin-top:55px}.brand-visual{margin-top:22px;height:200px}.form-panel{padding-top:36px}.brand-logo{margin-bottom:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Fixapay brand palette and animated transfer network */
:root{--fixa-blue:#2b4094;--fixa-cyan:#45b8e8;background:#edf3fb}
.brand-panel{background:linear-gradient(145deg,#263880 0%,#2449a3 62%,#2166b8 100%)}
.brand-panel:before{width:520px;height:520px;right:-300px;bottom:-280px;background:#40bdf3;opacity:.14}
.brand-top>span:first-child span{color:#79d6fc}.brand-top>span:last-child,.brand-bottom{color:#b1c6ec}.brand-copy p{color:#c0d5ef}
.brand-copy{margin-top:65px}.brand-copy h1{font-weight:650}
.transfer-scene{position:relative;width:min(420px,calc(100% + 20px));margin:18px auto 20px;flex:1;min-height:220px;display:flex;flex-direction:column;justify-content:center}
.transfer-scene>svg{width:100%;height:auto;display:block;overflow:visible}
.network-caption{display:flex;align-items:center;justify-content:center;gap:8px;color:#bad9f6;font-size:10px;letter-spacing:.4px;margin-top:5px}
.network-caption span{width:5px;height:5px;background:#79ddff;border-radius:50%;box-shadow:0 0 10px #79ddff88}
.network-ring{transform-origin:210px 135px;animation:network-turn 70s linear infinite}
.hub-pulse{transform-box:fill-box;transform-origin:center;animation:hub-breathe 4s ease-in-out infinite}
.bank-node{animation:bank-breathe 5s ease-in-out infinite}.bank-node:nth-of-type(2n){animation-delay:2s}
@keyframes network-turn{to{transform:rotate(360deg)}}
@keyframes hub-breathe{0%,100%{opacity:.4;scale:.93}50%{opacity:1;scale:1.08}}
@keyframes bank-breathe{0%,100%{opacity:.75}50%{opacity:1}}
.sign-in{background:#2b4094;border-color:#2b4094;box-shadow:0 5px 14px #2b409416}.sign-in:hover{background:#23367d}
.input-shell:focus-within{border-color:#45b8e8;box-shadow:0 0 0 3px #45b8e814}
button:focus-visible,input:focus-visible{outline-color:#45b8e855}.input-shell button:hover{color:#2b4094;background:#edf6fc}.mode-switch:hover{color:#2b4094}
@media(max-height:760px) and (min-width:761px){.brand-copy{margin-top:45px}.transfer-scene{min-height:180px;margin-top:8px;margin-bottom:14px}.transfer-scene>svg{max-height:215px}}
@media(prefers-reduced-motion:reduce){.flow-dots{display:none}.network-ring,.hub-pulse,.bank-node{animation:none!important}}
