:root{--erp-blue:#1769d2;--erp-blue-2:#3d8cf0;--erp-blue-dark:#083d82;--erp-navy:#071c35;--erp-text:#17253a;--erp-muted:#6e7c90;--erp-border:#dce4ee;--erp-soft:#f5f8fc;--erp-danger:#b42335;--erp-success:#18794e;--erp-shadow:0 28px 70px rgba(20,38,66,.14)}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body.erp-login-body{min-height:100vh;background:#f6f8fb;color:var(--erp-text);font-family:Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit}.erp-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(480px,1.08fr) minmax(430px,.92fr);overflow:hidden}
.erp-login-brand{position:relative;display:flex;align-items:center;min-height:100vh;overflow:hidden;padding:clamp(52px,7vw,96px);color:#fff;background:linear-gradient(145deg,#052e66 0%,#0b4d9f 40%,#1769d2 76%,#3d8cf0 100%)}
.erp-login-ambient,.erp-grid,.erp-orb{position:absolute;inset:0;pointer-events:none}.erp-grid{opacity:.14;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(110deg,rgba(0,0,0,.9),transparent 85%)}
.erp-orb{inset:auto;border-radius:50%;filter:blur(2px);opacity:.3;animation:erpFloat 12s ease-in-out infinite}.erp-orb--one{width:380px;height:380px;right:-150px;top:-120px;background:radial-gradient(circle at 35% 35%,#8cc8ff,rgba(85,162,239,.04) 67%)}.erp-orb--two{width:500px;height:500px;left:-280px;bottom:-290px;background:radial-gradient(circle at 65% 35%,#63b0ff,rgba(34,115,214,.02) 68%);animation-delay:-4s}.erp-orb--three{width:160px;height:160px;right:18%;bottom:12%;background:radial-gradient(circle,#b9dcff,rgba(105,176,245,.02) 72%);animation-delay:-7s}
.erp-login-brand:after{content:"";position:absolute;right:-1px;top:0;width:1px;height:100%;background:linear-gradient(transparent,rgba(255,255,255,.24),transparent)}
.erp-login-brand-inner{position:relative;z-index:2;width:min(100%,660px)}.erp-login-brand-logo{width:82px;height:82px;display:grid;place-items:center;margin-bottom:30px;border-radius:22px;background:#fff;box-shadow:0 20px 46px rgba(2,24,55,.26);overflow:hidden}.erp-login-brand-logo img{width:72px;height:72px;object-fit:contain}
.erp-login-eyebrow{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);font-size:10px;font-weight:900;letter-spacing:.17em;color:#d7eaff}.erp-login-brand h1{max-width:660px;margin:17px 0 16px;font-size:clamp(38px,4.25vw,58px);line-height:1.04;font-weight:900;letter-spacing:-.045em;text-wrap:balance}.erp-login-brand p{max-width:590px;margin:0;color:rgba(239,247,255,.82);font-size:16px;line-height:1.7}
.erp-login-features{display:grid;grid-template-columns:1fr;gap:9px;max-width:430px;margin-top:34px}.erp-login-features>div{display:flex;align-items:center;gap:11px;min-height:46px;padding:9px 12px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.07);backdrop-filter:blur(9px);font-size:12px;font-weight:650;color:rgba(255,255,255,.91)}.erp-feature-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:rgba(255,255,255,.11);color:#dbeeff}
.erp-brand-footer{display:flex;align-items:center;gap:8px;margin-top:34px;color:rgba(230,242,255,.68);font-size:10px;font-weight:700;letter-spacing:.045em;text-transform:uppercase}.erp-pulse-dot{width:7px;height:7px;border-radius:50%;background:#75e3b3;box-shadow:0 0 0 0 rgba(117,227,179,.5);animation:erpPulse 2s infinite}
.erp-login-form-section{position:relative;display:grid;place-items:center;min-width:0;padding:42px clamp(30px,5vw,74px);background:radial-gradient(circle at 88% 10%,#edf5ff 0,transparent 32%),linear-gradient(180deg,#fff 0%,#f8fafc 100%)}.erp-login-form-section:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#b5c5d8 1px,transparent 1px);background-size:24px 24px;opacity:.12;mask-image:linear-gradient(to bottom right,transparent 8%,#000 80%)}
.erp-login-card{position:relative;z-index:2;width:min(100%,430px);padding:34px 34px 28px;border:1px solid rgba(211,222,235,.9);border-radius:24px;background:rgba(255,255,255,.92);box-shadow:var(--erp-shadow);backdrop-filter:blur(14px)}.erp-login-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:26px;color:#43546c;font-size:11px;font-weight:800}.erp-login-mobile-logo{width:46px;height:46px;display:grid;place-items:center;border:1px solid #e3e9f1;border-radius:13px;background:#fff;box-shadow:0 8px 22px rgba(31,65,108,.09)}.erp-login-mobile-logo img{width:39px;height:39px;object-fit:contain}
.erp-login-heading{margin-bottom:25px}.erp-login-heading>span{display:block;margin-bottom:7px;color:var(--erp-blue);font-size:10px;font-weight:900;letter-spacing:.15em}.erp-login-heading h2{margin:0 0 7px;font-size:31px;line-height:1.13;font-weight:900;letter-spacing:-.035em}.erp-login-heading p{margin:0;color:var(--erp-muted);font-size:13px;line-height:1.5}
.erp-login-alert{display:flex;align-items:flex-start;gap:9px;margin-bottom:20px;padding:11px 12px;border:1px solid;border-radius:12px;font-size:11px;line-height:1.45;animation:erpAlertIn .3s ease both}.erp-login-alert.is-error{border-color:#efcbd1;background:#fff4f5;color:#9f3442}.erp-login-alert.is-success{border-color:#c8e9d9;background:#f0fbf5;color:#207553}.erp-alert-icon{margin-top:1px;font-size:13px}
.erp-field-group{margin-bottom:17px}.erp-field-group label{display:block;margin:0 0 7px;color:#35465d;font-size:11px;font-weight:800}.erp-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.erp-help-link{padding:0;border:0;background:transparent;color:#5d78a2;font-size:10px;font-weight:700;cursor:pointer}.erp-help-link:hover,.erp-help-link:focus-visible{color:var(--erp-blue);text-decoration:underline;outline:none}
.erp-input-wrap{position:relative}.erp-input-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:20px;color:#8391a5;font-size:11px;pointer-events:none;transition:color .16s ease}.erp-input{width:100%;height:48px;padding:0 44px 0 42px;border:1px solid var(--erp-border);border-radius:12px;outline:none;background:#fff;color:#1d2c42;font-size:13px;font-weight:600;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.erp-input::placeholder{color:#9aa6b6;font-weight:500}.erp-input:hover{border-color:#c4d2e3}.erp-input:focus{border-color:#7eace8;box-shadow:0 0 0 4px rgba(23,105,210,.09);background:#fff}.erp-input:focus~.erp-input-state{opacity:1;transform:scaleY(1)}.erp-input-wrap:focus-within .erp-input-icon{color:var(--erp-blue)}.erp-input.is-invalid{border-color:#d8737f;box-shadow:0 0 0 3px rgba(180,35,53,.07)}.erp-input-state{position:absolute;right:0;top:9px;bottom:9px;width:3px;border-radius:4px;background:var(--erp-blue);opacity:0;transform:scaleY(.35);transition:.16s ease}
.erp-password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:9px;background:transparent;color:#77869a;cursor:pointer;transition:background .15s ease,color .15s ease}.erp-password-toggle:hover,.erp-password-toggle:focus-visible{outline:none;background:#edf4fc;color:var(--erp-blue)}
.erp-field-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:19px}.erp-field-error{display:block;padding-top:4px;color:var(--erp-danger);font-size:9.5px;line-height:1.3}.erp-caps-warning{padding-top:4px;color:#a46b13;font-size:9px;font-weight:700;white-space:nowrap}.erp-caps-warning i{margin-right:3px}
.erp-password-help{display:flex;align-items:flex-start;gap:8px;margin:-4px 0 16px;padding:10px 11px;border:1px solid #d8e5f4;border-radius:11px;background:#f4f8fd;color:#60728a;font-size:10px;line-height:1.45}.erp-password-help i{margin-top:2px;color:#4d82c3}.erp-password-help[hidden]{display:none!important}
.erp-login-submit{position:relative;width:100%;height:49px;margin-top:4px;border:0;border-radius:12px;background:linear-gradient(135deg,#0f5fc5,#287ce4);box-shadow:0 13px 27px rgba(23,105,210,.22);color:#fff;font-size:12px;font-weight:850;cursor:pointer;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.erp-login-submit:before{content:"";position:absolute;top:-100%;left:-40%;width:35%;height:300%;transform:rotate(25deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transition:left .5s ease}.erp-login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 32px rgba(23,105,210,.27);filter:saturate(1.04)}.erp-login-submit:hover:not(:disabled):before{left:115%}.erp-login-submit:focus-visible{outline:3px solid rgba(23,105,210,.2);outline-offset:3px}.erp-login-submit:disabled{cursor:wait;opacity:.82;box-shadow:none}.erp-login-submit-label,.erp-login-submit-loading{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:8px}.erp-login-submit-loading[hidden]{display:none!important}.erp-button-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:erpSpin .7s linear infinite}
.erp-login-security{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:20px;color:#8895a6;font-size:9.5px;font-weight:650}.erp-login-security i{color:#6f86a6}
.erp-reveal{opacity:0;transform:translateY(12px);animation:erpReveal .55s cubic-bezier(.2,.8,.2,1) forwards}.erp-reveal--1{animation-delay:.06s}.erp-reveal--2{animation-delay:.13s}.erp-reveal--3{animation-delay:.2s}.erp-reveal--4{animation-delay:.28s}.erp-reveal--5{animation-delay:.36s}.erp-card-enter{opacity:0;transform:translateY(14px) scale(.985);animation:erpCard .55s .12s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes erpReveal{to{opacity:1;transform:none}}@keyframes erpCard{to{opacity:1;transform:none}}@keyframes erpSpin{to{transform:rotate(360deg)}}@keyframes erpPulse{0%,100%{box-shadow:0 0 0 0 rgba(117,227,179,.42)}50%{box-shadow:0 0 0 7px rgba(117,227,179,0)}}@keyframes erpFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,18px,0) scale(1.04)}}@keyframes erpAlertIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:980px){.erp-login-shell{grid-template-columns:1fr}.erp-login-brand{display:none}.erp-login-form-section{min-height:100vh;padding:32px 22px}.erp-login-mobile-brand{display:flex}.erp-login-card{width:min(100%,460px)}}
@media(max-width:520px){.erp-login-form-section{place-items:center;padding:max(22px,env(safe-area-inset-top)) 14px max(22px,env(safe-area-inset-bottom))}.erp-login-card{padding:26px 20px 22px;border-radius:20px;box-shadow:0 20px 48px rgba(20,38,66,.12)}.erp-login-heading h2{font-size:27px}.erp-input{height:47px}.erp-login-submit{height:48px}}
@media(max-height:650px) and (min-width:981px){.erp-login-brand{padding-top:38px;padding-bottom:38px}.erp-login-brand-logo{width:64px;height:64px;margin-bottom:20px}.erp-login-brand-logo img{width:56px;height:56px}.erp-login-brand h1{font-size:40px}.erp-login-brand p{font-size:13px}.erp-login-features{margin-top:22px}.erp-brand-footer{margin-top:20px}.erp-login-card{padding-top:26px;padding-bottom:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.erp-reveal,.erp-card-enter{opacity:1;transform:none}}
