@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

* {
    box-sizing: border-box;
}

body{
    --color-fg: #f0f0f0;
    --color-bg: #1e1e1e;
    --color-bg-theme: #04080f;
    --color-theme: #507dbcff;

    --color-green: #7ef383;

    --color-dark-green: #4e7d4e;
    --color-blue: rgb(18, 43, 68);
    --color-red: #ff8a8a;

    padding: 0;
    margin: 0;
    background-color: var(--color-bg-theme);
    color: var(--color-fg);
    font-family: "Inter", sans-serif;
    font-size: 1rem;
    font-optical-sizing: auto;
}

main {
    margin: 2rem auto;
    padding: 1rem;
    max-width: 70rem;
    border-radius: 0.5rem;
    background-color: var(--color-bg);
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Comfortaa", sans-serif;
    font-weight: 700;
}

a {
    color: var(--color-theme);
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}

li {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-left: 1rem;

    .info {
        flex: 2 1 0;
        min-width: 20rem;
        display: flex;
        flex-wrap: wrap;
        column-gap: 0.5rem;

        .short {
            width: 20%;
        }
        .long {
            width: 75%;
        }
    }

    &.ok {
        border-left: 0.25rem solid var(--color-green);
    }

    &.no {
        border-left: 0.25rem solid var(--color-bg);
    }
}

form {
    margin: 0 auto;
    max-width: 25rem;
}

label {
    display: block;
    margin-top: 1rem;
    font-weight: bold;
}

input, select, button {
    display: block;
    width: 100%;
    padding: 0.5rem;
    border: none;
    border-radius: 0.25rem;
    background-color: var(--color-theme);
    color: var(--color-fg);
}
input::placeholder {
    color: var(--color-fg);
}
button {
    margin: 1rem 0
}

select, summary, button {
    cursor: pointer;
}

.activity {
    flex: 1 1 0;
    min-width: 10rem;
    position: relative;

    span {
        height: 1rem;
        border-right: 3px solid var(--color-theme);
        position: absolute;
    }

    &.Active span {
        background-color: var(--color-blue);
    }
    &.Drop span {
        border-right: 1rem solid var(--color-red);
    }
    &.Done span {
        border-right: 1rem solid var(--color-green);
    }

    p {
        display: flex;
        justify-content: space-between;
        margin-bottom: 0;
    }
}

#timeline {
    height: 1rem
}

#timePeriod {
    display: flex;
    justify-content: space-between;
}

#filter {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;

    label {
        width: 20rem;
    }
}

#serverOnly {
    display: none;
    flex-wrap: wrap;
    gap: 1rem;

    hr {
        flex: 1 1 100%;
    }
}
#add, #update {
    flex: 1 1 0;
    min-width: 15rem;
}

#add p {
    margin-top: 0.25rem;
}

#sync {
    min-width: 100%;
}
#sync-warning {
    overflow-x: auto;
}

.warning {
    border-left: 2px solid var(--color-red);
    margin-top: 1rem !important;
    padding: 0.5rem;
}

footer {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 5rem;
    margin: 2rem;
}

footer img {
    filter: invert(100%);
}

footer a {
    color: var(--color-fg);
    text-decoration: none;
}

@media screen and (max-width: 70rem) {
    main {
        margin: 0;
        border-radius: 0;
    }
}