*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.auth-container{width:100%;max-width:500px;margin:0 auto}.auth-card{background:white;border-radius:20px;padding:40px;box-shadow:0 20px 60px rgba(0,0,0,0.3)}.auth-card h1{color:#333;margin-bottom:10px;font-size:2em;text-align:center}.subtitle{color:#666;text-align:center;margin-bottom:30px;font-size:0.9em;line-height:1.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group{margin-bottom:20px}.form-group label{display:block;color:#333;font-weight:600;margin-bottom:8px;font-size:0.9em}.form-control{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:10px;font-size:1em;transition:border-color 0.3s}.form-control:focus{outline:none;border-color:#667eea}.form-hint{font-size:0.8em;color:#999;margin-top:5px}.checkbox-group{display:flex;align-items:center;margin-bottom:20px}.checkbox-group input[type="checkbox"]{margin-right:8px;width:18px;height:18px;cursor:pointer}.checkbox-group label{margin:0;font-weight:normal;color:#666;cursor:pointer}.btn{width:100%;padding:14px;border:none;border-radius:10px;font-size:1em;font-weight:600;cursor:pointer;transition:transform 0.2s,box-shadow 0.2s;text-align:center;text-decoration:none;display:inline-block}.btn-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:white}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(102,126,234,0.4)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#f3f4f6;color:#333}.btn-secondary:hover{background:#e5e7eb}.alert{padding:12px 15px;border-radius:10px;margin-bottom:20px;font-size:0.9em;line-height:1.5}.alert-danger{background:#fee;color:#c33;border:1px solid #fcc}.alert-success{background:#efe;color:#3c3;border:1px solid #cfc}.alert ul{margin:0;padding-left:20px}.auth-links{margin-top:20px;text-align:center;color:#666}.auth-links a{color:#667eea;text-decoration:none;font-size:0.9em;font-weight:500}.auth-links a:hover{text-decoration:underline}.divider{margin:0 10px;color:#999}@media (max-width:640px){.auth-card{padding:30px 20px}.auth-card h1{font-size:1.5em}.form-row{grid-template-columns:1fr;gap:0}}