* {
    box-sizing: border-box;
    margin: 0;
}

h2 {
    margin: 0;
}

html,
body {
    margin: 0 auto;
    display: flex;
    justify-self: center;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 100%;
    width: 100%;
    background-color: #EAF0F6;
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
    font-weight: bold;
}

.progress-bar {
    background-color: white;
    width: 568px;
    margin: 20px;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    padding: 20px;
}

.container {
    display: grid;
    grid-template-columns: 45% 45%;
    gap: 10%;
    min-height: calc(320px - 47px);
    align-content: center;
}

.wrapper-svg {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: end;
    align-items: center;
    
}

.controls {
    display: flex;
    flex-direction: column;
    justify-content: center;
    
    gap: 10%;
}

.control {
    display: flex;
    align-items: center;
    gap: 10px;
}

input {
    border: none;
    border-radius: 22px;
    outline: none;
}

input[type="number"] {
    -moz-appearance: textfield;
    text-align: center;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.value-input {
    height: 24px;
    width: 40px;
    font-weight: bold;
    border: 2px solid #000000;
}

.toggle {
    opacity: 0;
    position: absolute;
}

.toggle-check {
    width: 40px;
    height: 24px;
    background-color: #DAE6EC;
    border-radius: 12px;
    position: relative;
    cursor: pointer;
}

.toggle-check::before {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    background: white;
    border-radius: 50%;
    transition: transform 0.3s;
}

.toggle:checked+.toggle-check {
    background-color: #1A6CFF;
}

.toggle:checked+.toggle-check::before {
    transform: translateX(16px);
}

.hidden {
    opacity: 0;
    pointer-events: none;
}

@media screen and (orientation:portrait) and (max-width: 608px) {
    body {
        align-items: start;
    }

    .progress-bar {
        width: 320px;
        height: 568px;
    }

    .container,
    .controls {
        grid-column: span 1;
    }

    .controls {
        gap: 15px;
        margin: 0 auto;
    }


    .container {
        grid-template-columns: 1fr;
        height: 100%;
    }

    .wrapper-svg {
        justify-content: center;
    }
}

@media (max-width: 320px) {
    .progress-bar {
        margin: 20px 0 0 0;
    }
}