*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"IBM Plex Sans",system-ui,-apple-system,sans-serif;color:#24384d;background:#f7f9fb}button,input{font:inherit}.login-layout{min-height:100vh;display:flex;flex-wrap:wrap}.login-hero{flex:1.1;min-width:340px;background:linear-gradient(168deg,#1b436e 0%,#15375b 48%,#0c2340 100%);color:#fff;padding:46px 52px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;position:relative;overflow:hidden}.hero-pattern{position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 2px,transparent 2px 110px),radial-gradient(ellipse at 85% 115%,rgba(42,111,219,.35),transparent 60%);pointer-events:none}.brand,.hero-copy,.hero-features{position:relative;z-index:1}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:58px;height:42px;color:#ea5618}.brand-name{display:flex;align-items:baseline;gap:11px}.brand-name strong{font-size:25px;letter-spacing:-.8px}.brand-name strong span{color:#ea5618}.brand-name small{font-size:16px;font-weight:600;letter-spacing:3px;color:#aac4dd}.hero-copy{max-width:560px}.hero-copy h1{margin:0;font-size:40px;line-height:1.18;font-weight:700;letter-spacing:-.5px}.hero-copy h1 span{color:#ea5618}.orange-line{width:64px;height:3px;background:#ea5618;border-radius:2px;margin:22px 0}.hero-copy p{margin:0;font-size:17px;line-height:1.65;color:#aac4dd;max-width:430px}.hero-features{display:flex;flex-wrap:wrap;gap:20px}.feature{display:flex;align-items:center;gap:11px;padding-right:24px;border-right:1px solid rgba(170,196,221,.25)}.feature:last-child{border-right:none}.feature-icon{width:38px;height:38px;border-radius:50%;border:1.5px solid #ea5618;display:grid;place-items:center;font-weight:700}.feature div{display:flex;flex-direction:column}.feature strong{font-size:13.5px}.feature small{font-size:12px;color:#aac4dd;margin-top:2px}.login-panel{flex:.9;min-width:340px;background:#f7f9fb;display:flex;align-items:center;justify-content:center;padding:46px}.login-card{width:min(100%,430px);background:#fff;border:1px solid #e0e8f0;border-radius:12px;padding:36px;box-shadow:0 12px 34px rgba(21,55,91,.08)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;color:#ea5618}.login-heading h2{margin:8px 0 7px;color:#15375b;font-size:28px}.login-heading p{margin:0 0 28px;color:#738395;font-size:14px}.login-card label{display:block;color:#344b62;font-size:13.5px;font-weight:600;margin:0 0 8px}.input-wrap{position:relative;margin-bottom:18px}.input-wrap input{width:100%;border:1px solid #d9e2ea;border-radius:6px;padding:12px 82px 12px 40px;color:#21374d;background:#fff;outline:none;transition:.18s}.input-wrap input:focus{border-color:#2a6fdb;box-shadow:0 0 0 3px rgba(42,111,219,.1)}.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#8a98a6;font-size:15px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:none;color:#5f7184;font-size:12px;font-weight:600;cursor:pointer}.login-error{background:#fdebea;border:1px solid #f4c9c6;color:#a92c24;border-radius:6px;padding:10px 12px;margin:-4px 0 14px;font-size:13px}.form-links{display:flex;justify-content:flex-end;margin:-2px 0 18px}.text-link{border:0;background:none;padding:0;color:#2a6fdb;font-size:13.5px;cursor:pointer}.primary-button,.sso-button{width:100%;border-radius:6px;padding:13px;font-weight:700;cursor:pointer}.primary-button{background:#ea5618;color:#fff;border:0;letter-spacing:.3px}.primary-button:hover{background:#d44a10}.primary-button:disabled{opacity:.65;cursor:wait}.separator{display:flex;align-items:center;gap:12px;margin:18px 0;color:#999;font-size:13px}.separator span{flex:1;height:1px;background:#e8ecf0}.separator em{font-style:normal}.sso-button{background:#fff;color:#333;border:1px solid #e0e8f0;font-size:14.5px}.sso-button:hover{background:#f7f9fb}.support-text{text-align:center;font-size:12.5px;line-height:1.5;color:#8a98a6;margin:24px 8px 0}@media(max-width:820px){.login-hero{min-height:360px;padding:32px}.hero-copy h1{font-size:32px}.hero-features{display:none}.login-panel{padding:26px 18px}.login-card{padding:28px 22px}}@media(max-width:520px){.login-hero{min-width:100%;min-height:300px}.login-panel{min-width:100%}.hero-copy h1{font-size:29px}}
