:root{--green-950:#043a2d;--green-900:#075a43;--green-800:#087a55;--green-700:#0b8f63;--green-100:#daf4e8;--green-50:#f3fbf7;--text:#14221d;--muted:#697771;--line:#dce7e2;--white:#fff;--danger:#c73939;--shadow:0 18px 50px rgba(20,34,29,.08)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:#fff}body{min-height:100vh}a{color:var(--green-800);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(400px,44%) 1fr}.auth-brand-panel{position:relative;overflow:hidden;padding:42px clamp(32px,5vw,76px);display:flex;flex-direction:column;min-height:100vh;color:#fff;background:linear-gradient(145deg,var(--green-950),var(--green-800))}.auth-brand-panel:before,.auth-brand-panel:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.auth-brand-panel:before{width:420px;height:420px;right:-160px;top:-110px;background:rgba(255,255,255,.045)}.auth-brand-panel:after{width:300px;height:300px;left:-120px;bottom:-90px;border:1px solid rgba(255,255,255,.09)}.brand{position:relative;z-index:1;display:inline-flex;align-items:center;gap:12px;color:#fff;width:max-content}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#fff;color:var(--green-900);font-weight:800;letter-spacing:-.04em;box-shadow:0 8px 20px rgba(0,0,0,.08)}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-size:16px}.brand-copy small{text-transform:uppercase;letter-spacing:.22em;margin-top:5px;font-size:9px;opacity:.7}.brand-content{position:relative;z-index:1;margin:auto 0;max-width:620px;padding:80px 0}.eyebrow{display:inline-block;font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#b8f0d7}.eyebrow.light{color:var(--green-800);background:var(--green-50);padding:7px 10px;border-radius:999px}.brand-content h1{font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.055em;margin:18px 0 22px;max-width:620px}.brand-content>p{font-size:17px;line-height:1.7;color:rgba(255,255,255,.76);max-width:570px}.benefits{display:grid;gap:14px;margin-top:42px}.benefits article{display:flex;gap:16px;align-items:flex-start;padding:15px 0}.benefits article>span{display:grid;place-items:center;flex:0 0 36px;height:36px;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#c6f4de;font-size:11px;font-weight:800}.benefits h3{margin:0 0 5px;font-size:15px}.benefits p{margin:0;color:rgba(255,255,255,.6);font-size:13px;line-height:1.55}.brand-footer{position:relative;z-index:1;margin:0;font-size:12px;color:rgba(255,255,255,.5)}.auth-form-panel{display:grid;place-items:center;padding:52px clamp(24px,6vw,92px);background:linear-gradient(180deg,#fff 0%,#fcfffd 100%)}.form-wrap{width:min(100%,520px)}.form-wrap.wide{width:min(100%,680px)}.form-wrap.compact{width:min(100%,470px)}.mobile-brand{display:none}.form-heading{margin-bottom:30px}.form-heading h2{font-size:34px;line-height:1.12;letter-spacing:-.035em;margin:14px 0 10px}.form-heading p{margin:0;color:var(--muted);line-height:1.65;font-size:14px}.auth-form{display:grid;gap:18px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:8px}.field label,.label-row label{font-weight:700;font-size:13px}.label-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.label-row a{font-size:12px;font-weight:700}.field input,.field select{width:100%;height:50px;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:#fff;color:var(--text);outline:none;transition:.18s ease}.field input::placeholder{color:#a0aaa5}.field input:focus,.field select:focus{border-color:var(--green-700);box-shadow:0 0 0 4px rgba(11,143,99,.09)}.field input.invalid,.field select.invalid{border-color:var(--danger)}.field-error{min-height:0;color:var(--danger);font-size:11px}.field-error:empty{display:none}.password-wrap{position:relative}.password-wrap input{padding-right:72px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--green-800);font-size:11px;font-weight:800;cursor:pointer;padding:8px}.check-row{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--muted);cursor:pointer}.check-row input{accent-color:var(--green-800);margin-top:2px}.terms{line-height:1.55}.primary-btn{height:52px;border:0;border-radius:12px;background:var(--green-800);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 10px 24px rgba(8,122,85,.18);transition:.18s ease}.primary-btn:hover{background:var(--green-900);transform:translateY(-1px)}.primary-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.primary-btn i{font-style:normal;font-size:18px}.switch-copy{text-align:center;margin:26px 0 0;font-size:13px;color:var(--muted)}.switch-copy a{font-weight:800}.legal-copy{text-align:center;margin:14px auto 0;color:#9aa49f;font-size:11px;line-height:1.5;max-width:430px}.alert{display:none;margin:0 0 18px;padding:12px 14px;border-radius:10px;font-size:13px;line-height:1.5}.alert.show{display:block}.alert.success{background:#eaf8f1;color:#146a49;border:1px solid #c9eddc}.alert.error{background:#fff0f0;color:#a22d2d;border:1px solid #f4cece}
@media(max-width:980px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{display:none}.auth-form-panel{min-height:100vh;padding:32px 22px}.mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:42px;color:var(--green-950)}.mobile-brand .brand-mark{background:var(--green-900);color:#fff;width:40px;height:40px}.mobile-brand strong{font-size:15px}.form-heading h2{font-size:30px}}
@media(max-width:640px){.auth-form-panel{align-items:start;padding:24px 18px 40px}.mobile-brand{margin-bottom:34px}.grid-2{grid-template-columns:1fr;gap:18px}.form-heading{margin-bottom:26px}.form-heading h2{font-size:27px}.field input,.field select{height:48px}.primary-btn{height:50px}.form-wrap.wide{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
