/* Login iSenda. Scoped to the signed-out screen; dashboard styles remain intact. */
body:has(#loginCard:not([hidden])){background:#eaf4f8;background-image:radial-gradient(ellipse at 10% 15%,#d4e9ef,transparent 55%),radial-gradient(ellipse at 90% 90%,#fff9e9,transparent 55%)}
body:has(#loginCard:not([hidden])) .topbar{display:none}
body:has(#loginCard:not([hidden])) main{display:grid;align-items:center;min-height:100svh;max-width:none;margin:0;padding:40px 24px}
#loginCard{display:grid;grid-template-columns:.9fr 1.1fr;width:min(100%,960px);max-width:960px;min-height:610px;margin:0 auto;overflow:hidden;border:1px solid #cbdfe7;border-radius:28px;background:#fff;box-shadow:0 24px 80px #17496b15}
.login-identity{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;overflow:hidden;isolation:isolate;padding:38px 40px 42px;background:linear-gradient(150deg,#17496b,#10334f);color:#fff}
.login-identity::before{content:'';position:absolute;z-index:-1;width:420px;height:420px;left:-170px;top:170px;border:1px solid #ffffff0d;border-radius:50%;box-shadow:0 0 0 45px #ffffff03,0 0 0 90px #ffffff03}
.login-wordmark{display:flex;align-items:center;gap:12px;color:#fff;font-size:30px;font-weight:700;letter-spacing:-1.4px;line-height:1}
.login-wordmark img{display:block;border:1px solid #ffffff24;border-radius:14px}
.login-journey{align-self:center;width:min(100%,310px);margin:0 -10px}
.login-journey svg{display:block;width:100%;overflow:visible}
.login-path-shadow,.login-path,.login-path-center{stroke-linecap:round;stroke-linejoin:round}
.login-path-shadow{stroke:#082a40;stroke-width:27}
.login-path{stroke:#efd49b;stroke-width:20;stroke-dasharray:1;animation:login-draw 2s .15s both}
.login-path-center{stroke:#bc9657;stroke-width:1.5;stroke-dasharray:.015 .025;opacity:.75}
.login-path-start{fill:#9ed4d4;stroke:#17496b;stroke-width:3}
.login-path-home rect{fill:#9ed4d4;stroke:#b6e7e4;stroke-width:1}
.login-path-home path{stroke:#17496b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.login-path-home{animation:login-arrive .6s 1.5s both}
.login-identity .login-motto{position:relative;margin:0;color:#e4f0f4;font-size:17px;line-height:1.65;letter-spacing:-.2px}
.login-motto strong{color:#fff;font-weight:600}
#loginCard .login-form{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:48px 48px 40px;background:#fff;color:#17496b}
#loginCard .login-form::before{display:none}
.login-heading{margin-bottom:30px}
.login-heading>span{color:#416c80;font-size:12px;font-weight:700;letter-spacing:1.8px}
#loginCard .login-heading h1{margin:13px 0 10px;color:#143e5c;font:700 clamp(28px,3vw,36px)/1.14 'DM Sans',sans-serif;letter-spacing:-1.4px}
.login-heading p{margin:0;color:#566f7e;font-size:16px;line-height:1.55}
#loginCard .login-form label{color:#264e64;font-size:14px;font-weight:600;margin-bottom:8px}
#loginCard .login-form input:not([type=checkbox]){width:100%;min-height:52px;padding:13px 15px;border:1px solid #bdcfd9;border-radius:10px;background:#f8fbfc;color:#183f57;font-size:16px;box-shadow:none}
#loginCard .login-form input::placeholder{color:#647d8c;opacity:1}
#loginCard .login-form input:not([type=checkbox]):focus{border-color:#246b94;background:#fff;outline:3px solid #c4e6ef;outline-offset:2px}
#loginCard .label-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;margin-top:22px;margin-bottom:8px}
#loginCard .label-row label{margin:0}
#loginCard .text-action{min-height:30px;padding:4px 0;color:#21638b;font-size:13px;text-align:left;text-decoration:underline;text-underline-offset:3px}
#loginCard .password-field input{padding-right:83px}
#loginCard .reveal{right:6px;padding:10px;color:#21638b;font-size:13px}
#loginCard .login-form .remember{align-items:flex-start;gap:10px;margin:20px 0 0!important;color:#506977!important;font-size:14px;line-height:1.5;font-weight:400}
#loginCard .remember input{width:18px!important;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:#17496b;border-radius:4px}
#loginCard .login-form .primary{display:flex;justify-content:center;min-height:53px;margin-top:26px;padding:14px 18px;border-radius:11px;background:#17496b;color:#fff;font-size:16px;box-shadow:0 6px 16px #17496b18;transition:background .18s,box-shadow .18s}
#loginCard .login-form .primary:hover{background:#103751;box-shadow:0 8px 18px #17496b28}
#loginCard .login-help{margin:24px 0 0;padding-top:20px;border-top:1px solid #e3ebef;color:#627986;font-size:13px;line-height:1.6;text-align:left}
#loginCard .notice{font-size:14px;overflow-wrap:anywhere;color:#17496b;background:#edf7fa}
#loginCard .notice[data-kind=error]{background:#fff1ed;color:#943921}
#loginCard button:focus-visible{outline:3px solid #b78331;outline-offset:3px}
@keyframes login-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes login-arrive{from{opacity:0}to{opacity:1}}
@media(max-width:720px){
  body:has(#loginCard:not([hidden])) main{padding:24px 16px;align-items:start}
  #loginCard{grid-template-columns:1fr;max-width:460px;min-height:0;border-radius:23px}
  .login-identity{min-height:155px;padding:25px 26px;justify-content:center;gap:17px}
  .login-wordmark{font-size:27px;gap:10px}.login-wordmark img{width:36px;height:36px;border-radius:12px}
  .login-identity .login-motto{font-size:14px;line-height:1.55;max-width:220px}
  .login-journey{position:absolute;right:-12px;top:-33px;width:170px;margin:0;opacity:.6;z-index:-1}
  .login-identity::before{top:-200px;left:auto;right:-260px}
  #loginCard .login-form{padding:30px 26px 27px}
  .login-heading{margin-bottom:24px}#loginCard .login-heading h1{font-size:29px;letter-spacing:-1px}
  #loginCard .login-help{margin-top:22px;padding-top:18px}
}
@media(max-width:360px){body:has(#loginCard:not([hidden])) main{padding:14px 10px}#loginCard .login-form{padding:26px 20px}.login-identity{padding:22px 20px}.login-journey{right:-48px}.login-heading>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.login-path,.login-path-home{animation:none}#loginCard .primary{transition:none}}
