:root{--yellow:#f3ef29;--green:#7ed957;--forest:#173321;--ink:#17221b;--muted:#607067;--paper:#fbfcf7;--soft:#f3f6ef;--line:#dfe6dc;--error:#b42318;font-family:Manrope,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--paper);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}button,input{font:inherit}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.skip-link{position:fixed;z-index:10;top:12px;left:12px;padding:9px 14px;background:var(--yellow);border-radius:8px;font-weight:800;transform:translateY(-180%)}.skip-link:focus{transform:none}.auth-shell{display:grid;grid-template-columns:minmax(390px,.95fr) minmax(480px,1.05fr);min-height:100vh}.auth-intro{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:clamp(32px,5vw,72px);color:#fff;background:var(--forest)}.auth-intro:before,.auth-intro:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.auth-intro:before{width:480px;height:480px;right:-240px;top:-220px;border:95px solid rgba(126,217,87,.13)}.auth-intro:after{width:260px;height:260px;left:-155px;bottom:-120px;border:60px solid rgba(243,239,41,.11)}.auth-brand,.mobile-brand{display:flex;align-items:center;gap:13px;text-decoration:none;position:relative;z-index:1}.auth-brand img,.mobile-brand img{object-fit:contain}.auth-brand span,.mobile-brand span{display:flex;flex-direction:column;line-height:1}.auth-brand strong,.mobile-brand strong{font-size:20px;letter-spacing:-.03em}.auth-brand small,.mobile-brand small{margin-top:7px;font-size:11px;text-transform:uppercase;letter-spacing:.15em}.auth-brand small{color:#c6d5c8}.auth-intro-copy{position:relative;z-index:1;margin:auto 0;max-width:620px;padding:72px 0}.eyebrow,.kicker{margin:0 0 18px;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--green)}.eyebrow span{width:25px;height:3px;border-radius:2px;background:var(--yellow)}.auth-intro h1{margin:0 0 24px;font-size:clamp(40px,4.4vw,66px);line-height:1.08;letter-spacing:-.05em}.auth-intro h1 em{color:var(--green);font-style:normal}.auth-intro-copy>p:last-child{max-width:560px;margin:0;color:#c6d5c8;font-size:17px}.auth-assurance{position:relative;z-index:1;display:flex;align-items:center;gap:14px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14)}.auth-assurance>svg{width:30px;height:30px;color:var(--yellow);flex:none}.auth-assurance span{display:flex;flex-direction:column}.auth-assurance strong{font-size:14px}.auth-assurance small{color:#aebfb2;font-size:12px}.auth-panel{display:grid;place-items:center;padding:48px;background:linear-gradient(135deg,#fff,#f3f7ef)}.auth-card{width:min(100%,480px)}.back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:72px;color:var(--muted);font-size:13px;font-weight:700;text-decoration:none}.back-link:hover{color:var(--forest)}.back-link svg{width:18px}.mobile-brand{display:none;margin-bottom:42px;color:var(--forest)}.mobile-brand small{color:var(--muted)}.auth-card header{margin-bottom:34px}.kicker{color:#39762b;margin-bottom:10px}.auth-card h2{margin:0 0 10px;color:var(--forest);font-size:clamp(30px,3vw,42px);line-height:1.2;letter-spacing:-.045em}.auth-card header>p:last-child{margin:0;color:var(--muted);font-size:15px}.field{margin-bottom:21px}.field label{display:block;margin-bottom:8px;color:#26372c;font-size:14px;font-weight:800}.label-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.label-row a{margin-bottom:8px;color:#39762b;font-size:13px;font-weight:750;text-decoration:none}.label-row a:hover{text-decoration:underline}.control{min-height:54px;display:flex;align-items:center;border:1px solid #c8d4c5;border-radius:10px;background:#fff;transition:.2s}.control:focus-within{border-color:#5bb83d;box-shadow:0 0 0 4px #7ed9572e}.control.is-invalid{border-color:#d92d20}.control>svg{width:20px;margin-left:16px;color:#728077;flex:none}.control input{width:100%;min-width:0;height:52px;padding:0 14px;border:0;outline:0;background:transparent;color:var(--ink)}.control input::placeholder{color:#8e9a92}.password-toggle{display:grid;place-items:center;width:50px;height:52px;padding:0;border:0;background:transparent;color:#607067;cursor:pointer;flex:none}.password-toggle svg{width:20px}.password-toggle .eye-closed,.password-toggle[aria-pressed=true] .eye-open{display:none}.password-toggle[aria-pressed=true] .eye-closed{display:block}.field-error{display:flex;align-items:flex-start;gap:7px;margin:7px 0 0;color:var(--error);font-size:13px}.field-error svg{width:17px;margin-top:2px;flex:none}.remember{display:flex!important;align-items:center;gap:10px;width:max-content;margin:2px 0 25px!important;color:#435248!important;font-size:14px!important;font-weight:600!important;cursor:pointer}.remember input{width:18px;height:18px;margin:0;accent-color:var(--forest)}.submit-button{width:100%;height:54px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:10px;background:var(--forest);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 12px 25px #17332129;transition:.2s}.submit-button:hover{background:#234b30;transform:translateY(-1px)}.submit-button:active{transform:none}.submit-button svg{width:19px}.access-note{margin:25px 0 0;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);text-align:center;font-size:13px}:focus-visible{outline:3px solid rgba(126,217,87,.65);outline-offset:3px}@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-intro{display:none}.auth-panel{min-height:100vh;padding:42px 28px}.mobile-brand{display:flex}.back-link{margin-bottom:35px}}@media(max-width:520px){.auth-panel{display:block;padding:25px 20px 36px}.auth-card{margin:auto}.back-link{margin-bottom:30px}.mobile-brand{margin-bottom:34px}.auth-card header{margin-bottom:28px}.auth-card h2{font-size:31px}.label-row{align-items:flex-start}.control{min-height:52px}.control input,.password-toggle{height:50px}.submit-button{height:52px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
