:root {
    --font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --color-text: #333;
    --color-text-light: #fff;
    --color-gray: #83848f;
    --color-gray-light: #eff3f6;
    --color-gray-bg: #eff3f6;
    --color-primary: #09ADC3;
    --color-primary-light: #14bcd3;
    --color-primary-bg: #e8fcff;
    --color-border: #d8d8d8;
    --btn-radius-lg: 6px;
    --btn-radius: 3px;
}

*, ::after, ::before {
    box-sizing: border-box;
}

* {
    font-family: var(--font);
}

body {
    color: var(--color-text);
    font-size: 14px;
}


.margin-auto {
    margin-left: auto;
    margin-right: auto;
}

.flex {
    display: flex;
}
.flex > div {
    width: 100%;
}
.gap {
    gap: 10px;
}

.form-control {
    width: 100%;
}

.w-100 { width: 100%; }
.w-90 { width: 90%; }
.w-80 { width: 80%; }
.w-70 { width: 70%; }
.w-60 { width: 60%; }
.w-50 { width: 50%; }
.w-40 { width: 40%; }
.w-30 { width: 30%; }
.w-20 { width: 20%; }
.w-10 { width: 10%; }


.container {
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 0;
}

.container.is-sm {
    max-width: 700px;
}

.page-title {
    font-size: 2.25rem;
    text-align: center;
    margin-bottom: 1.25em;
}

.btn {
    display: inline-block;
    padding: 9px 15px;
    font-weight: bold;
    line-height: 1.25;
    color: var(--color-text-light);
    background-color: var(--color-gray);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    border: 1px solid transparent;
    border-radius: var(--btn-radius);
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    /* box-shadow: rgba(17, 17, 26, 0.05) 0px 1px 0px, rgba(17, 17, 26, 0.1) 0px 0px 8px; */
}

.btn.is-round {
    border-radius: 20px;
}

.btn.is-primary {
    background-color: var(--color-primary);
}
.btn.is-primary:hover {
    background-color: var(--color-primary-light);
}

.btn.is-sm {
    font-size: 0.75rem;
    padding: 6px 10px;
}

.btn.is-outline {
    color: var(--color-text);
    background: transparent;
    border: solid 1px var(--color-border);
}

.btn.is-primary.is-outline {
    color: var(--color-primary);
    border: solid 1px var(--color-primary);
}

.btn.is-primary.is-outline:hover {
    background-color: var(--color-primary-bg);
}

.btn.is-loading {
    pointer-events: none;
    position: relative;
    color: transparent !important;
}

.btn.is-full {
    width: 100%;
}

.table-wrap {
    /* border: 1px solid var(--color-border); */
    /* border-radius: var(--btn-radius-lg); */
    /* overflow: hidden; */
    /* box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; */
    overflow: auto;
    width: 100%;
    /* height: 80vh; */
}

.table {
    width: 100%;
    border-collapse: collapse;
}

.table tr:hover {
    background-color: #f5f9fb;
}

.table th, .table td {
    border-top: 1px solid var(--color-border);
    /* border-bottom: 1px solid var(--color-border); */
    padding: 10px 18px;
}

.table th {
    border-top: none;
    color: #fff;
    background-color: var(--color-primary);
    text-align: left;
    position: sticky;
    top: 0;
    left: 0;
}

.alert {
    display: none;
    color: #ef4444;
    background: #fde2e2;
    font-weight: bold;
    padding: 12px 16px;
    margin-bottom: 1.5em;
    border-radius: var(--btn-radius-lg);
}

.alert ul {
    margin: 0;
}
.alert.is-show {
    display: block;
}

.alert.success {
    color: #0e8d21;
    background: #dbf6d2;
}

.is-loading .btn-loader {
    display: block;
}

.btn-loader {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    display: none;
    margin: 0 auto;
    position: absolute;
    background: #FFF;
    box-shadow: -10px 0 #FFF, 10px 0 #FFF;
    box-sizing: border-box;
    animation: load-frame 1.2s linear infinite;
    top: 50%;
    left: 50%;
    margin-left: -5px;
    margin-top: -3px;
}

@keyframes load-frame {
    33% {
        background: var(--color-primary-bg);
        box-shadow: -10px 0 var(--color-primary), 10px 0 var(--color-primary-bg);
    }
    66% {
        background: var(--color-primary);
        box-shadow: -10px 0 var(--color-primary-bg), 10px 0 var(--color-primary-bg);
    }
    100% {
        background: var(--color-primary-bg);
        box-shadow: -10px 0 var(--color-primary-bg), 10px 0 var(--color-primary);
    }
}


/*.form-control {*/
/*    display: block;*/
/*    width: 100%;*/
/*    padding: .375rem .75rem;*/
/*    font-size: 1rem;*/
/*    font-weight: 400;*/
/*    line-height: 1.5;*/
/*    background-clip: padding-box;*/
/*    border: 1px solid var(--color-border);*/
/*    -webkit-appearance: none;*/
/*    -moz-appearance: none;*/
/*    appearance: none;*/
/*    border-radius: var(--btn-radius);*/
/*    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;*/
/*}*/

/*.form-control[type=file] {*/
/*    overflow: hidden;*/
/*}*/

/*.form-control[type=file]:not(:disabled):not([readonly]) {*/
/*    cursor: pointer;*/
/*}*/

input[type='file'] {
    color: rgb(31, 41, 55);
    cursor: pointer;
    border: 1px solid var(--color-border);
    border-radius: var(--btn-radius);
    padding-right: 0.5rem;
}

::file-selector-button {
    font-family: var(--font);
    background-color: rgb(209, 213, 219);
    border: none;
    cursor: pointer;
    border-right: 1px solid var(--color-border);
    padding: 0.6rem 1rem;
    margin-right: 1rem;
}
