.login-shell{min-height:calc(100vh - 48px);display:grid;grid-template-columns:minmax(480px,55%) 1fr;background:#fff}.login-content{display:grid;place-items:center;padding:42px clamp(28px,7vw,110px)}.login-card{width:min(100%,500px)}.login-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:70px}.login-topbar img{display:block;width:auto;height:52px}.back-home{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.82rem;font-weight:750;text-decoration:none}.back-home:hover{color:var(--green-800)}.login-heading{margin-bottom:31px}.login-heading h1{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.045em}.login-heading p{margin:11px 0 0;color:var(--muted);line-height:1.65}.login-alert{display:grid;gap:3px;margin-bottom:20px;padding:14px 16px;border:1px solid;border-radius:12px;font-size:.85rem}.login-alert-error{color:#7a271a;background:#fef3f2;border-color:#fecdca}.login-alert-success{color:#05603a;background:#ecfdf3;border-color:#abefc6}.login-form{display:grid;gap:21px}.login-field label,.login-label-row{font-size:.85rem;font-weight:750}.login-field>label{display:block;margin-bottom:8px}.login-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.login-label-row a{font-size:.78rem;text-decoration:none}.login-field input{width:100%;height:52px;padding:0 15px;color:var(--ink);background:#fff;border:1px solid #cbd8d1;border-radius:11px;outline:0;transition:border-color .2s,box-shadow .2s}.login-field input:hover{border-color:#9eb2a7}.login-field input:focus{border-color:var(--green-700);box-shadow:0 0 0 4px rgba(11,143,96,.12)}.login-field input.is-invalid{border-color:var(--danger)}.login-password{position:relative}.login-password input{padding-right:68px}.login-password button{position:absolute;top:50%;right:8px;transform:translateY(-50%);padding:7px 9px;color:var(--green-800);background:transparent;border:0;border-radius:6px;font-size:.77rem;font-weight:800;cursor:pointer}.login-password button:focus-visible{outline:2px solid var(--green-700)}.remember-option{display:flex;align-items:flex-start;gap:9px;width:fit-content;color:var(--muted);font-size:.83rem;cursor:pointer}.remember-option input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--green-800)}.login-submit{display:flex;align-items:center;justify-content:space-between;width:100%;height:52px;margin-top:2px;padding:0 18px;color:#fff;background:var(--green-800);border:0;border-radius:11px;box-shadow:0 10px 24px rgba(8,115,78,.22);font-weight:800;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}.login-submit:hover{background:var(--green-900);transform:translateY(-1px);box-shadow:0 14px 28px rgba(8,115,78,.26)}.login-submit:disabled{opacity:.72;cursor:wait;transform:none}.login-submit i{font-size:1.1rem;font-style:normal}.login-divider{display:flex;align-items:center;gap:12px;margin:29px 0 17px;color:#849089;font-size:.75rem;font-weight:700}.login-divider:before,.login-divider:after{content:"";height:1px;flex:1;background:var(--line)}.create-account-link{display:flex;align-items:center;justify-content:center;height:49px;color:var(--green-800);background:var(--green-50);border:1px solid #b8dfc9;border-radius:11px;font-size:.88rem;font-weight:800;text-decoration:none;transition:background .2s,border-color .2s}.create-account-link:hover{background:var(--green-100);border-color:#8bc5a4}.login-legal{margin:21px 0 0;color:#89958f;font-size:.72rem;text-align:center}.login-brand{position:relative;overflow:hidden;display:flex;align-items:flex-end;min-height:calc(100vh - 48px);padding:clamp(40px,6vw,82px);color:#fff;background:radial-gradient(circle at 80% 10%,rgba(91,208,143,.38),transparent 36%),linear-gradient(145deg,var(--green-950),var(--green-800))}.login-brand:before,.login-brand:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%}.login-brand:before{width:590px;height:590px;top:-300px;right:-250px}.login-brand:after{width:390px;height:390px;left:-190px;bottom:-160px}.login-brand-content{position:relative;z-index:1;max-width:540px}.login-brand-mark{display:inline-flex;margin-bottom:28px;padding:7px 11px;color:#082f23;background:#7ae0a7;border-radius:7px;font-size:.7rem;font-weight:900;letter-spacing:.16em}.login-quote{margin:0;font-size:clamp(2rem,3.5vw,4rem);font-weight:800;line-height:1.08;letter-spacing:-.045em}.login-statements{display:flex;gap:36px;margin-top:48px;padding-top:25px;border-top:1px solid rgba(255,255,255,.18)}.login-statements b,.login-statements small{display:block}.login-statements b{margin-bottom:4px;font-size:.95rem}.login-statements small{color:rgba(255,255,255,.68);font-size:.76rem}
@media(max-width:960px){.login-shell{display:block}.login-brand{display:none}.login-content{min-height:calc(100vh - 48px);padding:35px 22px}.login-card{padding:30px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.login-topbar{margin-bottom:50px}}
@media(max-width:600px){.login-content{display:block;padding:0}.login-card{min-height:calc(100vh - 48px);padding:24px 18px 36px;border:0;border-radius:0;box-shadow:none}.login-topbar{margin-bottom:48px}.login-topbar img{height:45px}.back-home{font-size:0}.back-home span{font-size:1.2rem}.login-heading h1{font-size:2rem}}
