* {
    box-sizing: border-box;
    font-family: "Inter", sans-serif;
    font-size: 16px;
}

body {
    font-optical-sizing: auto;
    font-weight: 400;
    color: rgb(75,75,75);
}

/* Icons (e.g. Material) can be used as <i>icon</i>, no class needed. */
i {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}


p {
    line-height: 26px;
}

p:first-child, ul:first-child, ol:first-child { margin-top: 0; }
p:last-child, ul:last-child, ol:last-child { margin-bottom: 0; }

h1 { font-weight: 900; font-size: 28px; }
h2 { font-weight: 800; font-size: 22px; }
h3 { font-weight: 700; font-size: 16px; }

ul, ol {
    list-style-position: inside;
}

ul > li, ol > li { line-height: 26px; }

hr {
    margin: 20px 0;
    border: none;
    border-top: 1px solid rgb(75,75,75);
}

a, a:visited {
    color: rgb(75,75,255);
}

table {
    width: 100%;
    border: 1px solid rgb(75,75,75);
    border-collapse: collapse;
}

thead {
    background-color: rgba(0,0,0,0.1);
}
thead > tr {}
thead > tr > td { font-weight: 600; }

tbody > tr, tr {}
tbody > tr:hover, tr:hover { background-color: rgba(0,0,0,0.05); }
tbody > tr > td, tr > td {
    border: 1px solid rgb(75,75,75);
    padding: 10px;
}

td.Control {
    padding: 0;
    position: relative;
}
td.Control > input,
td.Control > select,
td.Control > button {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    border: none;
    border-radius: 0;
    outline: none;
    padding: 10px;
}
td.Control > textarea { display: block; width: 100%; border: none; outline: none; }
td.Control > input[type=checkbox],
td.Control > input[type=radio] { appearance: none; outline: none; }


.Tabs {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0;
    border: none;
    padding: 0 !important;
    align-items: flex-end;
}
.Tabs > *,
.Tabs > a {
    flex-grow: 1;
    flex-shrink: 1;
    margin: 0;
    border: none;
    border-bottom: 4px solid rgba(0,0,0,0.2);
    padding: 15px;
    text-decoration: none;
    color: rgb(75,75,75);
    text-align: center;
}
.Tabs > *:hover,
.Tabs > a:hover {
    /*border-bottom: 3px solid rgba(0,0,0,0.3);*/
    background-color: rgba(0,0,0,0.05);
}
.Tabs > *.Active {
    border-bottom: 4px solid rgba(0,0,0,1);
    font-weight: bold;
}