@font-face {
    font-family: FontMedium;
    src: url("/utils/font/Inter_18pt-Medium.ttf");
}

@font-face {
    font-family: FontBold;
    src: url("/utils/font/Inter_18pt-Bold.ttf");
}

@font-face {
    font-family: FontMonoMedium;
    src: url("/utils/font/RobotoMono-Medium.ttf");
}

@font-face {
    font-family: FontMonoBold;
    src: url("/utils/font/RobotoMono-Bold.ttf");
}


html, body {
    overflow-anchor: none;
    user-select: none;
    user-drag: none;
    overflow-y: auto !important;
    height: 100%;
}

input,
textarea,
select,
table td,
table th {
    user-select: text;
}

a {
    user-select: auto;
}

button, .button {
    min-height: 40px;
    background-color: var(--accent);
    border: none;
    cursor: pointer;
    font-weight: 600;
    font-size: 16px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    color: var(--whiteStatic);
    padding: 0 16px;
    margin: 0;
    border-radius: 4px;
    white-space: nowrap;
    user-select: none;
    transition: color 0.2s ease, background-color 0.2s ease;
    gap: 8px;
}

button:active, .button:active {
    color: var(--gray400);
    background: var(--gray200);
}

button[disabled], .button[disabled],
form[disabled] .button, form[disabled] button{
    color: var(--gray400) !important;
    background: var(--gray100) !important;
    cursor: default;
    pointer-events: none;
}

form, form[disabled] {
    background: none;
}

input[disabled], md-select[disabled] {
    background-color: var(--disabled) !important;
}


button img, .button img {
    transition: filter 0.3s ease;
}

button:active img, .button:active img,
button[disabled] img, .button[disabled] img {
    filter: invert(64%) sepia(12%) saturate(353%) hue-rotate(173deg) brightness(86%) contrast(87%);
}


.text0 {
    font-weight: 600;
    font-size: 20px;
}

.text1 {
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
}

.text2 {
    color: var(--gray300);
    font-size: 12px;
}

table {
    width: fit-content;
    min-width: 400px;
    max-width: 100%;
    overflow-x: auto;
    border-radius: 4px;
    display: block;
}

table th,
table td {
    padding: 16px 24px;
}

table th,
table tfoot td {
    background-color: var(--gray100);
    font-weight: 600;
}

table tbody tr[ng-click]:hover,
table tbody tr[ui-sref]:hover {
    background-color: var(--gray100);
}

table {
    border-collapse: collapse;
}

table th,
table td {
    border: 1px solid var(--gray300);
}

table tbody tr:last-child td {
    border-bottom: none;
}

tfoot {
    font-weight: 600;
}

th[ng-click]::after, th.asc::after, th.desc::after {
    font-size: 9px;
    font-weight: 400;
    height: 1em;
    line-height: 1em;
    opacity: .8;
    margin: 0 0 0 .5em;
}

th[ng-click]::after {
    color: var(--gray400);
    content: "▼";
}

th.asc::after {
    color: var(--white);
    content: "▲";
}

th.desc::after {
    color: var(--white);
    content: "▼";
}

th[ng-click]:hover::after {
    color: var(--white);
}

th.asc, th.desc {
    background-color: var(--gray300);
    font-weight: 600;
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--gray300);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background: var(--gray400);
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    min-height: 24px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--gray500);
    cursor: grabbing;
}

::-webkit-scrollbar-thumb:active {
    background: var(--gray500);
}

::-webkit-scrollbar-button,
::-webkit-scrollbar-corner {
    display: none;
}

input {
    min-width: 80px;
}

form.ng-submitted input.ng-invalid,
form.ng-submitted md-select.ng-invalid {
    outline: 2px solid var(--red);
    outline-offset: -1px;
}

[ng-click],
[ui-sref] {
    cursor: pointer;
    user-select: none;
}

.content > * {
    padding: 8px 16px;
}


.md-toast-content {
    text-wrap: auto;
    line-height: 18px;
}

.green-toast .md-toast-content {
    background: #009461 !important;
}

.red-toast .md-toast-content {
    background: var(--red) !important;
}

@media (max-width: 600px) {
    .red-toast, .green-toast {
        bottom: 0 !important;
        width: 100%;
        left: 0;
        right: 0;
    }
}

.header-item {
}


.p32 {
    padding: 32px;
}


.back-green-opacity {
    background: rgba(69, 190, 136, .1);
}

.p2vw {
    padding: 2vw;
}

.size5vw {
    font-size: 4vw;
}

.img5vh{
    min-width: 15vh;
    min-height: 15vh;
}

.img-crop-container {
    overflow: hidden;
    display: block;
}

.img-crop {
    height: auto;
    min-width: 100%;
    width: auto;
    object-fit: cover;
    display: block;
}

input,
md-select,
md-autocomplete {
    border-radius: 4px;
    border: none;
    line-height: 40px;
    width: 100%;
    height: 40px;
    transition: outline-color 0.3s ease;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12);
}

table input,
table md-autocomplete {
    width: 150px;
}


table input[type=number],
table md-select,
table md-autocomplete input[type=number] {
    min-width: 80px;
}

input,
md-select {
    padding: 0 15px;
}

md-autocomplete button {
    position: absolute !important;
    right: 0;
}


.input-right {
    position: absolute;
    right: 16px;
    bottom: 7px;
    width: 32px;
    height: 32px;
}


table md-select {
    width: auto;
}