*{margin:0;padding:0;box-sizing:border-box}
html,body{min-height:100%}
body{font-family:Arial,Helvetica,sans-serif;background:#f5f7f5;color:#222}
a{text-decoration:none}
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(135deg,#f3f8f3 0%,#eef5ee 100%)}
.auth-container{width:100%;max-width:470px}
.auth-card{width:100%;background:#fff;border-radius:16px;padding:40px;box-shadow:0 12px 40px rgba(0,0,0,.08);border:1px solid #e9eee9}
.register-card{max-width:100%}
.auth-logo{text-align:center;margin-bottom:28px}
.auth-logo a{font-size:30px;font-weight:800;color:#299447;letter-spacing:-.5px}
.auth-header{text-align:center;margin-bottom:28px}
.auth-header h1{font-size:27px;line-height:1.3;margin-bottom:8px;color:#222}
.auth-header p{color:#777;font-size:14px;line-height:1.5}
.auth-alert{padding:13px 15px;border-radius:8px;margin-bottom:20px;font-size:14px;line-height:1.5}
.auth-alert.error{background:#fff0f0;color:#c62828;border:1px solid #ffd4d4}
.auth-alert.success{background:#effaf1;color:#218838;border:1px solid #ccebd2}
.auth-form{width:100%}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}
.form-group label span{font-weight:400;color:#999;font-size:12px}
.form-group input,.form-group textarea{width:100%;border:1px solid #d9dfd9;border-radius:8px;padding:13px 14px;font-size:14px;font-family:inherit;color:#222;background:#fff;outline:none;transition:.2s ease}
.form-group input{height:47px}
.form-group textarea{min-height:90px;resize:vertical}
.form-group input::placeholder,.form-group textarea::placeholder{color:#aaa}
.form-group input:focus,.form-group textarea:focus{border-color:#299447;box-shadow:0 0 0 3px rgba(41,148,71,.1)}
.auth-options{display:flex;justify-content:flex-end;margin-top:-4px;margin-bottom:20px}
.auth-options a{color:#299447;font-size:13px;font-weight:600}
.auth-options a:hover{text-decoration:underline}
.auth-btn{width:100%;height:48px;border:none;border-radius:8px;background:#299447;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:.2s ease}
.auth-btn:hover{background:#227d3b}
.auth-btn:active{transform:translateY(1px)}
.auth-footer{text-align:center;margin-top:24px;padding-top:22px;border-top:1px solid #eee}
.auth-footer p{color:#777;font-size:14px}
.auth-footer a{color:#299447;font-weight:700}
.auth-footer a:hover{text-decoration:underline}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.password-input-wrap{position:relative;width:100%}
.password-input-wrap input{width:100%;padding-right:48px;box-sizing:border-box}
.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:32px;height:32px;padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center;color:#777;cursor:pointer}
.password-toggle:hover{color:#2e7d32}
.password-toggle svg{display:block}
@media(max-width:600px){
    .auth-page{padding:25px 15px;align-items:flex-start}
    .auth-card{padding:30px 22px;border-radius:12px}
    .auth-logo{margin-bottom:22px}
    .auth-logo a{font-size:27px}
    .auth-header h1{font-size:24px}
    .form-row{grid-template-columns:1fr;gap:0}
}
@media(max-width:380px){
    .auth-page{padding:20px 10px}
    .auth-card{padding:25px 18px}
}
