:root { color-scheme: light; --ink:#163d35; --green:#168c70; --soft:#eaf6f1; --line:#cfe2da; --muted:#6d7f79; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif; color:var(--ink); background:radial-gradient(circle at 12% 10%,#dff3ea 0,transparent 35%),linear-gradient(145deg,#f8fbf9,#e8f4ef); }
.auth-shell { min-height:100vh; display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,470px); align-items:center; gap:7vw; max-width:1180px; margin:auto; padding:48px; }
.auth-brand { padding:24px; }
.brand-mark { display:grid; place-items:center; width:66px; height:66px; color:white; background:var(--green); border-radius:20px; box-shadow:0 16px 38px #168c7033; }
.brand-mark svg { width:34px; }
.eyebrow { margin:28px 0 8px; color:var(--green); font-size:12px; font-weight:800; letter-spacing:.16em; }
.auth-brand h1 { margin:0; font-size:clamp(42px,6vw,76px); line-height:1.03; letter-spacing:-.05em; }
.auth-brand>p:last-child { color:var(--muted); font-size:18px; }
.auth-card { padding:34px; border:1px solid #ffffffaa; border-radius:26px; background:#ffffffdd; box-shadow:0 30px 80px #123f3220; backdrop-filter:blur(18px); }
.switcher { display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:5px; border-radius:14px; background:var(--soft); }
.switcher a { padding:10px; border-radius:10px; color:var(--muted); font-weight:700; text-align:center; text-decoration:none; }
.switcher a.active { color:white; background:var(--green); box-shadow:0 8px 18px #168c7033; }
.heading { margin:30px 0 22px; }
.heading h2 { margin:0 0 7px; font-size:30px; }
.heading p,.footer-text { margin:0; color:var(--muted); }
form { display:grid; gap:17px; }
label { display:grid; gap:8px; font-size:14px; font-weight:700; }
input { width:100%; padding:14px 15px; border:1px solid var(--line); border-radius:12px; outline:none; background:white; font:inherit; }
input:focus { border-color:var(--green); box-shadow:0 0 0 4px #168c7018; }
button { margin-top:6px; padding:14px; border:0; border-radius:12px; color:white; background:var(--green); font:inherit; font-weight:800; cursor:pointer; }
button:disabled { opacity:.55; cursor:wait; }
.message { min-height:24px; margin-top:16px; font-size:14px; font-weight:700; }
.message.error { color:#b43a3a; }.message.success { color:var(--green); }
.footer-text { margin-top:18px; text-align:center; font-size:14px; }
a { color:var(--green); }.hidden { display:none; }
@media(max-width:780px){.auth-shell{grid-template-columns:1fr;padding:22px;gap:10px}.auth-brand{padding:12px}.auth-brand h1{font-size:42px}.auth-card{padding:24px}}
