:root {
    --bg-color: #111;
    --tile-color: #1a1d23;
    --tile-highlighted-color: #2b2e34;
    --text-color: #eee;
    --icon-hover-color: #3c3e45;
    --svg-fill-color: #ccc;
    --svg-fill-hover-color: #fff;
    --stats-color: #bbfbff;
    --stats-color2: #bbfbff;
}

*,*:before,*:after{
    box-sizing: border-box;
    cursor: inherit;
}

body {
    font-family: 'Montserrat', sans-serif;
    color: var(--text-color);
    background-color: var(--bg-color);
    padding: 0;
    margin: 0;
}
body,h1,h2,h3,h4,h5,h6 {font-weight: 450; margin: 0; }
h1,h2,h3,h4,h5,h6 { padding: 0; }

article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{
    display:block;
}
p { font-weight: 100; margin: 0; padding: 0; font-size: 1em}

.hidden {
    display: none;
}

.top-container, .top-container-wrapper, .top-container-left-section,
.top-container-middle-section, .top-container-right-section {
    z-index: 9999;
}

.top-container-wrapper {
    width: 100%;
    position: fixed;
    background: var(--tile-color);
    border-bottom: 1px solid #353535;
}

.top-container {
    width: 96%;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    height: 3em;
}

.top-container-left-section {
    display: flex;
    align-items: center;

}

.text-logo {
    text-wrap: nowrap;
    color: #fff;
    font-size: 1.3em;
    padding-left: .5em;
    user-select: none;
}

.top-container-middle-section {
    display: flex;
    align-items: center;
}

.top-container-right-section {
    display: flex;
    align-items: center;
    margin-right: 1em;
}

.settings-button {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px 3px 5px 3px;
    gap: 8px;
    height: 35px;
    width:  35px;
    border: none;
    background: black;
    border-radius: 20px;
    cursor: pointer;
    transition: all .3s ease-in-out;
    margin-left: 1em;
}

.settings-button:hover {
    background: var(--icon-hover-color);
}

.settings-button:active {
    transform: scale(0.8);
}
.svg-icon>g {
    transition: all .3s ease-in-out;
    stroke: var(--svg-fill-color);
}

.settings-button:hover .svg-icon {
    animation: spin 2s ease-in-out alternate infinite;
}
.settings-button:hover .svg-icon>g {
    transition: all .3s ease-in-out;
    stroke: var(--svg-fill-hover-color);
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.faq-button {
    width:  35px;
    height: 35px;
    border-radius: 50%;
    border: none;
    background-color: black;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.151);
    position: relative;
    transition: all .3s ease-in-out;
}
.faq-button svg {

    height: 1.5em;
    fill: var(--svg-fill-color);
}

.faq-button:hover{
    background-color: var(--icon-hover-color);
}

.faq-button:active {
    transform: scale(0.8);
}
.faq-button:hover svg {
    animation: jello-vertical 0.7s both;
    fill: var(--svg-fill-hover-color);
}
@keyframes jello-vertical {
    0% {
        transform: scale3d(1, 1, 1);
    }
    30% {
        transform: scale3d(0.75, 1.25, 1);
    }
    40% {
        transform: scale3d(1.25, 0.75, 1);
    }
    50% {
        transform: scale3d(0.85, 1.15, 1);
    }
    65% {
        transform: scale3d(1.05, 0.95, 1);
    }
    75% {
        transform: scale3d(0.95, 1.05, 1);
    }
    100% {
        transform: scale3d(1, 1, 1);
    }
}

.bell-button {
    width:  35px;
    height: 35px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bg-color);
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.13);
    border: none;
    margin-right: 1em;
    transition: all .3s ease-in-out;
}
.bellRing {
    animation: bellRing 0.9s both;
}
.bell-button:hover .bell {
    animation: bellRing 0.9s both;
}
.bell-button:hover {
    background-color: var(--icon-hover-color);

}
.bell-button:hover svg>path {
    fill: var(--svg-fill-hover-color);
}

.bell {
    width: 18px;
}

.bell path {
    fill: var(--svg-fill-color);
}


@keyframes bellRing {
    0%,
    100% {
        transform-origin: top;
    }

    15% {
        transform: rotateZ(10deg);
    }

    30% {
        transform: rotateZ(-10deg);
    }

    45% {
        transform: rotateZ(5deg);
    }

    60% {
        transform: rotateZ(-5deg);
    }

    75% {
        transform: rotateZ(2deg);
    }
}

.bell-button:active {
    transform: scale(0.8);
}

.user-button {
    width:  35px;
    height: 35px;
    border-radius: 50%;
    border: none;
    background-color: black;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.151);
    position: relative;
    transition: all .3s ease-in-out;
    margin-left: 1em;
}
.user-button:active {
    transform: scale(0.8);
}
.user-button:hover #user-head-icon{
    fill: #ccc;

    animation: headBob 0.9s both;
}
#user-head-icon {
    transition: all .3s ease-in-out;

    fill: #888;
}
#user-body-icon{
    transition: all .3s ease-in-out;
    
    fill: var(--svg-fill-color);
}
.user-button:hover #user-body-icon{
    fill: var(--svg-fill-hover-color);

}

