:root{--green:#087856;--dark:#063d30;--ink:#17372d;--muted:#73847c;--line:#dce7e2;--bg:#f4f8f6;--red:#c54f4b}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input{font:inherit}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(380px,44%) 1fr}.brand-panel{background:linear-gradient(145deg,#073f31,#075a43);color:white;padding:42px 8vw 34px 5vw;display:flex;flex-direction:column;position:relative;overflow:hidden}.brand-panel:before,.brand-panel:after{content:"";position:absolute;border:1px solid #ffffff15;border-radius:50%}.brand-panel:before{width:440px;height:440px;right:-200px;top:-180px}.brand-panel:after{width:320px;height:320px;left:-160px;bottom:-100px}.brand,.mobile-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.brand>span,.mobile-brand>span{width:48px;height:48px;border-radius:14px;background:white;color:var(--green);display:grid;place-items:center;font-size:27px}.brand div,.mobile-brand div{display:flex;flex-direction:column}.brand b,.mobile-brand b{font-size:15px;letter-spacing:.05em}.brand small,.mobile-brand small{font-size:10px;letter-spacing:.18em;color:#9bcebc;margin-top:4px}.message{margin:auto 0;max-width:520px;position:relative;z-index:1}.message em,form>em{font-style:normal;color:#78d1ae;font-size:10px;letter-spacing:.17em;font-weight:800}.message h1{font-size:39px;line-height:1.16;letter-spacing:-.04em;margin:16px 0}.message>p{color:#b8d9cd;line-height:1.7;font-size:14px}.message ul{list-style:none;padding:15px 0;margin:0;display:grid;gap:14px}.message li{font-size:13px;color:#d4e8e0}.message li i{font-style:normal;background:#ffffff17;color:#7ee3b7;width:25px;height:25px;border-radius:50%;display:inline-grid;place-items:center;margin-right:9px}.brand-panel footer{color:#8fbead;font-size:10px;position:relative;z-index:1}.form-panel{display:grid;place-items:center;padding:42px}.mobile-brand{display:none}form{width:min(420px,100%);background:white;border:1px solid var(--line);border-radius:21px;padding:38px;box-shadow:0 18px 55px #0a4e3812}.lock{width:45px;height:45px;border-radius:13px;background:#e3f3ec;color:var(--green);display:grid;place-items:center;font-size:22px;margin-bottom:21px}form>em{color:var(--green)}form h2{font-size:27px;letter-spacing:-.03em;margin:8px 0}form>p{color:var(--muted);font-size:13px;margin:0 0 27px;line-height:1.5}form>label{display:block;font-size:12px;font-weight:700;margin:17px 0 7px}input[type=email],input[type=password]{width:100%;height:47px;border:1px solid #ccdcd5;border-radius:10px;padding:0 13px;outline:none;background:#fbfdfc;color:var(--ink)}input:focus{border-color:var(--green);box-shadow:0 0 0 3px #0b8a6118}.password{position:relative}.password input{padding-right:45px}.password button{position:absolute;right:4px;top:4px;width:38px;height:39px;border:0;background:transparent;color:#83938b}.options{display:flex;justify-content:space-between;align-items:center;margin:14px 0}.options label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px}.options button{border:0;background:transparent;color:var(--green);font-size:11px;font-weight:700}.submit{width:100%;height:48px;background:var(--green);color:white;border:0;border-radius:10px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:12px}.submit:hover{background:#066c4d}.submit:disabled{opacity:.65;cursor:wait}.error{display:none;background:#fdeceb;color:var(--red);border:1px solid #f3cfcc;border-radius:9px;padding:10px 12px;font-size:11px;margin:0 0 12px}.error.show{display:block}.security{text-align:center;color:#829188;font-size:10px;margin-top:18px}.mobile-brand{margin-bottom:25px}.mobile-brand b{color:var(--ink)}.mobile-brand small{color:var(--green)}@media(max-width:760px){.login-shell{display:block}.brand-panel{display:none}.form-panel{min-height:100vh;padding:25px 17px;display:flex;flex-direction:column;justify-content:center}.mobile-brand{display:flex;align-self:flex-start}form{padding:27px 22px;border-radius:17px;box-shadow:0 12px 36px #0a4e3810}.lock{margin-bottom:17px}form h2{font-size:24px}.options{margin:13px 0}.submit{height:50px}}@media(max-width:370px){.form-panel{padding:18px 12px}form{padding:22px 17px}}