*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:linear-gradient(135deg,#062f57,#083f73 58%,#0d5a99);min-height:100vh;color:#17324a;display:grid;place-items:center;padding:24px}.login{width:min(430px,100%);background:#fff;border-radius:26px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.logo{display:flex;justify-content:center;margin-bottom:22px}.logo img{width:210px;max-width:75%}.sub{margin:0 0 24px;text-align:center;color:#607487}.flash{border-radius:14px;padding:12px 14px;margin-bottom:16px;font-weight:700}.flash.error{background:#fff0f0;color:#9a2727;border:1px solid #efcaca}.field{margin-bottom:16px;position:relative}label{display:block;margin-bottom:7px;font-size:13px;font-weight:800;color:#38536b}input{width:100%;border:1px solid #cbd8e2;border-radius:13px;padding:13px 14px;font-size:16px;outline:none;background:#fff;color:#17324a}input:focus{border-color:#0d69ad;box-shadow:0 0 0 3px rgba(13,105,173,.12)}.password-control{position:relative}.password-control input{padding-right:54px}.password-toggle{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:#607487;display:grid;place-items:center;cursor:pointer;padding:0}.password-toggle:hover{background:#f1f6fa;color:#17324a}.password-toggle:focus-visible{outline:2px solid #0d69ad;outline-offset:-2px}.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-toggle__slash{opacity:0}.password-toggle.is-visible .password-toggle__slash{opacity:1}button[type=submit]{width:100%;border:0;border-radius:13px;background:#0b5f9d;color:#fff;font-size:16px;font-weight:900;padding:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px}button[type=submit]:hover{background:#084e82}.hint{text-align:center;color:#7a8b99;font-size:12px;margin-top:18px}.access-request-result__title{margin:0 0 10px;text-align:center;color:#17324a;font-size:25px;line-height:1.2}.access-request-next{margin:18px 0;padding:15px;border:1px solid #d7e3ec;border-radius:14px;background:#f8fbfd}.access-request-next strong{display:block;margin-bottom:5px;color:#17324a}.access-request-next p{margin:0 0 13px;color:#607487;font-size:13px;line-height:1.5}.login-action{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 14px;border-radius:13px;background:#0b5f9d;color:#fff;text-decoration:none;font-size:14px;font-weight:900}.login-action:hover{background:#084e82}.login-secondary-link{display:block;margin-top:16px;text-align:center;color:#607487;text-decoration:none;font-size:13px;font-weight:800}.login-secondary-link:hover{color:#0b5f9d}.login-page-title{margin:0 0 10px;text-align:center;color:#17324a;font-size:25px;line-height:1.2}.login-info-box{display:grid;gap:5px;margin:16px 0 0;padding:13px 14px;border:1px solid #dbe6ed;border-radius:14px;background:#f8fbfd}.login-info-box strong{color:#17324a;font-size:13px}.login-info-box span{color:#607487;font-size:12px;line-height:1.45}@media(max-width:520px){body{padding:14px;place-items:start center;padding-top:max(14px,env(safe-area-inset-top))}.login{padding:23px 20px;border-radius:20px}}.access-step{width:max-content;margin:0 auto 10px;padding:5px 9px;border-radius:999px;background:#eaf4fb;color:#0b5f9d;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.access-request-next--required{border-color:#b9d4e7;background:#f2f8fc}.access-request-next--required small{display:block;margin-top:10px;color:#718596;font-size:11px;line-height:1.4}.login-erp{display:grid;gap:8px;margin:0 0 15px}.login-erp-tip{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;margin:0 0 2px;padding:11px 12px;border:1px solid #b9dfc8;border-radius:13px;background:linear-gradient(135deg,#f1fbf5 0%,#f7fcff 100%);box-shadow:0 6px 18px rgba(19,138,67,.08);color:#38536b;animation:erp-tip-in .55s cubic-bezier(.2,.8,.2,1) both}.login-erp-tip::after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;border-right:1px solid #b9dfc8;border-bottom:1px solid #b9dfc8;background:#f6fcfa;transform:translateX(-50%) rotate(45deg)}.login-erp-tip__icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#dff4e6;color:#11763a;font-size:14px;font-weight:950;font-family:Georgia,serif}.login-erp-tip__copy{font-size:12px;line-height:1.4}.login-erp-tip__copy strong{display:block;margin-bottom:1px;color:#17324a;font-size:13px}.login-erp .login-action{position:relative;z-index:1}@keyframes erp-tip-in{from{opacity:0;transform:translateY(-7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.login-erp .login-action{min-height:48px;border:1px solid #138a43;background:#138a43;color:#fff;font-size:15px;box-shadow:0 3px 10px rgba(19,138,67,.18)}.login-erp .login-action:hover{border-color:#0f7438;background:#0f7438;color:#fff}.login-erp>span{color:#718596;font-size:12px;line-height:1.45;text-align:center}.login-divider{display:flex;align-items:center;gap:10px;margin:20px 0 16px;color:#8798a6;font-size:11px;font-weight:800;text-align:center}.login-divider::before,.login-divider::after{content:"";height:1px;flex:1;background:#dbe5ed}.login-divider span{white-space:nowrap}button[type=submit],.login-action{position:relative}button[type=submit].is-loading,.login-action.is-loading{cursor:wait;pointer-events:none}button[type=submit].is-loading{opacity:.9}button[type=submit].is-loading::before,.login-action.is-loading::before{content:"";width:16px;height:16px;flex:0 0 16px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;animation:login-spin .7s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){button[type=submit].is-loading::before,.login-action.is-loading::before{animation:none;border-top-color:rgba(255,255,255,.42);border-right-color:#fff}.login-erp-tip{animation:none}}@media(max-width:520px){.login-erp .login-action{min-height:48px}.login-divider{gap:8px;margin-top:18px}.login-divider span{white-space:normal}}