.box-options-form {
    display: grid;
    gap: 8px;
    min-height: 100%;
    align-content: start;
}

.box-options-form.is-locked {
    opacity: .82;
    filter: grayscale(.12);
}

.box-options-form.is-locked::after {
    content: "Box sealed after upload";
    display: block;
    margin-top: 8px;
    padding: 5px 6px;
    color: #000000;
    background: #dfdfdf;
    border-top: 1px solid #808080;
    border-left: 1px solid #808080;
    border-right: 1px solid #ffffff;
    border-bottom: 1px solid #ffffff;
    font-size: 12px;
    line-height: 13px;
}

.option-row {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 6px;
    align-items: center;
}

.option-check {
    position: relative;
    min-height: 18px;
    display: flex;
    gap: 6px;
    align-items: center;
}

.option-check input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}

.option-check span {
    position: relative;
    min-height: 16px;
    display: inline-flex;
    align-items: center;
    padding-left: 22px;
}

.option-check span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 14px;
    height: 14px;
    background: #ffffff;
    border-top: 2px solid #808080;
    border-left: 2px solid #808080;
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    box-shadow: inset -1px -1px 0 #dfdfdf;
}

.option-check input[type="checkbox"]:checked + span::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 6px;
    width: 2px;
    height: 2px;
    color: #000000;
    background: #000000;
    box-shadow:
        2px 2px 0 #000000,
        4px 4px 0 #000000,
        6px 2px 0 #000000,
        8px 0 0 #000000,
        10px -2px 0 #000000;
    image-rendering: pixelated;
}

.upload-select,
.upload-text-input {
    width: 100%;
    height: 22px;
    padding: 1px 4px;
    color: #000000;
    background: #ffffff;
    border-top: 1px solid #808080;
    border-left: 1px solid #808080;
    border-right: 1px solid #ffffff;
    border-bottom: 1px solid #ffffff;
    font-size: 12px;
    line-height: 12px;
}

.upload-text-input:disabled,
.upload-select:disabled,
.box-options-form.is-locked input[readonly],
.box-options-form.is-locked input:disabled,
.box-options-form.is-locked select:disabled {
    color: #404040;
    background: repeating-linear-gradient(45deg, #d0d0d0 0 4px, #c7c7c7 4px 8px);
}

.api-key-row {
    display: none;
}

.api-key-row.is-visible {
    display: grid;
}

.api-key-field {
    position: relative;
    display: block;
}

.api-key-state {
    position: absolute;
    right: 4px;
    top: 3px;
    color: #000078;
    font-size: 11px;
    line-height: 12px;
    pointer-events: none;
}

.api-key-field.is-checking::after {
    content: "";
    position: absolute;
    inset: 2px;
    background: repeating-linear-gradient(90deg, rgba(0,0,120,.16) 0 8px, rgba(15,128,205,.16) 8px 16px);
    animation: api-key-scan 700ms steps(6, end) infinite;
    pointer-events: none;
}

