:root{--ink:#10241f;--mute:#5f746c;--mint:#1ec8a5;--line:rgba(16,36,31,.1);--danger:#d64b3a}
*{box-sizing:border-box;margin:0;padding:0}
body{min-height:100vh;color:var(--ink);background:linear-gradient(160deg,#f8fbf9,#eef5f2 55%,#f6f1ea);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.top{display:flex;justify-content:space-between;align-items:center;padding:22px 5vw}
.logo{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.35rem;letter-spacing:-.04em;color:var(--ink);text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:.65rem 1.15rem;font:inherit;font-weight:700;text-decoration:none;border:0;cursor:pointer}
.btn-dark{background:var(--ink);color:#f4faf7}
.btn-block{width:100%}
.quiet{color:#5f746c;font-weight:700;font-size:.92rem;text-decoration:none}
.auth-shell{width:min(980px,calc(100% - 2rem));margin:4vh auto 8vh;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.brand-mini{font-weight:800;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mint);margin-bottom:.8rem}
h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em;line-height:1.05}
.lead{margin-top:1rem;color:var(--mute);line-height:1.55}
.auth-box{background:rgba(255,255,255,.75);border:1px solid #fff;border-radius:24px;padding:1.5rem;box-shadow:0 18px 40px rgba(16,36,31,.06)}
.form{display:flex;flex-direction:column;gap:14px}
.form label{display:flex;flex-direction:column;gap:7px}
.form span{font-size:.82rem;font-weight:700;color:var(--mute)}
.form input{width:100%;border:1.5px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);padding:.9rem 1rem;font:inherit;outline:none}
.form input:focus{border-color:rgba(30,200,165,.65);box-shadow:0 0 0 4px rgba(30,200,165,.12)}
.form label.agree{flex-direction:row;align-items:flex-start;gap:10px;color:var(--ink);font-weight:600;line-height:1.4}
.form label.agree input{width:auto;margin-top:3px;padding:0}
.foot{margin-top:1.1rem;color:var(--mute)}
.foot a{color:var(--ink);font-weight:700}
.foot a.btn-dark{color:#f4faf7}
.banner{margin-bottom:1rem;padding:.85rem 1rem;border-radius:14px;border:1px solid var(--line);font-weight:600}
.banner.error{color:var(--danger)}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}}
