body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background-color:#f0f2f5;margin:0;display:flex;align-items:center;justify-content:center;min-height:100vh}.auth-container{width:100%;max-width:420px;padding:20px}.auth-box{background-color:#fff;padding:40px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);width:100%;box-sizing:border-box}.auth-box h2{font-size:24px;font-weight:600;color:#1c1e21;text-align:center;margin-top:0;margin-bottom:10px}.auth-box p{font-size:16px;color:#606770;text-align:center;margin-bottom:30px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:600;color:#4b4f56;margin-bottom:8px}.form-group input,.form-group select{width:100%;padding:12px;font-size:16px;border:1px solid #ccd0d5;border-radius:6px;box-sizing:border-box;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:0;border-color:#007bff;box-shadow:0 0 0 2px rgba(0,123,255,.25)}.form-options{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:20px}.remember-me{display:flex;align-items:center;color:#4b4f56}.remember-me input{width:auto;margin-right:8px}.forgot-password{color:#007bff;text-decoration:none;font-weight:500}.forgot-password:hover{text-decoration:underline}.btn-submit{width:100%;padding:14px;font-size:16px;font-weight:700;color:#fff;background-color:#007bff;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s}.btn-submit:hover{background-color:#0056b3}.btn-secondary{width:auto;padding:14px 20px;background-color:#6c757d}.btn-secondary:hover{background-color:#5a6268}.form-group-flex{display:flex;gap:10px;justify-content:space-between}.form-group-flex .btn-secondary,.form-group-flex .btn-submit{flex:1}.switch-auth{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid #e7e7e7}.switch-auth p{font-size:14px;color:#4b4f56;margin:0}.switch-auth a{color:#007bff;font-weight:600;text-decoration:none}.switch-auth a:hover{text-decoration:underline}.message{padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:14px}.message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@media(max-width:480px){.auth-box{padding:30px 20px}}

/* Referral Code Styles */
.referral-group {
    border-top: 1px solid #e7e7e7;
    padding-top: 20px;
    margin-top: 20px;
}

.referral-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.referral-input-wrapper input {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-family: monospace;
    padding-right: 40px;
}

.referral-status {
    position: absolute;
    right: 12px;
    font-size: 1.2em;
}

.referral-status.valid {
    color: #28a745;
}

.referral-status.invalid {
    color: #dc3545;
}

.referral-message {
    font-size: 13px;
    margin-top: 5px;
    min-height: 18px;
}

.referral-message.success {
    color: #28a745;
}

.referral-message.error {
    color: #dc3545;
}

.referral-info {
    font-size: 13px;
    color: #667eea;
    margin-top: 8px;
    margin-bottom: 0;
}

.referral-info strong {
    color: #764ba2;
}
