:root{--nav:#06281f;--blue:#0e8a63;--gold:#f2bb62;--ink:#0f2d25;--muted:#667f76;--border:#dbe8e3}
*{box-sizing:border-box}
body.auth{margin:0;min-height:100vh;font-family:Manrope,system-ui,sans-serif;font-size:14px;color:var(--ink);background:#fff}
.auth-wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh}

/* Brand side */
.auth-hero{position:relative;overflow:hidden;color:#e6eef7;padding:56px 64px;display:flex;flex-direction:column;justify-content:space-between;
 background:radial-gradient(900px 500px at 85% -10%,#19b37f55,transparent 60%),radial-gradient(700px 500px at -10% 110%,#f2bb6226,transparent 55%),linear-gradient(150deg,#041f18,#0b4a38)}
.auth-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:44px 44px;
 mask-image:linear-gradient(160deg,#000 0,transparent 70%);-webkit-mask-image:linear-gradient(160deg,#000 0,transparent 70%);pointer-events:none}
.auth-hero>*{position:relative;z-index:1}
.auth-brand{display:flex;align-items:center;gap:12px;font-size:19px;letter-spacing:.08em;font-weight:500;color:#fff}
.auth-brand strong{color:var(--gold);font-weight:700}
.auth-brand small{display:block;font-size:10px;letter-spacing:.06em;color:#9dc2b3;margin-top:2px}
.auth-logo{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-weight:800;font-size:15px;letter-spacing:0;color:#fff;background:linear-gradient(145deg,#1fb582,#0a6b4c);box-shadow:0 8px 24px #03281d60}
.auth-hero h1{font-size:38px;line-height:1.15;font-weight:800;margin:0 0 16px;max-width:460px;color:#fff;letter-spacing:-.01em}
.auth-hero h1 em{font-style:normal;color:var(--gold)}
.auth-hero p.lead{color:#b5d1c6;line-height:1.7;max-width:440px;margin:0 0 30px;font-size:14px}
.auth-points{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.auth-points li{display:flex;gap:14px;align-items:flex-start;color:#d3e8df;font-size:13px;line-height:1.5}
.auth-points b{display:block;color:#fff;font-weight:700;margin-bottom:1px}
.auth-points .ic{flex:0 0 36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#ffffff14;border:1px solid #ffffff1f;color:var(--gold)}
.auth-points svg{width:18px;height:18px}
.auth-foot{font-size:11px;color:#8bb3a2}

/* Form side */
.auth-side{display:flex;align-items:center;justify-content:center;padding:40px 28px;background:#f5faf8}
.auth-card{width:100%;max-width:400px}
.auth-card .auth-brand.mobile{display:none;color:var(--ink);margin-bottom:34px}
.auth-card .auth-brand.mobile small{color:var(--muted)}
.auth-card h2{font-size:28px;font-weight:800;margin:0 0 6px;letter-spacing:-.01em}
.auth-card .sub{color:var(--muted);margin:0 0 28px}
.field{margin-bottom:18px}
.field label{display:block;font-size:12px;font-weight:700;margin-bottom:7px;color:#2a4a40}
.input{position:relative}
.input>svg.lead-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#8aa59b;pointer-events:none}
.input input{width:100%;height:48px;padding:0 44px 0 42px;border:1px solid var(--border);border-radius:11px;background:#fff;font:inherit;font-size:14px;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.input input:hover{border-color:#bcd6cc}
.input input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px #0e8a6322}
.toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:#789a8d;cursor:pointer;display:grid;place-items:center}
.toggle:hover{background:#e8f4ef;color:var(--ink)}
.toggle:focus-visible{outline:2px solid var(--blue)}
.toggle svg{width:18px;height:18px}
.btn-signin{width:100%;height:48px;border:0;border-radius:11px;background:linear-gradient(180deg,#12a074,#0c8159);color:#fff;font:inherit;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 8px 20px #0e8a6340;transition:transform .1s,box-shadow .15s,filter .15s;margin-top:6px}
.btn-signin:hover{filter:brightness(1.06);box-shadow:0 10px 24px #0e8a6355}
.btn-signin:active{transform:translateY(1px)}
.btn-signin:disabled{opacity:.7;cursor:progress}
.btn-signin:focus-visible{outline:3px solid #0e8a6355;outline-offset:2px}
.auth-alert{display:flex;gap:10px;align-items:flex-start;background:#fdecec;border:1px solid #f5c2c2;color:#8a1f1f;border-radius:11px;padding:12px 14px;margin-bottom:20px;font-size:13px;line-height:1.45}
.auth-alert svg{flex:0 0 18px;width:18px;height:18px;margin-top:1px}
.secure{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:26px;color:var(--muted);font-size:12px}
.secure svg{width:15px;height:15px;color:#2b9a68}

@media(max-width:900px){
 .auth-wrap{grid-template-columns:1fr}
 .auth-hero{display:none}
 .auth-side{min-height:100vh;background:linear-gradient(160deg,#041f18,#0d5a43);padding:24px 16px}
 .auth-card{background:#fff;border-radius:18px;padding:32px 24px;box-shadow:0 25px 80px #03231a60}
 .auth-card .auth-brand.mobile{display:flex}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Blocked account / success states */
.auth-alert.ok{background:#e8f6ef;border-color:#b9e2cd;color:#0b5c3f}
.blocked-box{border:1px solid #f1c9c9;background:#fff;border-radius:14px;padding:20px}
.blocked-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.blocked-head svg{width:38px;height:38px;padding:9px;border-radius:10px;background:#fdecec;color:#b42318;flex:0 0 38px}
.blocked-head strong{display:block;font-size:15px}
.blocked-head small{color:var(--muted)}
.blocked-note{color:var(--muted);margin:0 0 16px;line-height:1.5}
.blocked-box .btn-signin{margin-top:0}
.btn-link{display:block;margin:14px auto 0;border:0;background:none;color:var(--blue);font:inherit;font-weight:700;cursor:pointer}
.btn-link:hover{text-decoration:underline}
