.login-root{--accent:#005FB8;--accent-dark:#003E92;--text:#1B1B1B;--text-dim:#5C5C5C;--border:#E5E5E5;--border-input:#D1D1D1;--error:#C42B1C;--success:#0F7B0F;--brand-bg:#1F2933;font-family:Segoe UI Variable Text,Segoe UI,system-ui,-apple-system,sans-serif;background:#F3F3F3;color:var(--text);min-height:100vh;display:flex;flex-wrap:wrap}.login-root .brand-panel{flex:1 1 520px;min-height:420px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:48px 56px;background:var(--brand-bg);color:#F3F3F3}.login-root .brand-art{position:absolute;inset:0;width:100%;height:100%;opacity:.55}.login-root .brand-copy,.login-root .brand-foot,.login-root .brand-top{position:relative}.login-root .brand-top{display:flex;align-items:center;gap:12px}.login-root .brand-logo{width:36px;height:36px;border-radius:6px;background:var(--accent);color:#FFFFFF;display:grid;place-items:center;font-size:15px;font-weight:700}.login-root .brand-name{font-size:16px;font-weight:600}.login-root .brand-copy{max-width:460px;display:flex;flex-direction:column;gap:14px}.login-root .brand-title{font-family:Segoe UI Variable Display,Segoe UI,system-ui,sans-serif;font-size:40px;line-height:1.15;font-weight:600}.login-root .brand-subtitle{font-size:15px;line-height:1.55;color:#CBD2D9}.login-root .brand-features{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.5;color:#CBD2D9}.login-root .brand-features strong{color:#F3F3F3;font-weight:600}.login-root .brand-foot{font-size:12px;color:#9AA5B1}.login-root .login-panel{flex:1 1 480px;display:flex;align-items:center;justify-content:center;padding:48px 24px}.login-root .login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:20px;padding:36px 32px 28px;background:#FFFFFF;border:1px solid var(--border);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.login-root .login-header{display:flex;flex-direction:column;gap:6px}.login-root .login-header h2{font-size:24px;font-weight:600}.login-root .login-header p{font-size:13px;color:var(--text-dim)}.login-root .form-group{display:flex;flex-direction:column;gap:6px}.login-root .form-label-row{display:flex;justify-content:space-between;align-items:baseline}.login-root .form-label{font-size:13px;font-weight:600}.login-root .form-input{height:34px;padding:0 10px;font:inherit;font-size:14px;color:var(--text);background:#FFFFFF;border:1px solid var(--border-input);border-bottom:1px solid #8a8a8a;border-radius:4px}.login-root .form-input::placeholder{color:#767676}.login-root .form-input:focus{outline:none;border-bottom-color:var(--accent);box-shadow:inset 0 -1px 0 var(--accent)}.login-root .form-input.error{border-bottom-color:var(--error);box-shadow:inset 0 -1px 0 var(--error)}.login-root .error-message{display:none;font-size:12px;color:var(--error)}.login-root .form-group.has-error .error-message{display:block}.login-root .forgot-link,.login-root .login-footer a{font-size:12px;color:var(--accent);text-decoration:none}.login-root .forgot-link:hover,.login-root .login-footer a:hover{color:var(--accent-dark);text-decoration:underline}.login-root .checkbox-group{display:flex;align-items:center;gap:8px;min-height:24px;font-size:13px;cursor:pointer}.login-root .checkbox-input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.login-root .btn-login{height:36px;display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:14px;font-weight:600;color:#FFFFFF;background:var(--accent);border:1px solid rgba(0,0,0,.1);border-radius:4px;cursor:pointer}.login-root .btn-login:hover{background:#1A6FC2}.login-root .btn-login:active{background:var(--accent-dark)}.login-root .btn-login.loading{cursor:wait;opacity:.85}.login-root .btn-login.loading .btn-text{display:none}.login-root .btn-login .spinner{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#ffffff;border-radius:50%;animation:login-spin .8s linear infinite}.login-root .btn-login.loading .spinner{display:block}@keyframes login-spin{to{transform:rotate(1turn)}}.login-root .login-footer{padding-top:16px;border-top:1px solid #ebebeb;font-size:12px;line-height:1.5;color:var(--text-dim)}.login-root .notification{position:fixed;top:24px;right:24px;z-index:1000;display:flex;align-items:center;gap:10px;max-width:360px;padding:12px 16px;font-size:13px;color:#FFFFFF;background:var(--success);border-radius:6px;box-shadow:0 8px 16px rgba(0,0,0,.14);transform:translateX(150%);transition:transform .25s ease}.login-root .notification.failed{background:var(--error)}.login-root .notification.show{transform:translateX(0)}.login-root .notification svg{flex-shrink:0;width:18px;height:18px}@media (max-width:720px){.login-root .brand-panel{min-height:0;padding:32px 24px}.login-root .brand-art,.login-root .brand-features{display:none}.login-root .brand-title{font-size:26px}}