input[type="checkbox"] {
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.45rem;
}

.se-form-field,
.image-manager-field-block {
    display: grid;
    gap: 0;
    align-content: start;
}

.se-form-label-row,
.image-manager-field-label-row {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin: 0 0 6px;
    line-height: 1.25;
}

/* Stacked field labels: small bold label sitting 6px above its control */
.se-form-label-row label,
.se-form-label-row .bodytextSmB,
.image-manager-field-label-row label,
.image-manager-field-label-row .bodytextSmB {
    font-size: 0.8rem;
    font-weight: 700;
    color: #3f372f;
    line-height: 1.25;
}

.se-form-label-row .bodytextSm2,
.se-form-label-row .bodytextSm,
.image-manager-field-label-row .bodytextSm2,
.image-manager-field-label-row .bodytextSm {
    font-size: 0.8rem;
    color: #6f675f;
    line-height: 1.25;
}

.se-form-label-row .bodytextSmB,
.se-form-label-row .bodytextSm2,
.se-form-label-row .bodytextSm,
.image-manager-field-label-row .bodytextSmB,
.image-manager-field-label-row .bodytextSm2,
.image-manager-field-label-row .bodytextSm {
    margin-bottom: 0;
}

.se-form-field > label:not(.se-form-control-wrap),
.se-form-field > span[id^="lbl"],
.se-form-field > span:first-child {
    display: block;
    margin: 0 0 6px;
    font-size: 0.8rem;
    font-weight: 700;
    color: #3f372f;
    line-height: 1.25;
}

.se-form-control-wrap {
    display: block;
    margin: 0;
}

.se-form-supporting-copy,
.image-manager-reuse-copy,
.image-manager-field-supporting-copy,
.image-manager-upload-card .bodytextSm2.image-manager-field-supporting-copy {
    display: block;
    margin: 0.08rem 0 0;
    color: #807568;
    font-size: 0.8rem;
    line-height: 1.4;
}

.se-form-note,
.image-manager-field-note {
    display: block;
    margin-top: -0.12rem;
    margin-bottom: 0.46rem;
    color: #8b8074;
    font-size: 0.82rem;
    line-height: 1.25;
}

.se-form-checkbox,
.image-manager-modern-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 0.68rem;
    line-height: 1.2;
    vertical-align: middle;
}

.se-form-checkbox input[type="checkbox"],
.image-manager-modern-checkbox input[type="checkbox"] {
    width: 1.05rem;
    height: 1.05rem;
    margin: 0 0.5rem 0 0;
    flex: 0 0 auto;
    align-self: center;
    vertical-align: middle;
    border-radius: 0.28rem;
    accent-color: #627987;
}

.se-form-checkbox label,
.image-manager-modern-checkbox label {
    margin: 0;
    display: inline-block;
    vertical-align: middle;
}

.se-stale-postback-notice {
    box-sizing: border-box;
    width: calc(100% - 32px);
    max-width: 1120px;
    margin: 16px auto 0;
    padding: 12px 16px;
    border: 1px solid #c66a18;
    border-left-width: 4px;
    border-radius: 4px;
    background: #fff7ed;
    color: #71310b;
    line-height: 1.45;
}

.se-stale-postback-title,
.se-stale-postback-message {
    display: block;
}

.se-stale-postback-title {
    margin-bottom: 2px;
    font-weight: 700;
}

.se-impersonation-notice {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: calc(100% - 32px);
    max-width: 1120px;
    margin: 16px auto 0;
    padding: 12px 16px;
    border: 1px solid #8a3f13;
    border-left-width: 4px;
    border-radius: 4px;
    background: #fff3e8;
    color: #642b0a;
    line-height: 1.4;
}

.se-impersonation-notice-copy,
.se-impersonation-notice-copy strong,
.se-impersonation-notice-copy span {
    display: block;
}

.se-impersonation-end {
    flex: 0 0 auto;
    padding: 8px 12px;
    border: 1px solid #71310b;
    border-radius: 4px;
    background: #71310b;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.se-impersonation-end:hover,
.se-impersonation-end:focus {
    background: #522308;
    color: #fff;
}

@media (max-width: 640px) {
    .se-impersonation-notice {
        align-items: stretch;
        flex-direction: column;
    }

    .se-impersonation-end {
        text-align: center;
    }
}