.portal-root{--white:#edf1f3;--deepblue:#b5c5d0;--aqua:#283740;--cream:#f4f4eb;color:#172025;background:var(--cream);font-family:Arial,sans-serif}
.portal-root *{box-sizing:border-box}
.portal-root{margin:0;min-height:100svh;display:flex;flex-direction:column}
.portal-root button,.portal-root input{font:inherit}
.portal-root button,.portal-root a,.portal-root input{-webkit-tap-highlight-color:transparent}
.portal-root button{cursor:pointer}
.portal-root a{color:inherit;text-decoration:none}
.portal-root header{height:clamp(68px,4.77vw,92px);background:#33414a;color:var(--white);position:relative;z-index:10;flex:none;border-bottom:1px solid #ffffff30}
.portal-root .header-inner{height:100%;padding:0 2.2%;display:flex;align-items:center;gap:6.1vw}
.portal-root .brand{display:block;flex:none}
.portal-root .brand img{display:block;width:clamp(38px,2.76vw,53px);height:auto}
.portal-root nav{flex:1}
.portal-root ul{list-style:none;margin:0;padding:0}
.portal-root ul.primary{display:flex;align-items:center;gap:3.55vw}
.portal-root ul.primary>li{position:relative;white-space:nowrap}
.portal-root ul.primary>li>a,.portal-root header .lotus-fintech-trigger{font-size:clamp(16px,1.15vw,22px);line-height:1.4}
.portal-root ul.primary>li>a:not(.resume):hover{text-decoration:underline;text-underline-offset:6px}
.portal-root header .lotus-fintech-trigger{color:var(--white);font-family:inherit}
.portal-root .resume-item{margin-left:auto}
.portal-root .resume{display:flex;gap:20px;align-items:center;border:1px solid #ffffff50;padding:12px 18px;font-size:16px!important;font-weight:600}
.portal-root .resume span{font-size:30px;font-weight:300;line-height:1}
.portal-root .resume:hover{background:#ffffff0c}
.portal-root .js-menu-toggle{display:none}
.portal-root main{flex:1;display:grid;place-items:center;padding:50px 20px 70px;min-height:620px}
.portal-root .login-composition{width:min(100%,clamp(400px,27.6vw,480px));display:flex;align-items:center;flex-direction:column;transform:translateY(-4px)}
.portal-root .artwork{width:100%;height:250px;margin-bottom:48px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.portal-root .artwork video{display:block;width:100%;height:100%;object-fit:contain}
.portal-root form{width:100%}
.portal-root .field{display:flex;align-items:center;height:68px;border:1.5px solid #33434e;border-radius:12px;padding:0 28px;gap:20px;margin-bottom:22px;box-shadow:0 10px 18px #17202512}
.portal-root .field>svg{width:29px;height:29px;flex:none}
.portal-root .field svg,.portal-root .login-button svg,.portal-root .visibility svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.portal-root .field input{width:100%;min-width:0;background:transparent;border:0;outline:none;color:#283740;font-size:18px;height:100%}
.portal-root input::placeholder{color:#829099;opacity:1}
.portal-root .field:focus-within{outline:2px solid #576f7d;outline-offset:4px}
.portal-root .visibility{border:0;background:transparent;padding:6px;display:flex;color:#101515;margin-right:-10px}
.portal-root .visibility svg{width:25px;height:25px}
.portal-root .visibility[aria-pressed=true] svg{opacity:.5}
.portal-root .login-button{height:65px;width:100%;display:flex;align-items:center;justify-content:center;gap:22px;background:#283740;border:1px solid #34434c;color:#fff;border-radius:12px;font-size:18px;font-weight:600;box-shadow:0 10px 20px #17202517;transition:background .15s,transform .15s}
.portal-root .login-button svg{width:28px;height:24px}
.portal-root .login-button:hover{background:#3a4c57}
.portal-root .login-button:active{transform:translateY(1px)}
.portal-root :focus-visible{outline:2px solid #9cb4c3;outline-offset:4px}
.portal-root #form-status{font-size:13px;line-height:1.5;text-align:center;margin:14px 0 0;color:#52616a}
.portal-root #form-status:empty{display:none}
.portal-root footer{height:48px;display:grid;place-items:center;flex:none;background:#283740;color:#edf1f3;font-size:14px}
.portal-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.portal-root dialog{max-width:min(400px,90vw);border:1px solid #33414a;border-radius:12px;padding:24px;background:var(--cream);line-height:1.5}
.portal-root dialog::backdrop{background:#17202570}
.portal-root dialog button{padding:8px 20px;background:#283740;color:white;border:0;border-radius:6px}
@media(min-width:1000px) and (max-height:800px){.portal-root main{min-height:540px;padding:30px 20px 45px}
.portal-root .artwork{height:225px;margin-bottom:32px}
.portal-root .login-composition{width:400px}
.portal-root .field{height:58px;margin-bottom:18px}
.portal-root .login-button{height:56px}
}
@media(max-width:850px){.portal-root header{height:68px}
.portal-root .header-inner{padding:0 24px;justify-content:space-between}
.portal-root .brand img{width:40px}
.portal-root .js-menu-toggle{display:flex;flex-direction:column;gap:5px;padding:10px;border:0;background:transparent;color:inherit}
.portal-root .js-menu-toggle span{display:block;width:25px;height:2px;background:currentColor}
.portal-root nav{display:none;position:absolute;top:68px;left:0;width:min(85vw,360px);max-height:calc(100svh - 68px);overflow:auto;background:#283740;padding:24px;box-shadow:6px 10px 20px #17202520}
.portal-root nav.open{display:block}
.portal-root ul.primary{display:flex;flex-direction:column;align-items:stretch;gap:22px}
.portal-root .resume-item{margin:0}
.portal-root .resume{width:fit-content}
.portal-root header ul.primary .lotus-fintech-submenu{position:static;margin-top:12px;background:transparent;border:0;border-left:1px solid #ffffff40;padding:0 0 0 8px}
.portal-root header ul.primary .lotus-fintech-submenu li a{display:block;padding:9px 16px}
.portal-root main{min-height:650px;padding:50px 24px 60px}
.portal-root .login-composition{width:100%;max-width:400px;transform:none}
.portal-root .artwork{height:240px;margin-bottom:35px}
.portal-root .field{height:60px;padding:0 20px;gap:16px;margin-bottom:20px}
.portal-root .field input{font-size:17px}
.portal-root .field>svg{width:25px;height:25px}
.portal-root .login-button{height:60px;font-size:17px}
.portal-root footer{height:48px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.portal-root *{transition:none!important;scroll-behavior:auto!important}
}
