:root{color-scheme:light;font-family:Inter,"Segoe UI",Arial,sans-serif;color:#172033;background:#edf1f7;font-size:16px}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:40px 24px;line-height:1.5;background:radial-gradient(ellipse at 15% 12%,#dce6f7 0,transparent 50%),#edf1f7}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible{outline:3px solid #76a7ff;outline-offset:3px}
.login-shell{width:min(1060px,100%);min-height:650px;display:grid;grid-template-columns:1.04fr 1fr;background:#fff;border:1px solid #d9e1ed;border-radius:24px;box-shadow:0 24px 80px #1b305619;overflow:hidden}
.identity{position:relative;isolation:isolate;overflow:hidden;background:#111d34;color:#fff;padding:42px 46px;display:flex;flex-direction:column}
.identity:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(132deg,transparent 38%,#387bab13 38.1%,#387bab13 66%,transparent 66.1%),radial-gradient(ellipse at 0 0,#28477899,transparent 67%)}
.identity:after{content:"";position:absolute;z-index:-1;width:500px;height:500px;right:-330px;bottom:-290px;border:1px solid #6489c733;box-shadow:0 0 0 48px #6489c709,0 0 0 96px #6489c709;border-radius:50%}
.brand{display:flex;align-items:center;gap:13px;font-size:1.06rem;letter-spacing:.02em;font-weight:750}
.brand-sub{color:#b4c3d9;font-weight:400;letter-spacing:0}
.monogram{display:flex;align-items:center;justify-content:center;gap:2px;width:43px;height:43px;border:1px solid #758db66b;border-radius:11px;font-size:1.45rem;letter-spacing:-.08em}
.monogram span{color:#82d1f6}
.identity-copy{margin:auto 0;padding:54px 0}
.eyebrow{color:#a0c7ef;font-size:.8125rem;font-weight:650;letter-spacing:.16em;margin:0 0 22px}
h1{font-size:clamp(2.1rem,4vw,3.55rem);line-height:1.16;font-weight:720;letter-spacing:-.045em;margin:0 0 26px}
h1 span{color:#88ceef}
.identity-description{color:#b7c7dd;max-width:290px;font-size:1.0625rem;line-height:1.75;margin:0}
.identity-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#a0b4d0;font-size:.8125rem}
.private-tag{border:1px solid #65799780;border-radius:6px;padding:6px 9px;font-size:.75rem;font-weight:600;letter-spacing:.07em;color:#d1deee}
.form-panel{display:flex;flex-direction:column;padding:54px 48px 27px}
.form-content{margin:auto 0;padding:24px 0 40px}
.welcome-label{font-size:.75rem;font-weight:750;letter-spacing:.16em;color:#496c9c}
h2{font-size:2.25rem;line-height:1.2;letter-spacing:-.035em;margin:10px 0 12px}
.form-intro{color:#627085;font-size:1rem;margin:0 0 31px}
.field{margin-bottom:21px}
label{display:block;font-size:.9375rem;font-weight:600;margin-bottom:9px}
input{display:block;width:100%;min-width:0;height:53px;border:1px solid #d3dce9;border-radius:9px;background:#f9fbfe;padding:0 15px;color:#172033;transition:border-color .15s,box-shadow .15s}
input::placeholder{color:#758297}
input:focus{border-color:#527de4;box-shadow:0 0 0 3px #386ee810;background:#fff}
.password-input{position:relative}
.password-input.has-toggle input{padding-right:89px}
.password-toggle{position:absolute;right:6px;top:5px;height:43px;padding:0 10px;border:0;border-radius:5px;background:transparent;font-size:.8125rem;font-weight:600;color:#375e9c}
.password-toggle:hover{background:#eaf0fa}
.submit-button{display:block;width:100%;min-height:53px;margin-top:29px;padding:12px 16px;border:1px solid #2e5fc8;border-radius:9px;color:#fff;background:#2d61d3;font-weight:650;box-shadow:0 5px 12px #2d61d322;transition:background .15s}
.submit-button:hover{background:#204eaf}
.submit-button:disabled{cursor:wait;opacity:.75}
.access-note{font-size:.8125rem;color:#6d7a8d;text-align:center;margin:21px 0 0}
.panel-footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #e9edf3;padding-top:17px;font-size:.75rem;color:#758297}
.panel-footer>span:first-child{font-weight:700;letter-spacing:.08em;color:#55657b}
.panel-footer>span:last-child{text-align:right;max-width:205px}
.form-error{padding:12px 14px;border:1px solid #edc5c5;border-radius:8px;color:#9f3434;background:#fff4f4;font-size:.9375rem;margin:0 0 23px}
[hidden]{display:none!important}
@media(max-width:820px){.login-shell{grid-template-columns:.9fr 1fr;min-height:600px}.identity{padding:32px 28px}.form-panel{padding:35px 30px 23px}.identity-bottom{flex-wrap:wrap}.identity-copy{padding:40px 0}h1{font-size:2.55rem}}
@media(max-width:620px){body{padding:20px 15px;align-items:flex-start}.login-shell{grid-template-columns:1fr;border-radius:18px;min-height:0}.identity{padding:24px}.identity-copy{padding:27px 0 7px}.eyebrow{margin-bottom:10px;font-size:.75rem}h1{font-size:2.05rem;line-height:1.18;margin-bottom:13px}h1 br{display:block}h1 span{display:block}.identity-description,.identity-bottom{display:none}.brand{font-size:1rem}.monogram{width:36px;height:36px;font-size:1.25rem}.form-panel{padding:29px 24px 22px}.form-content{padding:0 0 29px}.welcome-label{display:none}h2{font-size:1.8rem;margin:0 0 10px}.form-intro{margin-bottom:25px}.field{margin-bottom:19px}.panel-footer{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){input,button{transition:none!important}}