:root{--green:#8EE114;--green-dark:#4F8500;--green-soft:#F2F9DF;--ink:#0a172b;--muted:#667386;--line:#dfe8e4;--danger:#d84e61;--danger-soft:#fff0f2;--shadow:0 24px 70px rgba(10,23,43,.12)}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}
body{min-height:100vh}
button,input{font:inherit}
a{color:inherit}
.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1fr) minmax(480px,1fr)}
.auth-showcase{position:relative;overflow:hidden;background:#07120d;color:#fff;padding:52px clamp(38px,6vw,94px);display:flex;flex-direction:column;justify-content:space-between}
.auth-showcase:before{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(142,225,20,.18);border-radius:50%;right:-210px;bottom:-245px;box-shadow:0 0 0 90px rgba(142,225,20,.035),0 0 0 180px rgba(142,225,20,.025)}
.auth-showcase:after{content:"";position:absolute;width:360px;height:360px;background:radial-gradient(circle,rgba(142,225,20,.18),transparent 68%);right:-70px;top:-100px}
.brand{position:relative;z-index:1;display:flex;align-items:center;width:max-content;text-decoration:none;color:#fff}
.brand-mark{display:flex;gap:4px;transform:skew(-14deg);margin-right:11px}
.brand-mark i{display:block;width:9px;height:30px;background:var(--green);border-radius:7px}
.brand-text strong{display:block;font-size:30px;line-height:1;letter-spacing:-1.6px}
.brand-text small{display:block;margin-top:4px;color:#9daea5;font-size:10px;letter-spacing:.7px}
.showcase-copy{position:relative;z-index:1;max-width:590px;margin:70px 0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}
.eyebrow:before{content:"";width:25px;height:2px;background:var(--green)}
.showcase-copy h1{font-size:clamp(38px,4.3vw,66px);line-height:1.02;letter-spacing:-3px;margin:18px 0 24px;max-width:650px}
.showcase-copy h1 span{color:var(--green)}
.showcase-copy p{max-width:520px;color:#b9c5bf;font-size:16px;line-height:1.75;margin:0}
.showcase-proof{position:relative;z-index:1;display:flex;gap:28px;color:#9daea5;font-size:12px}
.showcase-proof span{display:flex;align-items:center;gap:8px}.showcase-proof i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 15px rgba(142,225,20,.7)}
.auth-main{display:grid;place-items:center;padding:46px clamp(24px,6vw,90px);background:linear-gradient(135deg,#fff 60%,#fbfef6)}
.auth-card{width:100%;max-width:460px}
.mobile-brand{display:none;margin-bottom:42px}.mobile-brand .brand-text strong{color:var(--ink)}.mobile-brand .brand-text small{color:var(--muted)}
.back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:34px;text-decoration:none;color:var(--muted);font-size:13px;font-weight:650}.back-link:hover{color:var(--green-dark)}
.auth-card h2{font-size:34px;line-height:1.15;letter-spacing:-1.2px;margin:0 0 11px}
.intro{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 30px}
.notice{display:none;border-radius:11px;padding:13px 14px;margin-bottom:20px;font-size:13px;line-height:1.5}
.notice.show{display:block}.notice.success{background:var(--green-soft);color:#396500;border:1px solid #d8efaa}.notice.error{background:var(--danger-soft);color:#a63849;border:1px solid #f2cbd1}
.field{margin-bottom:18px}.field-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.field label{font-size:13px;font-weight:750}.field-row a{color:var(--green-dark);font-size:12px;font-weight:750;text-decoration:none}.field-row a:hover{text-decoration:underline}
.input-wrap{position:relative}.input-wrap svg{position:absolute;left:15px;top:50%;width:19px;height:19px;transform:translateY(-50%);color:#7b8794;pointer-events:none}
.input-wrap input{width:100%;height:52px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 46px;color:var(--ink);outline:0;transition:.2s}
.input-wrap input::placeholder{color:#a3adb8}.input-wrap input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(142,225,20,.15)}
.input-wrap.invalid input{border-color:var(--danger);box-shadow:0 0 0 4px rgba(216,78,97,.1)}
.toggle-password{position:absolute;right:8px;top:7px;width:38px;height:38px;border:0;border-radius:8px;background:transparent;color:#677587;cursor:pointer;display:grid;place-items:center}.toggle-password:hover{background:#f4f7f5;color:var(--ink)}
.toggle-password svg{position:static;transform:none;width:20px;height:20px}
.field-error{display:none;margin-top:6px;color:var(--danger);font-size:12px}.field.invalid .field-error{display:block}
.options{display:flex;justify-content:space-between;align-items:center;margin:2px 0 24px}.check{display:flex;align-items:center;gap:9px;color:#566376;font-size:13px;cursor:pointer}.check input{width:17px;height:17px;accent-color:var(--green-dark)}
.primary-btn{width:100%;height:52px;border:0;border-radius:11px;background:var(--green);color:#152700;font-weight:850;cursor:pointer;box-shadow:0 10px 25px rgba(112,174,13,.23);transition:transform .2s,filter .2s}.primary-btn:hover{filter:brightness(.96);transform:translateY(-1px)}.primary-btn:active{transform:none}.primary-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}
.secondary-link{text-align:center;margin:24px 0 0;color:var(--muted);font-size:13px}.secondary-link a{color:var(--green-dark);font-weight:750;text-decoration:none}.secondary-link a:hover{text-decoration:underline}
.divider{display:flex;align-items:center;gap:14px;margin:25px 0;color:#98a2ae;font-size:11px;text-transform:uppercase;letter-spacing:.8px}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}
.security-note{display:flex;gap:11px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fafcfb;color:var(--muted);font-size:12px;line-height:1.5}.security-note svg{flex:none;width:19px;height:19px;color:var(--green-dark)}
.success-state{display:none;text-align:center}.success-state.show{display:block}.form-state.hidden{display:none}
.success-icon{width:72px;height:72px;margin:0 auto 24px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green-dark);box-shadow:0 0 0 9px rgba(142,225,20,.08)}.success-icon svg{width:34px;height:34px}
.success-state p{color:var(--muted);line-height:1.65;margin:0 0 25px}.success-state strong{color:var(--ink)}
.password-rules{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:-5px 0 21px;padding:13px;border-radius:10px;background:#fafcfb;border:1px solid var(--line)}
.rule{color:#87929f;font-size:11px;display:flex;align-items:center;gap:7px}.rule:before{content:"";width:7px;height:7px;border-radius:50%;background:#c8d0d5}.rule.ok{color:var(--green-dark);font-weight:700}.rule.ok:before{background:var(--green)}
.auth-footer{margin-top:38px;text-align:center;color:#97a1ad;font-size:11px}
@media(max-width:960px){.auth-layout{grid-template-columns:1fr}.auth-showcase{display:none}.auth-main{min-height:100vh;padding:38px 22px}.mobile-brand{display:flex}.auth-card{max-width:480px}}
@media(max-width:520px){.auth-main{align-items:start}.auth-card h2{font-size:29px}.mobile-brand{margin-bottom:48px}.password-rules{grid-template-columns:1fr}.options{align-items:flex-start}.auth-footer{margin-top:28px}}

