:root { font-family: Inter, "Microsoft YaHei", sans-serif; color: #16211e; background: #edf1ef; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.auth-shell { width: min(860px, 100%); min-height: 520px; display: grid; grid-template-columns: 1fr 1fr; background: #fff; border: 1px solid #d9e0dd; box-shadow: 0 18px 50px rgba(23, 39, 34, .12); }
.auth-brand { background: #1b2925; color: #fff; padding: 58px 48px; display: flex; flex-direction: column; justify-content: center; }
.brand-mark { width: 44px; height: 44px; display: grid; place-items: center; background: #e8f0ec; color: #183128; font-size: 22px; font-weight: 800; border-radius: 6px; margin-bottom: 28px; }
.auth-brand p { margin: 0 0 12px; color: #b9c9c3; }
.auth-brand h1 { margin: 0 0 16px; font-size: 34px; letter-spacing: 0; }
.auth-brand span { color: #d5dfdb; line-height: 1.7; }
.auth-panel { padding: 48px; align-self: center; }
.tabs { display: flex; border-bottom: 1px solid #dce3e0; margin-bottom: 30px; }
.tab { flex: 1; border: 0; border-bottom: 3px solid transparent; background: transparent; padding: 13px; font: inherit; cursor: pointer; color: #6b7773; }
.tab.active { color: #172b25; border-color: #d2a83d; font-weight: 700; }
.auth-form { display: grid; gap: 18px; }
.auth-form.hidden { display: none; }
label { display: grid; gap: 8px; font-size: 14px; font-weight: 700; }
input { width: 100%; height: 44px; border: 1px solid #cfd8d4; border-radius: 5px; padding: 0 12px; font: inherit; outline: none; }
input:focus { border-color: #466b5e; box-shadow: 0 0 0 3px rgba(70, 107, 94, .12); }
form button { height: 44px; border: 0; border-radius: 5px; background: #1f4b3d; color: #fff; font: inherit; font-weight: 700; cursor: pointer; margin-top: 6px; }
form button:disabled { opacity: .6; cursor: wait; }
.message { min-height: 22px; margin: 18px 0 0; color: #b33b32; font-size: 14px; }
@media (max-width: 720px) { .auth-shell { grid-template-columns: 1fr; } .auth-brand { padding: 34px 28px; } .auth-brand h1 { font-size: 27px; } .auth-panel { padding: 30px 28px 36px; } }
