.portal-login{position:relative;isolation:isolate;overflow:hidden;min-height:100dvh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(ellipse at 16% 15%,#e3ddff 0,transparent 55%),radial-gradient(ellipse at 90% 90%,#b7ede4 0,transparent 50%),#edf0fb;color:#222844;font-family:Arial,Helvetica,sans-serif}.portal-login:after,.portal-login:before{content:"";position:absolute;z-index:-1;pointer-events:none;width:clamp(320px,48vw,740px);aspect-ratio:1;border-radius:43% 57% 62% 38%/45% 39% 61% 55%;filter:blur(5px);animation:portal-glass-drift 18s ease-in-out infinite alternate}.portal-login:before{left:calc(50% - 550px);top:calc(50% - 440px);background:radial-gradient(circle at 32% 28%,#f0dcff 2%,#b69af2 44%,#7d8de0 78%);box-shadow:inset 16px 22px 50px #ffffff70,0 40px 100px #8a7cdd38}.portal-login:after{right:calc(50% - 560px);bottom:calc(50% - 420px);width:clamp(300px,42vw,620px);background:radial-gradient(circle at 30% 25%,#d4fff6,#77cfc9 50%,#7ba8dc 85%);box-shadow:inset 20px 18px 45px #ffffff80;animation-delay:-9s;animation-direction:alternate-reverse}.portal-login-card{position:relative;isolation:isolate;width:min(100%,460px);padding:clamp(28px,4vw,42px);background:linear-gradient(135deg,#ffffffa6,#ffffff70 45%,#ffffff8c);border:1px solid #ffffffcf;border-radius:30px;box-shadow:0 28px 80px #35356126,0 4px 18px #4b517a0f,inset 0 2px 1px #ffffffe6,inset 0 -1px 1px #ffffff8c;backdrop-filter:blur(30px) saturate(145%);-webkit-backdrop-filter:blur(30px) saturate(145%)}.portal-login-card:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(120deg,#ffffff70,transparent 30%,transparent 68%,#ffffff38);box-shadow:inset 1px 0 #ffffffcc,inset -1px 0 #ffffff66}.portal-login-brand{display:flex;align-items:center;gap:12px;min-width:0;font-size:18px;font-weight:750;color:#252646;margin-bottom:28px;overflow-wrap:anywhere}.portal-login-brand img{max-width:170px;max-height:48px;object-fit:contain}.portal-login-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;flex:none;background:linear-gradient(140deg,#8b6aed,#536be3);border:1px solid #ffffffa6;color:#fff;font-size:21px;box-shadow:0 8px 20px #644fe34d,inset 0 1px #ffffff99}.portal-login-card h1{font-size:32px;letter-spacing:-1px;color:#222844;margin:0 0 8px}.portal-login-intro{color:#414963;margin-bottom:28px;line-height:1.6}.portal-login-card form{display:grid;gap:18px}.portal-login-card .field{display:grid;gap:8px;color:#303650;font-size:14px;font-weight:600}.portal-login-card input{width:100%;box-sizing:border-box;min-height:48px;border-radius:13px;border:1px solid #878daa;background:#ffffffa6;box-shadow:inset 0 2px 5px #30396008,0 1px 0 #ffffff99;padding:0 13px;font:inherit;color:#222844}.portal-login-card input:focus-visible{outline:3px solid #6840c8;outline-offset:3px;background:#ffffffe6}.portal-login-card .primary{display:flex;justify-content:center;align-items:center;min-height:48px;width:100%;margin-top:8px;border:1px solid #ffffff80;border-radius:13px;background:linear-gradient(135deg,#7551d0,#4b54b4);color:#fff;font-size:14px;font-weight:650;box-shadow:0 8px 22px #5740a833,inset 0 1px #ffffff70;transition:box-shadow .2s,transform .2s}.portal-login-card .primary:hover{box-shadow:0 12px 28px #5740a84d,inset 0 1px #ffffff70;transform:translateY(-1px)}.portal-login-recovery{display:inline-block;margin-top:20px;font-size:13px;font-weight:650;color:#493087;text-underline-offset:4px}.portal-login-help{border-top:1px solid #777e9b47;margin-top:24px;padding-top:18px;color:#414963;font-size:13px;line-height:1.6}.portal-login-card a:focus-visible,.portal-login-card button:focus-visible{outline:3px solid #6840c8;outline-offset:4px}.portal-login-error{background:#fff1f1;color:#853536;border:1px solid #d99595;border-radius:10px;padding:12px;margin:0 0 18px}.portal-login-card [role=alert],.portal-login-card [role=status]{margin-bottom:18px;line-height:1.5}@keyframes portal-glass-drift{0%{transform:translate3d(-12px,-10px,0) rotate(-8deg)}to{transform:translate3d(24px,22px,0) rotate(10deg)}}@media(max-width:600px){.portal-login{padding:24px 16px}.portal-login-card{padding:28px 24px;border-radius:24px;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%)}.portal-login:before{left:-160px;top:-100px}.portal-login:after{right:-180px;bottom:-60px}.portal-login-card h1{font-size:28px}}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.portal-login-card{background:#f8f8ff}}@media(prefers-reduced-motion:reduce){.portal-login:after,.portal-login:before{animation:none}.portal-login-card .primary{transition:none}.portal-login-card .primary:hover{transform:none}}@media(prefers-contrast:more),(prefers-reduced-transparency:reduce){.portal-login-card{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}.portal-login-card:before{display:none}.portal-login-card input{background:#fff;border-color:#565d77}}