@keyframes headBob {
    0%,
    100% {
        transform-origin: top;
    }

    15% {
        transform: rotateZ(10deg);
    }

    30% {
        transform: rotateZ(-10deg);
    }

    45% {
        transform: rotateZ(5deg);
    }

    60% {
        transform: rotateZ(-5deg);
    }

    75% {
        transform: rotateZ(2deg);
    }
}

.month-total-earnings-container {
    display: flex;
    align-items: center;
    margin: auto 1em auto 0;
    background-color: var(--bg-color);
    padding: .4em .5em;
    border-radius: 8px;
    user-select: none;
}
.month-total-earnings {
    font-size: 1.1em;
    color: #55ff55;
}
.month-total-earnings-text {
    font-size: 1.1em;

}

.main-container {
    width: 96%;
    margin: 0 auto;
}

.main-container-sections-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.main-container-commission-table-section {
    max-width: 55em;
    padding: 4.5em 0;
    margin-right: .3em;

}

.main-container-stats-section {
    max-width: 35em;
    padding: 4.5em 0;


}

.commission-table {
    border-collapse: collapse;
    text-align: center;
    border: 1px solid #797979;
    background-color: var(--tile-color);
}
.stats-table {
    margin: 0 auto;
    border-collapse: collapse;
    text-align: center;
    border: 1px solid #797979;
    background-color: #1a1d23;
}
th, tr, td {
    border: 1px solid #797979;
    padding: 0 .5em;
}
tr {
    height: 3em;
}
th {
    font-weight: 450;
    letter-spacing: 1px;
    user-select: none;
}

tr[class=stats-table-row] {
    height: 2em;
}

.content-container {
    padding: 0 1em;
    border-radius: 10px;
    background-color: var(--tile-color);
}

.content-inner-container {
    padding: 1.2em 0;

}

.content-section {
    padding: 0 1em 1em 1em;
    border-radius: 8px;
    background-color: #30313b;
    box-shadow: rgba(0, 0, 0, 0.4) 0 2px 4px, rgba(0, 0, 0, 0.3) 0 7px 13px -3px, rgba(0, 0, 0, 0.2) 0 -3px 0 inset;
}

.stats-section-table-container{
    overflow: scroll;
}

.stat-container {
    margin: 1.3em 0 .2em 0;
}

.stat {
    font-size: 15px;
    color: var(--stats-color2);
}
.stat2 {
    font-size: 15px;
    color: var(--stats-color);
}


.stat-title-container {
    padding: .6em 0;
}
.stat-title {
    width: max-content;
    margin: 0 auto;
    font-size: 1.2em;
    padding: .4em .8em;
    border-radius: 8px;
    background-color: var(--tile-color);
}

.input-table-container{
    overflow: scroll;
    /*padding-top: 1em;*/
}

input[type=number]{
    -moz-appearance: textfield;
    color: var(--text-color);
    background-color: var(--tile-color);
    border: none;
    padding: 0;
    font-size: 16px;
    width: 100%;
}
input[type=number]:focus {
    outline: none;
}
input:focus, td:has(>.input-box):focus-within {
    background-color: var(--tile-highlighted-color);
}
input::-webkit-outer-spin-button,  input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.input-box {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}

.editable-box {
    color: var(--text-color);
}

.non-editable-box {
    user-select: none;
    color: #888;
}

.earnings-column {
    user-select: none;
    color: #eeaa00;
}

.currency {
    padding-right: 5px;
    user-select: none;
}

.cell {
    width: 12em;
    text-wrap: nowrap;
}
.cell-checkbox {
    width: 3em;
}

.cell-checkbox:hover {
    background-color: var(--tile-highlighted-color);
    cursor: pointer;
}

/*input[type="checkbox"] {*/
/*    -webkit-appearance: none;*/
/*    appearance: none;*/
/*}*/
/*input[type="checkbox"] {*/
/*    width:  16px;*/
/*    height: 16px;*/
/*    background-color: var(--tile-highlighted-color);*/
/*    border: 1px solid #797979;*/
/*    border-radius: 5px;*/
/*    cursor: pointer;*/
/*    transition: all .25s ease-in-out;*/
/*}*/

/*input[type="checkbox"]:checked {*/
/*    background-color: #11ee11;*/
/*    border: 1px solid #11ee11;*/

/*}*/

/*input[type="checkbox"]:hover {*/

/*    cursor: pointer ;*/
/*}*/

/*input[type="checkbox"]:focus {*/
/*    box-shadow: none;*/
/*    outline: none;*/
/*}*/

