.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(440px,.85fr);background:#f4f6fa;font-family:var(--body-font,Vazirmatn),Tahoma,sans-serif}
.login-visual{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:flex-end;padding:64px;background:linear-gradient(145deg,#101a33,#1c2c51);background-size:cover;background-position:center;color:#fff}
.login-visual:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 25% 25%,color-mix(in srgb,var(--primary) 55%,transparent),transparent 25%),radial-gradient(circle at 75% 60%,rgba(108,81,221,.35),transparent 28%);animation:loginGlow 12s ease-in-out infinite alternate}
.login-visual-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,14,29,.93),rgba(11,21,43,.25) 70%)}
.login-presentation{position:relative;z-index:2;max-width:640px}.product-badge{display:inline-flex;padding:6px 11px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(255,255,255,.08);font-size:10px}.login-presentation h1{max-width:590px;margin:17px 0 12px;font-size:34px;line-height:1.55}.login-presentation p{max-width:570px;margin:0;color:#c0c9dc;font-size:13px}.login-features{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:25px;color:#d8deeb;font-size:10px}.login-side-image{position:absolute;z-index:1;inset-inline-end:5%;top:8%;max-width:52%;max-height:54%;object-fit:contain;filter:drop-shadow(0 25px 30px rgba(0,0,0,.25));opacity:.88}
.login-panel{min-height:100vh;display:grid;place-items:center;padding:45px;background:var(--surface,#fff);box-shadow:0 0 60px rgba(11,23,48,.12);z-index:3}.login-form-wrap{width:100%;max-width:440px}.login-brand{display:flex;align-items:center;gap:13px;margin-bottom:31px}.login-brand img,.login-logo{width:54px;height:54px;flex:none;border-radius:15px;object-fit:contain}.login-logo{display:grid;place-items:center;background:linear-gradient(145deg,var(--primary),#7254da);color:#fff;font-size:28px;font-weight:900}.login-brand h2{margin:0;font-size:21px}.login-brand p{margin:2px 0 0;color:#7c8799;font-size:10px}.input-action{display:grid;grid-template-columns:1fr 92px;gap:8px}.password-input{position:relative}.password-input input{padding-inline-end:47px}.password-input button{position:absolute;inset-inline-end:5px;top:5px;width:36px;height:36px;min-height:36px;padding:0;border:0;background:transparent;color:#8994a7;box-shadow:none}.label-row{display:flex;align-items:center;justify-content:space-between}.text-button{min-height:unset;padding:0;border:0;background:transparent;color:var(--primary);font-size:9px;box-shadow:none}.captcha-row{display:grid;grid-template-columns:minmax(0,1.25fr) 44px minmax(0,1fr);align-items:center;gap:8px}.captcha-row img{width:100%;height:var(--control-height,46px);object-fit:cover;border:1px solid #dce2ec;border-radius:10px;background:#f2f4f8}.login-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-top:20px}.primary-button,.secondary-button{min-height:var(--control-height,46px)}.otp-box{display:grid;gap:8px;margin-top:16px;padding:15px;border:1px solid #dce3ef;border-radius:13px;background:#f8faff}.otp-box input{text-align:center;font-size:19px;letter-spacing:8px}.login-message{margin-top:16px;padding:11px 13px;border-radius:10px;background:#fff4de;color:#835a12;font-size:10px;line-height:1.8}.login-security-note{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:24px;padding-top:18px;border-top:1px solid #edf0f4;color:#8993a5;font-size:9px}
@keyframes loginGlow{to{transform:translate(5%,3%) scale(1.08)}}
@media(max-width:960px){.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:34px 20px}}
@media(max-width:520px){.login-panel{place-items:start center;padding-top:30px}.login-brand{margin-bottom:23px}.input-action{grid-template-columns:1fr}.captcha-row{grid-template-columns:minmax(96px,1.1fr) 40px minmax(96px,1fr);gap:6px}.captcha-row img{height:58px}.login-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.login-visual:before{animation:none}}
.organization-form{margin-bottom:4px}.login-reset-link{display:block;margin-top:14px;text-align:center;color:var(--primary);font-size:10px;text-decoration:none}.login-reset-link:hover{text-decoration:underline}

/* AvidIMS 6.12.0 secure login experience */
.login-slideshow{position:absolute;inset:0;z-index:1;overflow:hidden}
.login-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1.1s ease,transform 8s ease;filter:saturate(.9) contrast(1.03)}
.login-slide.is-active{opacity:.68;transform:scale(1)}
.captcha-row{grid-template-columns:minmax(0,1.3fr) 44px minmax(0,1fr);align-items:center}
.captcha-image-box{min-width:0}
.captcha-image-box img{display:block;height:62px}
.captcha-row > input{height:62px;min-width:0}
.captcha-refresh-button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #d8e0ee;border-radius:50%;background:#f7f9fd;color:var(--primary);font-size:24px;line-height:1;box-shadow:0 5px 16px rgba(24,39,75,.12)}
.captcha-refresh-button:hover{transform:rotate(28deg);background:#fff;border-color:color-mix(in srgb,var(--primary) 35%,#d8e0ee)}
.captcha-refresh-button:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 22%,transparent);outline-offset:2px}
.captcha-refresh-button.is-loading{animation:captchaSpin .8s linear infinite}
.captcha-expiry-note{display:block;margin-top:6px;color:#8490a4;font-size:9px}
.login-security-note{position:relative;cursor:help;outline:none}
.login-security-trigger{border-bottom:1px dashed #a9b3c3}
.login-security-details{position:absolute;z-index:30;left:50%;bottom:calc(100% + 12px);width:min(360px,calc(100vw - 32px));display:grid;gap:5px;padding:13px 15px;border:1px solid #dce4f0;border-radius:12px;background:#fff;color:#526078;font-size:10px;line-height:1.9;box-shadow:0 18px 50px rgba(15,28,55,.2);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .18s ease,visibility .18s ease,transform .18s ease;text-align:start;pointer-events:none}
.login-security-details strong{color:#26344d}
.login-security-details:after{content:"";position:absolute;bottom:-6px;left:50%;width:11px;height:11px;background:#fff;border-right:1px solid #dce4f0;border-bottom:1px solid #dce4f0;transform:translateX(-50%) rotate(45deg)}
.login-security-note:hover .login-security-details,.login-security-note:focus .login-security-details,.login-security-note:focus-within .login-security-details{opacity:1;visibility:visible;transform:translate(-50%,0)}
@keyframes captchaSpin{to{transform:rotate(360deg)}}
@media(max-width:520px){.captcha-row{grid-template-columns:minmax(96px,1.1fr) 40px minmax(96px,1fr);gap:6px}.captcha-image-box img,.captcha-row > input{height:58px}.captcha-refresh-button{width:40px;height:40px;min-width:40px;min-height:40px}.login-security-details{width:min(330px,calc(100vw - 24px))}}
@media(prefers-reduced-motion:reduce){.login-slide,.captcha-refresh-button,.login-security-details{transition:none}.captcha-refresh-button.is-loading{animation:none}}

/* AvidIMS 6.12.4 CAPTCHA alignment and interactive refresh */
.captcha-row{
    display:flex!important;
    flex-flow:row nowrap;
    align-items:center;
    width:100%;
    gap:10px;
}
.captcha-image-box{
    flex:1.25 1 0;
    width:0;
    min-width:0;
}
.captcha-image-box img{
    display:block;
    width:100%;
    height:58px;
    border-radius:12px;
}
.captcha-row>.captcha-refresh-button{
    flex:0 0 48px;
    width:48px;
    height:48px;
    min-width:48px;
    min-height:48px;
    max-width:48px;
    padding:0;
    border-radius:50%;
    aspect-ratio:1/1;
    align-self:center;
}
.captcha-row>input{
    flex:1 1 0;
    width:0!important;
    min-width:0;
    height:58px;
}
@media(max-width:520px){
    .captcha-row{gap:7px}
    .captcha-image-box img,.captcha-row>input{height:54px}
    .captcha-row>.captcha-refresh-button{flex-basis:42px;width:42px;height:42px;min-width:42px;min-height:42px;max-width:42px}
}

.login-language-selector{position:fixed;z-index:20;inset-block-start:14px;inset-inline-end:18px;display:flex;align-items:center;gap:6px;padding:5px 7px;border:1px solid #dce3ef;border-radius:11px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(20,35,70,.08)}
.login-language-selector select{border:0;background:transparent;min-height:34px}
.login-language-selector button{width:auto;min-width:48px;min-height:34px;padding:0 9px;border:0;border-radius:8px;background:#eef3ff;color:#3157d5}
