.referral-codes-box {
    background: #fff;
    padding: 20px;
    border-radius: 5px;
    margin-bottom: 20px;
    border: 1px solid #ddd;
}

.refcode-form-group {
    margin-bottom: 15px;
}

.refcode-form-control {
    width: 100%;
    max-width: 300px;
    padding: 8px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.refcode-btn {
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
}

.refcode-btn-primary {
    background: #0073aa;
    color: #fff;
}

.refcode-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
}

.refcode-table th,
.refcode-table td {
    padding: 10px;
    border: 1px solid #ddd;
    text-align: left;
}

.refcode-table th {
    background: #f9f9f9;
}

.refcode-status {
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 12px;
}

.refcode-status.active {
    background: #dff0d8;
    color: #3c763d;
}

.refcode-status.used {
    background: #d9edf7;
    color: #31708f;
}

.refcode-message {
    padding: 10px 15px;
    margin-bottom: 15px;
    border-radius: 4px;
}

.refcode-message.success {
    background: #dff0d8;
    color: #3c763d;
    border: 1px solid #d6e9c6;
}

.refcode-btn-primary {
    margin-top: 15px;
}

.qr-container {
    padding-top: 20px;
    position: relative;
    display: inline-block;
}

.qr-container img {
    display: block;
    width: 200px;
    height: 200px;
    border: 1px solid #ddd;
    border-radius: 8px;
}

.qr-download-btn {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    background: #000;
    color: #fff;
    padding: 6px 12px;
    border-radius: 4px;
    text-decoration: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    font-size: 14px;
}

.qr-container:hover .qr-download-btn {
    opacity: 1;
    background: #fff;
    color: #000;
}