* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei"; background: linear-gradient(135deg, #0f7f54, #16a06a); min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.login-box { background: #fff; padding: 40px 36px; border-radius: 14px; box-shadow: 0 16px 50px rgba(0,0,0,.22); width: 100%; max-width: 380px; }
.login-box .brand { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 6px; }
.login-box .brand .logo { width: 40px; height: 40px; background: linear-gradient(135deg, #16a06a, #34c78f); border-radius: 10px; color: #fff; font-size: 20px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.login-box h2 { text-align: center; font-size: 20px; color: #22313a; }
.login-box .subtitle { text-align: center; color: #8a9a93; font-size: 13px; margin: 8px 0 28px; }
.form-group { margin-bottom: 18px; }
.form-group label { display: block; font-size: 13px; color: #556; margin-bottom: 6px; }
.form-group input { width: 100%; padding: 11px 14px; border: 1px solid #d5e2db; border-radius: 8px; font-size: 15px; outline: none; transition: border-color .15s; }
.form-group input:focus { border-color: #16a06a; }
.btn-login { width: 100%; padding: 12px; border: 0; border-radius: 8px; background: #16a06a; color: #fff; font-size: 16px; cursor: pointer; transition: background .15s; }
.btn-login:hover { background: #0f7f54; }
.btn-register { display: block; width: 100%; padding: 12px; border-radius: 8px; background: #fff; color: #16a06a; border: 1px solid #16a06a; font-size: 16px; cursor: pointer; text-align: center; text-decoration: none; margin-top: 14px; transition: all .15s; }
.btn-register:hover { background: #f0faf5; }
.error { background: #fdecec; color: #c43a3f; border: 1px solid #f5c6c8; padding: 10px 14px; border-radius: 8px; font-size: 13px; text-align: center; margin-bottom: 18px; }
