/* Elsonrix Portal — GPL-3.0-or-later. Login presentation only, opt-in. */
body.welcome-anonymous.ep-login{--ep-login-ink:#20283a;--ep-login-muted:#758097;--ep-login-line:#e3e7f0;--ep-login-accent:#6a51e6;--ep-login-soft:#f1edff;background:#f5f6fa;color:var(--ep-login-ink);font-family:Inter,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
body.ep-login[data-ep-login-accent=blue]{--ep-login-accent:#2457cd;--ep-login-soft:#edf3ff}body.ep-login[data-ep-login-accent=teal]{--ep-login-accent:#087f7a;--ep-login-soft:#eaf8f5}body.ep-login[data-ep-login-accent=rose]{--ep-login-accent:#ae3262;--ep-login-soft:#fff0f6}body.ep-login[data-ep-login-accent=slate]{--ep-login-accent:#42536c;--ep-login-soft:#edf1f6}
body.ep-login #page{min-height:100vh}body.ep-login #page>.flex-fill{margin-top:0!important;padding:38px 24px!important}
body.ep-login .container-tight{width:100%;max-width:1120px!important;padding:0!important;margin-inline:auto}
body.ep-login .ep-login-brand{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:28px;text-align:left;min-height:46px}
body.ep-login .ep-login-initials{display:grid;place-content:center;width:46px;height:46px;flex-shrink:0;border:1px solid var(--ep-login-line);border-radius:15px;background:#fff;color:var(--ep-login-accent);font-size:17px;font-weight:700;letter-spacing:-.04em}
body.ep-login .ep-login-logo{display:block;width:46px;height:46px;object-fit:contain;border-radius:10px}
body.ep-login .ep-login-brand-name{font-size:21px;font-weight:650;letter-spacing:-.045em;line-height:1.2;overflow-wrap:anywhere}
body.ep-login .main-content-card[data-ep-login]{border:1px solid #e0e5ee;border-radius:25px;box-shadow:0 20px 75px -45px #22325150;background:#fff;overflow:clip}
body.ep-login .main-content-card[data-ep-login]>.card-header:empty{display:none}
body.ep-login .ep-login-body{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1fr);padding:0;min-height:600px}
body.ep-login .ep-login-story{display:flex;flex-direction:column;justify-content:space-between;position:relative;min-width:0;padding:48px 42px 36px;border-right:1px solid var(--ep-login-line);background:linear-gradient(155deg,var(--ep-login-soft),#fafbff);overflow:clip}
body.ep-login .ep-login-story-copy{position:relative;z-index:1}
body.ep-login .ep-login-eyebrow{font-size:10px;line-height:1.5;letter-spacing:.14em;font-weight:650;color:var(--ep-login-accent);display:block;margin-bottom:25px}
body.ep-login .ep-login-headline{font-size:clamp(34px,3.5vw,48px);font-weight:620;line-height:1.1;letter-spacing:-.055em;margin:0;white-space:pre-line;overflow-wrap:anywhere;text-wrap:balance}
body.ep-login .ep-login-description{font-size:14px;line-height:1.85;color:#6a738a;max-width:340px;margin:23px 0 0;white-space:pre-line;overflow-wrap:anywhere}
body.ep-login .ep-login-art{height:170px;position:relative;margin-top:25px}
body.ep-login .ep-login-orbit{position:absolute;border:1px solid #adb2d54d;border-radius:50%;width:230px;height:115px;left:25px;top:30px;transform:rotate(-25deg)}
body.ep-login .ep-login-orbit-two{width:180px;height:145px;left:50px;top:15px;transform:rotate(25deg)}
body.ep-login .ep-login-art-center{display:grid;place-content:center;position:absolute;left:100px;top:46px;width:76px;height:76px;border:1px solid #ffffffeb;border-radius:23px;background:#ffffffc9;box-shadow:0 18px 35px -20px #5b4e9690;color:var(--ep-login-accent);font-size:42px;transform:rotate(-10deg)}
body.ep-login .ep-login-node{position:absolute;width:10px;height:10px;background:var(--ep-login-accent);border:3px solid #fff;border-radius:50%;box-sizing:content-box;opacity:.45}.ep-login-node-one{left:40px;top:101px}.ep-login-node-two{left:240px;top:19px}
body.ep-login .ep-login-form{min-width:0;align-self:center;width:100%;padding:45px 48px;box-sizing:border-box;color:var(--ep-login-ink)}
body.ep-login .ep-login-form>.row{display:flex;flex-direction:column;margin:0;gap:0}body.ep-login .ep-login-form>.row>.col-md-5{width:100%;max-width:none;padding:0;flex:none}
body.ep-login .ep-login-form>.row>.col-auto{margin-top:18px;max-width:100%;padding:0!important;overflow-wrap:anywhere}
body.ep-login .ep-login-form .card-header{border:0!important;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:0!important;margin-bottom:29px!important;min-height:0}
body.ep-login .ep-login-form .card-header h2{margin:0!important;text-align:left;font-size:27px;font-weight:650;line-height:1.2;letter-spacing:-.04em;color:var(--ep-login-ink);overflow-wrap:anywhere}
body.ep-login .ep-login-intro{color:var(--ep-login-muted);font-size:13px;line-height:1.75;margin:0;white-space:pre-line}
body.ep-login .ep-login-form .form-label{font-size:12px;font-weight:600;color:#48536a;margin-bottom:9px}
body.ep-login .ep-login-form :is(#login_name,#login_password,.form-select,.select2-selection){border:1px solid #dce2ed;border-radius:10px;min-height:46px;background:#fdfdff;box-shadow:none;font-size:14px;color:var(--ep-login-ink)}
body.ep-login .ep-login-form :is(#login_name,#login_password){padding:11px 13px;width:100%;box-sizing:border-box}
body.ep-login .ep-login-form :is(#login_name,#login_password,.form-select):focus{border-color:var(--ep-login-accent);box-shadow:0 0 0 3px var(--ep-login-soft);outline:0}
body.ep-login .ep-login-form .select2-container{width:100%!important;max-width:100%}body.ep-login .ep-login-form .select2-selection__rendered{line-height:44px;font-size:13px}body.ep-login .ep-login-form .select2-selection__arrow{height:44px}
body.ep-login .ep-login-form .form-check-label{font-size:12px;color:#69758c}body.ep-login .ep-login-form .form-check-input:checked{background-color:var(--ep-login-accent);border-color:var(--ep-login-accent)}
body.ep-login .ep-login-form .form-footer{margin-top:25px}
body.ep-login .ep-login-form button[type=submit][name=submit]{border:1px solid var(--ep-login-accent);background:var(--ep-login-accent);color:#fff;border-radius:10px;min-height:46px;font-size:13px;font-weight:650;box-shadow:0 8px 18px -12px var(--ep-login-accent);padding:11px 15px}
body.ep-login .ep-login-form button[type=submit][name=submit]:hover{filter:brightness(.95)}body.ep-login .ep-login-form button[type=submit][name=submit]:disabled{opacity:.6}
body.ep-login .ep-login-form .forgot_password{margin-top:14px;font-size:12px}body.ep-login .ep-login-form .forgot_password a{color:var(--ep-login-accent);text-decoration:none}
body.ep-login .ep-login-caption{border-top:1px solid var(--ep-login-line);margin-top:26px;padding-top:19px;color:var(--ep-login-muted);font-size:11px;line-height:1.8;text-align:center}body.ep-login .ep-login-caption p{margin:0;white-space:pre-line}body.ep-login .ep-login-help{display:inline-block;color:var(--ep-login-accent);margin-top:8px;font-weight:600;text-decoration:none}
body.ep-login .ep-login-form .rich_text_container{font-size:13px;line-height:1.8;margin-bottom:22px}
body.ep-login :is(a,button,input,select):focus-visible{outline:2px solid var(--ep-login-accent);outline-offset:3px}
body.ep-login .container-tight>div.text-muted{font-size:10px;line-height:1.8;color:#8992a3!important;margin-top:22px!important}
body.ep-login[data-ep-login-layout=centered] .container-tight{max-width:500px!important}body.ep-login[data-ep-login-layout=centered] .ep-login-brand{justify-content:center}body.ep-login[data-ep-login-layout=centered] .ep-login-body{grid-template-columns:1fr;min-height:0}body.ep-login[data-ep-login-layout=centered] .ep-login-form{padding:38px}
@media(max-width:850px){body.ep-login .ep-login-story{padding:38px 28px}body.ep-login .ep-login-form{padding:38px 30px}body.ep-login .ep-login-headline{font-size:35px}}
@media(max-width:680px){body.ep-login #page>.flex-fill{padding:25px 16px!important}body.ep-login .ep-login-brand{margin-bottom:20px}body.ep-login .ep-login-body{grid-template-columns:1fr;min-height:0}body.ep-login .ep-login-story{padding:27px;border-right:0;border-bottom:1px solid var(--ep-login-line)}body.ep-login .ep-login-headline{font-size:30px;max-width:450px}body.ep-login .ep-login-eyebrow{margin-bottom:15px;font-size:9px}body.ep-login .ep-login-description{font-size:12px;max-width:none;margin-top:17px}body.ep-login .ep-login-art{display:none}body.ep-login .ep-login-form,body.ep-login[data-ep-login-layout=centered] .ep-login-form{padding:28px 25px}body.ep-login .ep-login-form .card-header h2{font-size:25px}body.ep-login .main-content-card[data-ep-login]{border-radius:20px}}
@media(forced-colors:active){body.ep-login .main-content-card[data-ep-login],body.ep-login .ep-login-form :is(#login_name,#login_password,button[type=submit]){border:1px solid CanvasText}body.ep-login .ep-login-art{display:none}}
@media(prefers-reduced-motion:reduce){body.ep-login *{scroll-behavior:auto!important}}
