:root{--side:#2f4050;--accent:#1ab394;--accent-dark:#15856f;--page:#f3f3f4;--ink:#394853;--text:#676a6c;--border:#d8dfe2;--red:#a92d3a}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font:14px/1.6 "Helvetica Neue",Helvetica,Arial,sans-serif;min-height:100vh;display:grid;place-items:center;padding:40px 24px}.login-shell{width:min(900px,100%);display:grid;grid-template-columns:340px 1fr;background:white;border:1px solid var(--border);border-radius:5px;overflow:hidden;box-shadow:0 12px 45px #2f40500c}.login-brand{background:var(--side);color:#fff;padding:44px 38px;display:flex;flex-direction:column}.brand-mark{font:bold 19px/1 ui-monospace,Consolas,monospace;letter-spacing:2px;border:2px solid var(--accent);border-radius:5px 15px 5px 5px;width:64px;padding:19px 10px;margin-bottom:28px}h1{font-size:29px;line-height:1.2;margin:0 0 16px;font-weight:600}.brand-intro{font-size:16px;color:#d5dee7;margin:0}.brand-sections{margin:42px 0 24px;border-top:1px solid #526371;padding-top:8px}.brand-sections p{color:#c0ccda;font-size:13px;margin:20px 0}.brand-sections span{display:block;color:white;font-size:14px;font-weight:600;margin-bottom:3px}.brand-footer{margin-top:auto;font-size:12px;color:#bdcad6}.login-panel{padding:48px 48px 34px}.eyebrow{color:var(--accent-dark);font-size:12px;font-weight:600}.login-heading h2{font-size:27px;line-height:1.2;color:var(--ink);font-weight:500;margin:8px 0 14px}.login-heading p{margin:0 0 28px}label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--ink)}input{font:inherit;width:100%;height:46px;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--ink);padding:10px 12px}#username{margin-bottom:22px}.password-field{display:flex;position:relative}.password-field input{padding-right:90px}.password-field button{position:absolute;right:5px;top:5px;height:36px;border:0;background:transparent;color:#3e655c;font-size:12px;padding:0 8px;cursor:pointer}.login-submit{width:100%;font:inherit;font-weight:600;background:var(--accent);color:#fff;border:1px solid #19aa8d;border-radius:3px;padding:13px;min-height:46px;margin-top:26px;cursor:pointer}.login-submit:hover{background:var(--accent-dark)}button:disabled{opacity:.7;cursor:wait}input:focus-visible,button:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}.login-error{background:#fde9eb;color:var(--red);border-left:3px solid var(--red);padding:10px 12px;margin:18px 0 0;font-size:13px}.login-help{border-top:1px solid #e7eaec;margin-top:30px;padding-top:22px;font-size:13px}.login-help strong{color:var(--ink);font-weight:500}.login-help p{margin:4px 0}.session-note{font-size:12px;line-height:1.5;color:#70777c;margin:24px 0 0}@media(max-width:650px){body{padding:20px 14px;display:block}.login-shell{grid-template-columns:1fr;max-width:460px;margin:auto}.login-brand{padding:22px 26px;display:block}.brand-mark{float:left;margin:0 16px 0 0;width:48px;padding:14px 5px;font-size:16px}h1{font-size:23px;margin:0 0 3px}.brand-intro{font-size:12px;line-height:1.5}.brand-intro br{display:none}.brand-sections,.brand-footer{display:none}.login-panel{padding:28px 26px}.login-heading h2{font-size:24px}}@media(max-width:360px){.login-panel{padding:24px 20px}.login-brand{padding:20px}.login-heading p{font-size:13px}}

@media(max-width:650px){input{font-size:16px}}
