:root{--green:#1d9e75;--dark:#0f5041;--dark-deep:#0b4035;--gold:#d4ac0d;--bg:#f4f7f5;--card:#fff;--border:#dfe9e4;--text:#1a2e25;--muted:#6b8278;--mint:#9fe1cb;--red:#b93832}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:Outfit,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input{font:inherit}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(480px,1.12fr) minmax(440px,.88fr)}.brand-panel{position:relative;overflow:hidden;background:var(--dark);color:#fff;padding:34px 6.5%;display:flex;flex-direction:column;justify-content:space-between}.brand-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px}.brand-panel:after{content:"";position:absolute;width:560px;height:560px;border-radius:50%;left:-230px;bottom:-340px;background:radial-gradient(circle,rgba(29,158,117,.22),transparent 68%)}.login-logo{position:relative;width:188px;height:62px;object-fit:contain;object-position:left center}.brand-copy{position:relative;z-index:1;margin-top:-3vh}.brand-eyebrow{text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:3px;color:var(--mint);margin:0 0 18px}.brand-copy h1{font-size:clamp(58px,6.4vw,94px);letter-spacing:-4px;line-height:.9;margin:0;font-weight:800}.gold-mark{display:block;width:13px;height:70px;background:var(--gold);margin:30px 0 22px 7px}.brand-description{max-width:440px;margin:0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.55)}.brand-footer{position:relative;z-index:1;margin:0;font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:rgba(255,255,255,.35)}.access-panel{display:flex;align-items:center;justify-content:center;position:relative;padding:40px;background:linear-gradient(145deg,#f8faf9,#eef3f0)}.login-card{width:min(100%,390px);background:var(--card);padding:29px 30px 24px;border:1px solid var(--border);border-radius:0 0 11px 11px;box-shadow:0 15px 38px rgba(15,80,65,.13);position:relative}.card-accent{position:absolute;height:2px;left:0;right:0;top:-1px;background:linear-gradient(90deg,var(--green),var(--dark))}.secure-badge{display:inline-block;background:#eaf6f1;color:var(--green);padding:5px 9px;text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:.7px}.login-card h2{font-size:28px;line-height:1;margin:13px 0 7px;color:var(--dark);letter-spacing:-.7px}.login-intro{font-size:12px;color:var(--muted);margin:0 0 23px}.field{margin-bottom:15px}.field label{display:block;color:#568378;text-transform:uppercase;letter-spacing:2.2px;font-size:9px;font-weight:700;margin-bottom:7px}.label-row{display:flex;justify-content:space-between;align-items:center}.label-row a{font-size:10px;color:var(--green);text-decoration:none;margin-bottom:7px}.input-wrap{position:relative}.input-wrap input{width:100%;height:50px;padding:0 72px 0 42px;border-radius:6px;border:1px solid #d6e2dc;background:#f4f8f6;color:var(--text);font-size:12px;outline:none;transition:.18s}.input-wrap input:focus{background:#fff;border-color:var(--green);box-shadow:0 0 0 3px rgba(29,158,117,.12)}.input-wrap.invalid input{border-color:var(--red);background:#fff8f7}.field-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-weight:700;font-size:12px;color:#71988e}.field-icon.lock{font-size:7px;border:1px solid #71988e;border-radius:4px;padding:3px}.password-toggle{position:absolute;right:9px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--green);font-size:10px;font-weight:600;cursor:pointer}.field-error{display:block;min-height:14px;color:var(--red);font-size:9px;margin-top:4px}.remember{display:flex!important;align-items:center;gap:7px!important;text-transform:none!important;letter-spacing:0!important;color:var(--muted)!important;font-size:10px!important;cursor:pointer;margin:0 0 16px!important}.remember input{accent-color:var(--green)}.form-message{display:none;padding:9px 11px;border-radius:5px;margin-bottom:12px;font-size:10px}.form-message.error{display:block;color:#8e2924;background:#fff0ef;border:1px solid #f1d1ce}.submit-button{height:43px;width:100%;border:0;border-radius:6px;background:var(--dark);color:#fff;display:flex;justify-content:center;align-items:center;gap:13px;font-size:12px;font-weight:700;cursor:pointer;transition:.18s}.submit-button:hover{background:var(--green);transform:translateY(-1px);box-shadow:0 6px 16px rgba(29,158,117,.2)}.submit-button:disabled{opacity:.72;cursor:wait;transform:none}.submit-button i{font-style:normal;font-size:17px}.support{text-align:center;margin:18px 0 0;color:var(--muted);font-size:9px}.support a{color:var(--dark);font-weight:600;text-decoration:none}.access-footer{position:absolute;bottom:18px;margin:0;font-size:9px;color:#8ca098}.shake{animation:shake .3s ease}@keyframes shake{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
@media(max-width:850px){.login-layout{grid-template-columns:1fr}.brand-panel{min-height:270px;padding:25px 28px}.login-logo{width:140px;height:48px}.brand-copy{margin:22px 0}.brand-eyebrow{margin-bottom:8px}.brand-copy h1{font-size:49px;letter-spacing:-2px}.gold-mark{width:45px;height:5px;margin:16px 0}.brand-description,.brand-footer{display:none}.access-panel{padding:34px 20px 64px;align-items:flex-start}.login-card{margin-top:-52px;z-index:2}}
@media(max-width:430px){.brand-panel{min-height:245px}.brand-copy h1{font-size:43px}.login-card{padding:25px 20px}.access-panel{padding-left:13px;padding-right:13px}.login-card h2{font-size:25px}}
.password-toggle{width:34px;height:34px;right:10px;padding:7px;border-radius:50%;color:#568378;display:grid;place-items:center}.password-toggle:hover,.password-toggle:focus-visible{color:var(--green);background:#e8f4ef;outline:none}.password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-toggle .eye-closed{display:none}.password-toggle[aria-pressed="true"] .eye-open{display:none}.password-toggle[aria-pressed="true"] .eye-closed{display:block}
