:root{--green:#159447;--green-dark:#087735;--green-soft:#edf9f1;--ink:#172019;--muted:#667069;--line:#dfe6e1;--surface:#fff;--danger:#bd2b36;--danger-soft:#fff1f2;--shadow:0 24px 70px rgba(22,55,34,.11)}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;min-height:100vh;background:#f7faf7;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}.auth-page{display:grid;grid-template-columns:minmax(320px,42%) 1fr;min-height:100vh}.auth-intro{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:clamp(34px,5vw,72px);background:#102f1d;color:#fff}.auth-intro:before,.auth-intro:after{position:absolute;border-radius:50%;content:"";pointer-events:none}.auth-intro:before{right:-120px;top:-100px;width:360px;height:360px;background:rgba(72,207,121,.10)}.auth-intro:after{left:-150px;bottom:-190px;width:420px;height:420px;border:80px solid rgba(255,255,255,.035)}.brand{position:relative;z-index:1;color:inherit;font-size:1.7rem;font-weight:850;letter-spacing:-.075em;text-decoration:none}.brand span{color:#45ce79}.intro-copy{position:relative;z-index:1;max-width:490px;margin:auto 0}.intro-label,.eyebrow{margin:0 0 13px;color:#4ed17d;font-size:.7rem;font-weight:800;letter-spacing:.14em}.intro-copy h2{max-width:460px;margin:0 0 22px;font-size:clamp(2.25rem,4vw,4.5rem);font-weight:760;letter-spacing:-.055em;line-height:1.01}.intro-copy>p:last-child{max-width:440px;margin:0;color:#bad0c1;font-size:1rem;line-height:1.75}.intro-foot{position:relative;z-index:1;margin:0;color:#8fab98;font-size:.75rem}.auth-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 28px}.mobile-brand{display:none}.auth-card{width:min(100%,540px);padding:8px 0}.auth-heading{margin-bottom:30px}.auth-heading h1{margin:0 0 10px;font-size:clamp(1.85rem,3vw,2.45rem);font-weight:760;letter-spacing:-.045em;line-height:1.08}.auth-heading>p:last-child{max-width:455px;margin:0;color:var(--muted);font-size:.94rem;line-height:1.6}.eyebrow{color:var(--green-dark)}.auth-form{display:grid;gap:18px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:8px;color:#303a33;font-size:.79rem;font-weight:720}.field small{color:#909891;font-size:.69rem;font-weight:550}.field input,.field select{width:100%;height:52px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;font-size:.91rem;font-weight:500;outline:none;padding:0 15px;transition:border-color .18s,box-shadow .18s,background .18s}.field input::placeholder{color:#a0a8a2}.field input:hover,.field select:hover{border-color:#bdc9c0}.field input:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(21,148,71,.11)}.password-field{position:relative;display:block}.password-field input{padding-right:68px}.password-toggle{position:absolute;right:6px;top:6px;height:40px;border:0;border-radius:8px;background:transparent;color:var(--green-dark);font:inherit;font-size:.73rem;font-weight:750;cursor:pointer;padding:0 10px}.password-toggle:hover,.password-toggle:focus-visible{background:var(--green-soft);outline:none}.form-link{margin-top:-7px;text-align:right}.form-link a,.auth-switch a,.support-line a,.consent a{color:var(--green-dark);font-weight:730;text-decoration:none}.form-link a:hover,.auth-switch a:hover,.support-line a:hover,.consent a:hover{text-decoration:underline}.primary-button{display:flex;align-items:center;justify-content:center;width:100%;height:52px;border:0;border-radius:12px;background:var(--green);box-shadow:0 9px 24px rgba(21,148,71,.18);color:#fff;font:inherit;font-size:.9rem;font-weight:780;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s}.primary-button:hover{background:var(--green-dark);box-shadow:0 11px 27px rgba(8,119,53,.22);transform:translateY(-1px)}.primary-button:active{transform:translateY(0)}.primary-button:disabled{cursor:wait;opacity:.72;transform:none}.consent{display:grid;grid-template-columns:19px 1fr;align-items:start;gap:10px;color:var(--muted);font-size:.76rem;line-height:1.55}.consent input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--green)}.auth-switch{margin:26px 0 0;padding-top:22px;border-top:1px solid #e9eeea;color:var(--muted);font-size:.82rem;text-align:center}.notice{display:grid;grid-template-columns:26px 1fr;align-items:start;gap:10px;margin:0 0 24px;padding:13px 14px;border:1px solid;border-radius:12px;font-size:.8rem;line-height:1.5}.notice span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:850}.notice p{margin:2px 0 0}.notice-error{border-color:#ffd4d8;background:var(--danger-soft);color:var(--danger)}.notice-error span{background:#ffdce0}.notice-success{border-color:#c9edd5;background:var(--green-soft);color:var(--green-dark)}.notice-success span{background:#d4f2dd}.support-line{margin:30px 0 0;color:#8b948d;font-size:.73rem}.is-submitting .primary-button:after{width:14px;height:14px;margin-left:9px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;content:"";animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.auth-page{display:block}.auth-intro{display:none}.auth-main{min-height:100vh;padding:30px 22px}.mobile-brand{display:block;width:min(100%,540px);margin-bottom:50px}.mobile-brand .brand{color:#16321f}.auth-card{margin:auto 0}.support-line{margin-bottom:6px}}
@media(max-width:560px){.auth-main{justify-content:flex-start;padding:26px 19px 20px}.mobile-brand{margin-bottom:45px}.brand{font-size:1.5rem}.auth-heading{margin-bottom:26px}.auth-heading h1{font-size:1.8rem}.auth-heading>p:last-child{font-size:.86rem}.field-grid{grid-template-columns:1fr;gap:18px}.field input,.field select,.primary-button{height:50px}.auth-form{gap:17px}.auth-switch{margin-top:23px}.support-line{margin-top:35px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.is-submitting .primary-button:after{animation:none}}
.phone-field .iti{width:100%}.phone-field .iti input{padding-left:94px}.phone-field .iti__selected-country-primary{padding:0 11px}.phone-field .iti__country-container{border-radius:12px 0 0 12px}.phone-field .iti__dropdown-content{border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.field-error{display:none;color:var(--danger)!important;font-size:.73rem!important;font-weight:650!important}.phone-field.has-error .field-error{display:block}.phone-field.has-error input{border-color:var(--danger);box-shadow:0 0 0 4px rgba(189,43,54,.08)}
