:root {
    font-family: sans-serif;
    --main-background: #111118;
    --table-background: #1a1a1f;
    --table-row-odd: #414147;
    --table-row-even: #242427;

    --main-text-color: #cccccc;
    color: var(--main-text-color);

    --names-red: red;
    --names-yellow: yellow;
    --names-green: green;
    --names-orange: #ff5c21;
    --names-yellowgreen: springgreen;
    
    --names-locked: gray;

    --outline: #303037;

    background: var(--main-background);
}
/*input:valid {
    background: green;
}
input:invalid {
    background: red;
}/**/
input {
    background: var(--table-background);
    border: 1px solid var(--outline);
    border-radius: 2px;
    color: var(--main-text-color);
}
button {
    background: var(--table-background);
    border: 1px solid var(--outline);
    border-radius: 5px;
    color: var(--main-text-color);
}
input + span {
  padding-right: 5px;
}

input:invalid + span::after {
  position: absolute;
  content: "✖";
  padding-left: 5px;
  color: var(--names-red);
}

input:valid + span::after {
  position: absolute;
  content: "✓";
  padding-left: 5px;
  color: var(--names-green)
}
* {
    box-sizing: border-box;
}
.tableholder {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center
}
table {
    /*border-collapse: collapse;/**/
    /*border: 1px solid black;/**/
    background: var(--table-background);
    border-radius: 8px;
    border-spacing: 3px;
}
table div {
    /*background: var(--names-locked) !important;*/
}
td {
    padding: 2px 5px 2px 5px;
    border-radius: 5px;
    /*&:last-child {
        box-shadow: none;
    }/**/
}
tr.odd > td {
    background: var(--table-row-odd);
}
tr.even > td {
    background: var(--table-row-even);
}

div > button {
    margin-left: 10px;
}
div > button:first-child {
    margin-left: 0;
}

.occupationContainer {
    display: grid;
    gap: 2px;
    grid-auto-flow: row;
    grid-auto-columns: 1fr;
}
.names {
    transition: 0.2s background-color ease-in-out;
    border-radius: 3px;
    margin: 1px;/**/
    padding: 1px 2px;
    text-align: center;
}


.names.red {
    background-color: var(--names-red);
    color: white;
}
.names.yellow {
    background-color: var(--names-yellow);
    color: black;
}
.names.green {
    background-color: var(--names-green);
    color: white;
}
.names.orange {
    background-color: var(--names-orange);
    color: black;
}
.names.yellowgreen {
    background-color: var(--names-yellowgreen);
    color: black;
}
.names.vacation {
    background-color: #fead46;
    color: black;
}
.names.error {
    background-color: tomato;
    color: darkred;
}