.cell:has(>.input-box):hover, .cell:hover .input{
    cursor: text;
    background-color: var(--tile-highlighted-color);
}


.checkbox-container {
    cursor: pointer;
    margin: 0 auto;
    width: 100%;
}

.checkbox-container input {
    display: none;
}

.checkbox-container svg {
    overflow: visible;
}

.checkbox-path {
    fill: none;
    stroke: var(--text-color);
    stroke-width: 6;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke-dasharray 0.5s ease, stroke-dashoffset 0.5s ease;
    stroke-dasharray: 241 9999999;
    stroke-dashoffset: 0;
}

.checkbox-container input:checked ~ svg .checkbox-path {
    stroke-dasharray: 70.5096664428711 9999999;
    stroke-dashoffset: -262.2723388671875;
}

.checkbox-blah:has(input[type="checkbox"]) {
    padding-right: 0;
    padding-top: 2px;
    transition: all .3s ease-in-out;

}
.checkbox-blah:has(input[type="checkbox"]:checked) {
    padding-right: 4px;

}

.settings-menu-container {
    position: fixed;
    z-index: 9998;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);


    height: 100vh;
    width: 100vw;
    background-color: rgba(0, 0, 0, .8);
}

.settings-menu {
    width: 15em;
    height: 21.4em;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--text-color);
    border: 2px solid #353535;
    background-color: var(--tile-color);
    border-radius: 8px;
    animation-name: animateTop;
    animation-duration: .5s;
}

.setting-title {
    font-size: 1.3em;
}

@keyframes animateTop {
    from {top: 0; opacity: 0}
    to {top: 50%; opacity: 1}
}

.commission-settings {
    padding: 1.5em 0;
    text-align: center;
    border-top: 1px solid #3c3e45;
}
.commission-settings input{
    width: 3em;
    height: 2.3em;
    background-color: var(--bg-color);
    color: var(--text-color);
    border: 2px solid #30313b;
    text-align: center;
    border-radius: 8px;
    padding: .2em .3em;
    margin-top: .8em;
    font-size: 1.1em;
}
.commission-settings input:focus {
    outline: none;
}

.currency-settings {
    align-items: center;
    padding: 1.5em 0;
    text-align: center;
    border-top: 1px solid #3c3e45;
}
.currency-settings select {
    margin-top: .8em;
    font-size: 1.1em;
}

.settings-buttons-container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: .5em 0;
    border-top: 1px solid #3c3e45;
}

.settings-buttons {
    background-color: var(--bg-color);
    color: var(--text-color);
    border: 1px solid #30313b;
    border-radius: 5px;
    padding: .3em .4em;
    font-size: 1.1em;
    cursor: pointer;
    letter-spacing: 2px;
}
.settings-buttons:hover {
    background-color: #222;
}

.blur-page {
    filter: blur(3px);
}

.login-modal::backdrop {
    background-color: rgba(0, 0, 0, .9);
    color: var(--text-color);
}

.login-modal {
    padding: .8em;
    width: 21em;
    height: 12em;
    color: var(--text-color);
    border: 2px solid #353535;
    background-color: var(--tile-color);
    border-radius: 8px;
}
.login-modal input {
    background-color: var(--tile-highlighted-color);
    color: var(--text-color);
    border-radius: 8px;
    border: none;
    padding: .3em .5em;
}
.login-modal input:focus {
    outline: none;
}
#btnLogin {
    color: var(--text-color);
    background-color: var(--tile-color);
    font-weight: 450;
    border-radius: 8px;
    border: 1px solid #3c3e45;
    padding: .4em .2em;
    cursor: pointer;
}
#btnLogin:hover {
    background-color: var(--tile-highlighted-color);
}
#edtBoxLoginModal {
    margin: 3em 0;

}

.dim-page-high {
    filter: brightness(1%);
}


.change-date-wrapper {
    background-color: #30313b;
    border-radius: 8px 8px 0 0;
    padding: .6em 0;
}

.change-date-container {
    width: 15em;
    display: flex;
    align-items: center;
    margin: 0 auto;
    background-color: #30313b;
    border-radius: 8px;
    user-select: none;

}

.change-year, .change-month {
    display: flex;
    margin: .2em auto;
}
.change-month>label>select, .change-year>label>select {
    font-size: 1.1em;
}
.change-month select option:first-child, .change-year select option:first-child {
    font-size: 1.1em;
}
.change-month select, .change-year select, .settings-menu select {
    background-color: var(--tile-color);
    color: var(--text-color);
    border: none;
    border-radius: 4px;
    padding: .3em .4em;
    cursor: pointer;
    transition: all .2s ease-out;
    text-align: center;
}

.change-month select:hover, .change-year select:hover, .settings-menu select:hover {
    background-color: var(--bg-color);
}

.change-month select option, .change-year select option, .settings-menu select option {
    background-color: var(--bg-color);
}
