body.task-login{background:#f4f7fb;color:#0f1e34;overflow:auto;font-family:Manrope,system-ui,sans-serif}
body.task-login #layout{display:block;height:auto;min-height:100%;overflow:visible;padding:0}
body.task-login #layout-content.os-login{display:grid;grid-template-columns:minmax(0,1fr);min-height:100vh;min-height:100dvh;height:auto;overflow:visible;background:#f4f7fb;width:100%;max-width:none;padding:0;margin:0}
.os-brand{display:none}
.os-signin-stage{display:grid;place-items:center;padding:32px 16px 40px}
.os-signin-panel{width:100%;max-width:440px;background:#fff;border:1px solid #d5deea;border-radius:24px;padding:32px 24px;box-shadow:0 2px 4px rgba(15,30,52,.04),0 8px 24px rgba(15,30,52,.08);animation:os-rise .5s cubic-bezier(.2,.7,.2,1) both}
.os-mobile-logo{display:block;width:190px;height:auto;margin:0 auto 24px}
.os-signin-panel h2{font-family:Sora,Manrope,sans-serif;font-size:19px;line-height:1.25;letter-spacing:-.01em;font-weight:600;margin:0 0 8px;color:#0f1e34}
.os-signin-intro{font-size:13px;line-height:1.55;color:#47586f;margin:0 0 16px}
.os-access{font-size:13px;color:#47586f;margin:20px 0 0;text-align:center}
body.task-login #login-form{width:100%;max-width:none;margin:0;padding:0;text-align:left;position:static;top:auto}
#login-form table{width:100%}
#login-form td.title{display:block;padding:14px 0 8px;text-align:left;color:#0f1e34;font-size:14px;font-weight:700}
#login-form td.input{display:block;padding:0;position:relative}
#login-form td.input .input-group-prepend{position:absolute;left:1px;top:1px;bottom:1px;width:46px;z-index:5;margin:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
#login-form td.input .input-group-text{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;color:#47586f}
#login-form td.input .input-group-text:before{float:none;width:20px;height:24px;line-height:24px;margin:0;font-size:20px}
#login-form input.form-control,#login-form select{width:100%;height:52px;min-height:52px;border:1px solid #7a8aa2;border-radius:12px;font-size:16px;color:#0f1e34;background:#fff;box-shadow:none;padding-left:48px;transition:border-color .16s ease-out,box-shadow .16s ease-out}
#login-form input.form-control:hover{border-color:#47586f}
#login-form input.form-control:focus{z-index:2;border-color:#095cd1;box-shadow:0 0 0 3px rgba(9,92,209,.28);outline:none}
#login-form button,#login-form input[type=submit]{width:100%;min-height:52px;border-radius:12px;margin-top:24px;background:#095cd1;color:#fff;border:1px solid #095cd1;font-size:16px;font-weight:700;box-shadow:0 1px 2px rgba(15,30,52,.06);transition:background-color .16s ease-out,transform .08s ease-out}
#login-form button:hover{background:#0849a6;border-color:#0849a6;color:#fff}
#login-form button:active{background:#0a3a80;transform:translateY(1px)}
body.task-login #login-form input.form-control:focus-visible{outline:none}body.task-login #login-form button:focus-visible{outline:2px solid #095cd1;outline-offset:2px}
body.task-login #messagestack{max-width:calc(100vw - 32px)}
@keyframes os-rise{from{opacity:.001;transform:translateY(10px)}}
@media (min-width:900px){
  body.task-login #layout-content.os-login{grid-template-columns:minmax(360px,5fr) 7fr}
  .os-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:48px;background:#0f1e34;color:#fff}
  .os-brand-logo{width:180px;height:auto;position:relative;z-index:1}
  .os-brand-copy{position:relative;z-index:1;max-width:26rem}
  .os-eyebrow{margin:0;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#62c4cc}
  .os-slogan{margin:14px 0 0;font-family:Sora,Manrope,sans-serif;font-size:clamp(44px,4.4vw,64px);line-height:1.02;letter-spacing:-.035em;font-weight:700;color:#fff}
  .os-brand-text{margin:18px 0 0;font-size:17px;line-height:1.6;color:#b0bed0}
  .os-brand-foot{position:relative;z-index:1;margin:0;font-size:13px;color:#b0bed0}
  .os-ring{position:absolute;right:-140px;bottom:-120px;width:460px;height:460px;opacity:.9;animation:os-spin-in 1.2s cubic-bezier(.2,.7,.2,1) both}
  .os-signin-stage{padding:48px}
  .os-signin-panel{padding:44px 44px 36px}
  .os-mobile-logo{display:none}
  .os-signin-panel h2{font-size:22px}
}
@keyframes os-spin-in{from{transform:rotate(-40deg);opacity:.001}}
@media (prefers-reduced-motion:reduce){.os-signin-panel,.os-ring{animation:none}}
