:root{--portal-ink:#132e69;--portal-muted:#5b7193;--portal-line:#bed1ee}
body.portal-glass{display:block;min-width:320px;margin:0;color:var(--portal-ink);background:radial-gradient(ellipse at 46% 10%,#d4e7ff 0,#eaf3ff 44%,#dceaff 100%);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.portal-glass .login-portal-shell{position:relative;isolation:isolate;width:calc(100% - 96px);max-width:1460px;margin:48px auto 18px;overflow:hidden;border:2px solid #ffffffd9;border-radius:42px;background:linear-gradient(125deg,#e7f3ff,#c3dcff 57%,#edf5ff);box-shadow:0 20px 60px #4b82c32b,inset 0 1px 1px white}
.portal-glass .login-header{position:absolute;inset:0 0 auto;z-index:6;display:flex;justify-content:space-between;align-items:flex-start;height:126px;padding:26px 60px;border:0;background:transparent}
.portal-glass .header-company-logo{width:132px;height:100px;object-fit:contain}.portal-glass .portal-label{margin-top:11px;color:#566d99;font-size:10px;letter-spacing:.17em}
.portal-glass .login-layout{display:grid;grid-template-columns:1.12fr 1fr;min-height:850px;padding:0;gap:0;margin:0;max-width:none;background:transparent}
.portal-glass .company-panel.company-panel--network{position:relative;isolation:isolate;display:block;min-height:850px;margin:0;padding:171px 30px 32px 64px;border:0;border-radius:0;background:none;overflow:visible}
.portal-glass .company-panel--network:before{display:none}.portal-glass .company-globe-copy{position:relative;z-index:2;max-width:510px}.portal-glass .company-globe-copy .eyebrow{color:#50658b;font-size:10px;letter-spacing:.18em}.portal-glass .company-globe-copy h1{margin:25px 0 17px;color:#152c67;font-size:clamp(38px,4.2vw,62px);line-height:1.08;letter-spacing:-1.8px;font-weight:700}.portal-glass .company-globe-copy p{max-width:380px;margin:0;color:#3f597e;font-size:15px;line-height:1.65}
.portal-glass .portal-network-art{position:absolute;z-index:-1;left:0;bottom:0;width:127%;max-width:none;height:auto;pointer-events:none;mask-image:linear-gradient(180deg,transparent 0,#000 19%),linear-gradient(90deg,#000 72%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 19%),linear-gradient(90deg,#000 72%,transparent 100%);-webkit-mask-composite:source-in}
.portal-glass .signin-panel{position:relative;isolation:isolate;display:flex;align-items:flex-start;justify-content:center;min-width:0;padding:104px 48px 42px 48px;border-radius:0;background:none}
.portal-glass .signin-panel:before{content:"";position:absolute;z-index:-1;inset:-8% -15% -9% -45px;border-left:1px solid #ffffffdb;border-radius:46% 0 0 43%/52% 0 0 49%;background:linear-gradient(135deg,#f7fbfff5,#edf5ffe6 63%,#dcecffec);box-shadow:-20px 0 0 #ebf4ff45;pointer-events:none}
.portal-glass .signin-content{position:relative;width:100%;max-width:450px;margin:0}.portal-glass .signin-content:before{display:none}.portal-glass .signin-content>.eyebrow{display:block;max-width:none;padding:0;color:#566d99;font-size:10px;letter-spacing:.17em}.portal-glass .signin-content h2{max-width:none;margin:12px 0 23px;color:#122d68;font-size:40px;line-height:1.15;letter-spacing:-1px;font-weight:700}
.portal-glass label{margin:18px 0 7px;font-size:12px;font-weight:650;color:#12285b}.portal-glass input{height:47px;padding:0 15px 0 42px;border:1px solid #c2d3ec;border-radius:11px;background-color:#ffffff80;color:#1c355e;font-size:13px}.portal-glass input:focus{border-color:#5f98df;box-shadow:0 0 0 3px #4a8fe017}.portal-glass input::placeholder{color:#7286a7}
.portal-glass #has-login-email{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%2362789c' stroke-width='1.5'%3E%3Ccircle cx='10' cy='6' r='3'/%3E%3Cpath d='M3 18c0-7 14-7 14 0'/%3E%3C/svg%3E");background-position:14px center;background-repeat:no-repeat}
.portal-glass #has-login-password{padding-right:75px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%2362789c' stroke-width='1.5'%3E%3Crect x='4' y='8' width='12' height='10' rx='2'/%3E%3Cpath d='M6 8V5a4 4 0 018 0v3'/%3E%3C/svg%3E");background-position:14px center;background-repeat:no-repeat}
.portal-glass .password-field button{height:47px;right:12px;display:flex;align-items:center;gap:5px;color:#4c6490;font-size:11px}.portal-glass .password-field button:before{content:"";width:17px;height:17px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c709a' stroke-width='1.6'%3E%3Cpath d='M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")}
.portal-glass #has-signin{height:50px;min-height:50px;display:flex;justify-content:center;position:relative;margin-top:23px;padding:12px 40px;border:1px solid #243f83;border-radius:12px;background:linear-gradient(145deg,#244c92,#112e70);box-shadow:inset 0 1px 1px #fff3,0 8px 18px #224b8e18;font-size:16px;font-weight:650}.portal-glass #has-signin>span{position:absolute;right:21px;font-size:23px}.portal-glass #has-signin:hover{background:linear-gradient(145deg,#2e5ea7,#173e86)}
.portal-glass #mobile-passkey-signin{display:flex;align-items:center;gap:15px;width:100%;min-height:74px;height:auto;padding:13px 15px;border:1px solid #b5d1fa;border-radius:14px;background:linear-gradient(125deg,#edf6ffc9,#cee3ff94);color:#064b9c;text-align:left;box-shadow:inset 0 1px 1px #fff,0 6px 20px #4776c00c}
.portal-glass #mobile-passkey-signin svg{flex:none;width:38px;height:38px}.portal-glass .faceid-copy{display:grid;gap:5px;padding-left:15px;border-left:1px solid #b6cfee;min-width:0}.portal-glass .mobile-faceid-caption{margin:0;color:#113570;font-size:14px;font-weight:700}.portal-glass .faceid-copy small{color:#496184;font-size:11px;line-height:1.45;font-weight:400}.portal-glass .faceid-card-arrow{margin-left:auto;font-size:23px;color:#265b9d}.portal-glass .mobile-passkey-login{gap:0;margin-bottom:0;justify-items:stretch}.portal-glass #mobile-passkey-help{display:none}.portal-glass #mobile-passkey-recovery{margin-top:12px}.portal-glass .login-or{display:flex;align-items:center;gap:20px;margin:22px 0 3px;color:#667da2;font-size:11px}.portal-glass .login-or:before,.portal-glass .login-or:after{content:"";height:1px;flex:1;background:#bdcfe7}
.portal-glass #login-tools{margin-top:10px}.portal-glass #login-tools .login-link{color:#114a98;font-size:12px;padding:4px 0}.portal-glass #has-login-status:empty{display:none}.portal-glass #has-login-status{margin:8px 0!important;font-size:11px}
.portal-glass .signin-help{display:flex;align-items:flex-start;gap:13px;margin:26px 0 20px;padding-top:20px;border-top:1px solid #c5d8f0;line-height:1.5}.portal-glass .help-portal-icon{display:grid;place-items:center;flex:none;width:43px;height:43px;border-radius:12px;background:#d9eaff99;color:#0b5bc3}.portal-glass .help-portal-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6}.portal-glass .help-portal-copy{display:grid;gap:5px;padding-top:2px}.portal-glass .help-portal-copy strong{color:#15346c;font-size:13px}.portal-glass .help-portal-copy>span{color:#5d7294;font-size:11px}.portal-glass .secure-note{color:#5a769e;font-size:10px;gap:9px}.portal-glass .secure-note svg{width:16px;height:16px}
.portal-glass footer{max-width:1460px;margin:0 auto 12px;padding:0 12px;border:0;color:#778eaf;font-size:9px;background:transparent}.mobile-portal-eyebrow,.mobile-portal-subtitle{display:none}
@media(min-width:1700px){.portal-glass .login-portal-shell{margin-top:58px}.portal-glass .login-layout,.portal-glass .company-panel.company-panel--network{min-height:870px}}
@media(min-width:761px) and (max-width:1100px){.portal-glass .login-portal-shell{width:calc(100% - 40px);margin:24px auto 14px;border-radius:30px}.portal-glass .login-header{padding:22px 32px}.portal-glass .company-panel.company-panel--network{padding-left:34px;padding-top:165px}.portal-glass .company-globe-copy h1{font-size:40px}.portal-glass .company-globe-copy p{font-size:13px;max-width:270px}.portal-glass .signin-panel{padding:115px 27px 34px 28px}.portal-glass .signin-panel:before{left:-23px}.portal-glass .faceid-copy{padding-left:10px}.portal-glass #mobile-passkey-signin{gap:10px;padding:12px}.portal-glass .mobile-faceid-caption{font-size:13px}.portal-glass .faceid-copy small{font-size:10px}}
@media(max-width:760px){
 body.portal-glass{background:#dfedff}.portal-glass .login-portal-shell{width:100%;max-width:600px;min-height:100vh;margin:0 auto;border:0;border-radius:0;box-shadow:none;background:linear-gradient(155deg,#e9f3ff,#d5e6ff 35%,#f2f7ff 64%,#d9ebff);overflow:hidden}
 .portal-glass .login-portal-shell:before{content:"";position:absolute;z-index:-2;inset:0;background:url(/assets/login-hallmark-network-v2.webp) center bottom/auto 440px no-repeat;pointer-events:none}.portal-glass .login-portal-shell:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#e8f2ff30,#edf5ff38 58%,transparent 90%);pointer-events:none}
 .portal-glass .login-header{position:relative;inset:auto;display:flex;justify-content:center;align-items:center;height:148px;padding:22px 24px 8px}.portal-glass .header-company-logo{width:160px;height:120px}.portal-glass .login-header .portal-label{display:none}
 .portal-glass .login-layout{display:block;min-height:0;padding:0 22px 225px;background:transparent}.portal-glass .company-panel.company-panel--network{display:none}.portal-glass .signin-panel{display:block;padding:8px 0 20px;background:transparent}.portal-glass .signin-panel:before{display:none}.portal-glass .signin-content{max-width:410px;margin:0 auto}.portal-glass .signin-content:before{display:none}
 .portal-glass .signin-content>.eyebrow{display:none}.portal-glass .mobile-portal-eyebrow{display:flex;align-items:center;justify-content:center;gap:17px;margin:14px 0 14px;color:#536d94;font-size:10px;letter-spacing:.24em;font-weight:700}.portal-glass .mobile-portal-eyebrow:before,.portal-glass .mobile-portal-eyebrow:after{content:"";width:32px;height:1px;background:#9cb6d6}.portal-glass .signin-content h2{display:block;max-width:none;margin:0 0 8px;text-align:center;font-size:42px;letter-spacing:-1.5px;line-height:1.12}.portal-glass .mobile-portal-subtitle{display:block;margin:0 0 26px;text-align:center;color:#5e7798;font-size:16px;line-height:1.45}
 .portal-glass .mobile-passkey-login{margin:0}.portal-glass #mobile-passkey-signin{min-height:70px;padding:12px 13px;gap:11px;border-color:#ffffffed;box-shadow:0 6px 18px #416fbe10,inset 0 0 0 1px #bed4f1}.portal-glass #mobile-passkey-signin svg{width:33px;height:33px}.portal-glass .faceid-copy{padding-left:12px;gap:4px}.portal-glass .mobile-faceid-caption{font-size:14px}.portal-glass .faceid-copy small{font-size:11px}.portal-glass .login-or{margin:20px 0;color:#6581a2}
 .portal-glass .login-credentials{position:relative;padding:0 13px;border:1px solid #ffffffed;border-radius:20px;background:#ffffff57;box-shadow:inset 0 1px 1px #ffffff9c}.portal-glass .login-credentials>label{position:absolute;width:1px;height:1px;padding:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap;margin:0}.portal-glass .login-credentials input{height:59px;border:0;border-radius:0;background-color:transparent;font-size:14px;padding-left:42px;box-shadow:none}.portal-glass #has-login-email{border-bottom:1px solid #bdcfe68c}.portal-glass #has-login-password{padding-right:70px}.portal-glass .password-field button{height:59px;right:5px;font-size:12px}
 .portal-glass #has-signin{height:53px;margin-top:22px;border-radius:15px;background:linear-gradient(140deg,#4d86ce,#133d80 60%,#102d6b);font-size:18px;box-shadow:0 10px 24px #204e9c20}.portal-glass #has-signin>span{font-size:25px}.portal-glass #login-tools{text-align:center;margin-top:12px}.portal-glass #login-tools .login-link{margin:0;padding:6px;color:#075bb8;font-size:14px}
 .portal-glass .signin-help{margin:24px 0 17px;padding-top:19px;gap:12px}.portal-glass .help-portal-copy strong{font-size:13px}.portal-glass .help-portal-copy>span{font-size:11px}.portal-glass .secure-note{justify-content:center;font-size:11px}.portal-glass footer{display:none}.portal-glass #has-login-status{text-align:center}.portal-glass #factor-chooser h3,.portal-glass #authenticator-panel h3,.portal-glass #passkey-panel h3{margin-top:20px;font-size:22px}
}
@media(max-width:360px){.portal-glass .login-layout{padding-left:18px;padding-right:18px}.portal-glass .mobile-faceid-caption{font-size:12px}.portal-glass .faceid-copy small{font-size:10px}.portal-glass .signin-content h2{font-size:38px}.portal-glass .mobile-portal-eyebrow{font-size:9px;letter-spacing:.19em}}
@media(min-width:761px){.portal-glass .portal-network-art{left:-17%;width:127%;mask-image:linear-gradient(180deg,transparent,#000 18%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 18%)}}
@media(max-width:760px){.portal-glass .login-layout{padding-bottom:300px}.portal-glass .secure-note{position:relative;z-index:1;color:#4c668b}}
@media(max-width:760px){.portal-glass .login-portal-shell:before{inset:auto 0 0;height:440px;mask-image:linear-gradient(180deg,transparent,#000 34%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 34%)}}

/* Keep the canvas continuous above the card and match the reference's S-shaped seam. */
html:has(body.portal-glass){min-height:100%;background:#e5efff}
body.portal-glass{display:flow-root}
.portal-glass .login-layout{position:relative;isolation:auto;z-index:auto}
.portal-glass .company-panel.company-panel--network{z-index:1}
.portal-glass .portal-divider{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.portal-glass .signin-panel{z-index:3}
.portal-glass .signin-panel:before,.portal-glass .signin-panel:after{display:none}
@media(min-width:761px){.portal-glass .signin-panel{padding-left:clamp(60px,6vw,100px);padding-right:42px}}
@media(max-width:760px){.portal-glass .portal-divider{display:none}}

/* Clean button labels and uninterrupted artwork under the desktop wave. */
.portal-glass .faceid-card-arrow,.portal-glass #has-signin>span{display:none!important}
@media(min-width:761px){.portal-glass .portal-network-art{width:145%;left:-17%}}
