body {
    font-family: Arial, sans-serif;
    margin: 20px auto;
    width: 90%;
    max-width: 1000px;
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    background: white;
    border-radius: 8px;
    overflow: hidden;
}

th,
td {
    padding: 10px;
    border: 1px solid #ddd;
    text-align: left;
}

th {
    background: #007bff;
    color: white;
}

tr:nth-child(even) {
    background: #f9f9f9;
}

textarea,
select,
input[type="number"] {
    width: 100%;
    margin-bottom: 20px;
}

textarea {
    height: 150px;
}

button {
    padding: 10px 20px;
    background-color: #007BFF;
    color: white;
    border: none;
    cursor: pointer;
}

button:hover {
    background-color: #0056b3;
}

#status,
#log {
    margin-top: 20px;
    padding: 15px;
    border-radius: 8px;
}

#status {
    border: 2px solid #007BFF;
    background-color: #f0f8ff;
}

#log {
    border: 2px solid #ccc;
    background: #f9f9f9;
    max-height: 300px;
    overflow-y: auto;
}

.progress {
    font-weight: bold;
    text-align: center;
    margin-top: 10px;
}

.progress-bar {
    width: 100%;
    background-color: #ddd;
    height: 10px;
    border-radius: 5px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    width: 100%;
    background-color: #28a745;
    transition: width 1s linear;
}

.progress-text {
    text-align: center;
    margin-top: 5px;
    font-weight: bold;
}

.result-container {
    margin-top: 20px;
}

footer {
    margin: 20px 0;
    text-align: center;
    color: gray;
}

.copy-container {
    cursor: pointer;
    padding: 10px;
    background: #f8f9fa;
    border-radius: 5px;
    margin-top: 10px;
    text-align: center;
}

.copy-container:hover {
    background: #e2e6ea;
}

.result {
    margin-top: 15px;
    padding: 10px;
    background: #e9ecef;
    border-radius: 6px;
    display: <?=$vncInfo ? 'block': 'none' ?>;
    text-align: left;
}

.result strong {
    display: block;
    margin-bottom: 5px;
    font-size: 16px;
    color: #333;
}

.result p {
    margin: 3px 0;
    font-size: 14px;
    color: #555;
}

#progressBar {
    width: 100%;
    height: 25px;
    margin-top: 10px;
    border-radius: 5px;
    background: #f3f3f3;
}

#progressBar::-webkit-progress-value {
    background: #007BFF;
    border-radius: 5px;
}

#progressBar::-moz-progress-bar {
    background: #007BFF;
    border-radius: 5px;
}

pre {
    font-family: monospace;
    font-size: 14px;
}

input,
textarea,
select {
    box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
    border: 0;
    padding: 10px;
    border-radius: 4px;
    margin: 10px 0;
}

.hidden {
    display: none;
}