body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 20px;
    background-color: #f9f9f9;
}

h1 {
    text-align: center;
    color: #333;
}

.tabs {
    display: flex;
    justify-content: space-around;
    margin-bottom: 20px;
}

.tab {
    padding: 10px 20px;
    cursor: pointer;
    background-color: #e0e0e0;
    border: 1px solid #ccc;
    border-radius: 5px;
    transition: background-color 0.3s;
}

.tab.active {
    background-color: #0073aa;
    color: white;
}

.tab-content {
    display: none;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 20px;
    background-color: white;
}

.tab-content.active {
    display: block;
}

input[type="text"],
input[type="url"],
input[type="file"],
input[type="color"] {
    width: 100%;
    padding: 10px;
    margin: 10px 0;
    border: 1px solid #ccc;
    border-radius: 5px;
}

button.generate-qr {
    background-color: #0073aa;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
}

button.generate-qr:hover {
    background-color: #005177;
}

.preview {
    margin-top: 20px;
    text-align: center;
}

.preview img {
    max-width: 100%;
    height: auto;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.color-options { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; margin-bottom: 10px; }
.color-box {
    width: 28px; height: 28px; border-radius: 4px; border: 2px solid #eee; cursor: pointer; box-sizing: border-box; position:relative;
}
.color-box.selected { border: 2px solid #333; }
.color-box input[type="color"] { cursor:pointer; }