.textbox-wrapper select {
    width: 100%;
    height: 34px;
    line-height: 22px;
    padding-left: 0.5rem;
    border: 1px solid #ccc;
    background-color: #f9f9f9;
    color: #333;
    border-radius: 4px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    margin-bottom: 0;
    margin-right: 20px;
    transition: 0.2s ease;
    outline: none;
    cursor: pointer;
    background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="5"><path fill="%23999" d="M0 0l5 5 5-5z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 0.5rem center;
    background-size: 0.65rem;
}

.textbox-wrapper select:hover {
    border: 1px solid #fff;
    background-color: white;
}

.textbox-wrapper select:focus {
    border-color: var(--accent);
    background-color: white;
}

.admin-page .textbox-wrapper select:focus {
    border-color: var(--admin);
}

.textbox-wrapper:has(select:hover),
.textbox-wrapper:has(select:focus) {
    outline: none;
    border: 2px solid var(--accent-fade);
    background-color: #fff;
}

.admin-page .textbox-wrapper:has(select:hover),
.admin-page .textbox-wrapper:has(select:focus) {
    border: 2px solid var(--admin-fade);
}

.textbox-wrapper select:disabled {
    background-color: #f0f0f0;
    color: #999;
    cursor: not-allowed;
}

.textbox-wrapper select:focus {
    outline: none;
}

.textbox-wrapper select:focus option {
    background-color: #fff;
    color: #333;
}

.textbox-wrapper select:not(.pulse) {
    box-shadow: none;
}