.fe-dataRow {
    margin-bottom: 2em;
    table-layout: fixed;
    border-collapse: collapse;
    --fe-dataRow-locked: #6686995c;
}

.fe-dataRow thead th,
.fe-dataRow tbody td {
    padding: .5em 1em .5em 0;
    font-weight: normal;
    line-height: 1.2;
    border-bottom: 1px solid #f2f2f2;
}

.fe-dataRow--view tr:first-child td,
.fe-dataRow--view tr:first-child th {
    padding-top: 0;
}

.fe-dataRow thead th {
    font-weight: bolder;
}

.fe-dataRow td:last-child {
    padding-right: 0;
}

.fe-dataRow td.down,
.fe-dataRow td.up,
.fe-dataRow td.edit,
.fe-dataRow td.remove {
    padding-right: 3px;
}

.fe-dataRow label {
    display: block;
    margin-bottom: .25em;
    padding: 0;
    font-weight: bold;
}

.fe-dataRow--edit tr:first-child td {
    border-bottom: 0;
}

.fe-dataRow--edit tr:first-child td:last-child {
    vertical-align: bottom;
}

.fe-dataRow--edit tr:nth-child(n+2) td:not(.fedr__buttons) {
    padding-inline: .4em;
}

.fe-dataRow tr:last-child td {
    border-bottom: 0;
}

.fedr__rowActive td,
.fe-dataRow--edit tr:not(:first-child):hover td {
    background-color: #e9edf0;
}

.fe-dataRow tr.selected td {
    background-color: #fefbee;
}

.fe-dataRow img.button {
    height: 14px;
    width: 20px;
    padding: 4px 1px;
    opacity: .7;
    object-fit: contain;
}

.fe-dataRow img.button:hover {
    opacity: 1;
    background-color: #fff;
}

/**
 * Locking fields
 */

.fe-dataRow--edit tr:first-child td > div {
    white-space: nowrap;
}

.fe-dataRow .fedr-lock,
.fe-dataRow .fedr-unlock {
    width: 16px;
    height: 20px;
    display: inline-block;
    border-radius: 0 10px 10px 0;
    box-shadow: 0 0 0 1px #ddd;
}

.fe-dataRow .fedr-unlock {
    background: var(--fe-dataRow-locked);
}

.fe-dataRow .fedr-lock img,
.fe-dataRow .fedr-unlock img {
    width: 10px;
    margin: 2px;
    padding: 0;
    background: transparent !important;
}

.fe-dataRow .fedr-unlock img {
    opacity: 1;
}

.fe-dataRow tbody td .fedr--locked [class*='w-'] {
    border-color: #ddd;
    font-style: italic;
}

.fe-dataRow--edit tr:first-child td > div:not(.invalid).fedr--locked [class*='w-'] {
    background: #f8f8f8;
    box-shadow: 0 0 0 1px var(--fe-dataRow-locked) inset;
}

.fe-dataRow .rowdata-locked {
    color: #595959;
    font-style: italic;
}

.fe-dataRow .rowdata-locked::after {
    content: url(/ui/uibase/icons/svg/status-locked.svg);
    display: inline-block;
    height: 1em;
    width: .8em;
    text-indent: .3em;
}

/**
 * input, select, etc.
 */

.fe-dataRow tbody td [class*='w-'] {
    width: calc(100% - 24px);
    min-width: 4em;
}

.fe-dataRow tbody td input[type='time'],
.fe-dataRow tbody td input[type='date']{
    width: auto;
}

.fe-dataRow tbody td .w-small {
    min-width: 8em;
}

.fe-dataRow tbody td .w-medium {
    min-width: 12em;
}

.fe-dataRow tbody td .w-large {
    min-width: 16em;
}

.fe-dataRow tbody td .w-xlarge {
    min-width: 20em;
}

.fe-dataRow input:disabled,
.fe-dataRow select:disabled {
    color: #b3b3b3;
    background-color: #f2f2f2;
}

.fe-dataRow span.default {
    padding-left: .5em;
    color: #595959;
    font-style: italic;
}

.fe-dataRow .rowdata-checkboxgroup {
    margin: 0;
    padding: 0;
    list-style: none;
}

.fe-dataRow .rowdata-checkboxgroup label {
    margin-left: 10px;
}

.fe-dataRow .rowdata-checkboxgroup input {
    float: left;
    margin-top: 1px;
}

.fe-dataRow td:last-child {
    text-align: end;
}

.fedr__buttons {
    white-space: nowrap;
}

.fedr__buttons em {
    width: 22px;
    display: inline-block;
}

/**
 * Animations/transitions
 */

.fe-dataRow .nodefault {
    transition: opacity .3s;
}

.fedr__updated {
    opacity: .3;
}

.fedr__moved {
    animation: movedUp .3s !important;
}

.fedr__moved + tr {
    animation: movedDown .3s !important;
}

.fedr__moved td,
.fedr__moved + tr td {
    background-color: transparent !important;
    opacity: 1 !important;
}

@keyframes movedUp {
    0% {transform: translateY(100%)}
}

@keyframes movedDown {
    0% {transform: translateY(-100%)}
}