body
{
    background: palegreen;
    font-family: Inter, sans-serif;
    font-size: 16px;
    padding: 0;
    margin: 0;
    height: 100svh;
    display: grid;
    grid-template-rows: 2rem auto 3.5rem;
    grid-template-columns: auto;
    grid-template-areas:
        "header"
        "main"
        "footer";
}

header
{
    grid-area: header;

    display: flex;
    justify-content: space-between;
    background: darkolivegreen;
    color: white;
    padding: 0.25rem 1rem;

    h1
    {
        font-size: 1rem;
        margin: 0;
        padding: 0;
    }
    
    aside.user
    {
        
    }
}

main
{
    grid-area: main;
    overflow: scroll;
    padding: 1rem 1rem 2rem 1rem;
    height: 100%;

    details
    {
        margin-bottom: 1rem;

        summary
        {
            font-size: 1.25rem;

            &::marker
            {
                font-size: 2rem;
            }

            span
            {
                display: none;

                &.signed-off
                {
                    display: inline;
                }
            }
        }

        h3
        {
            margin: 0.25rem 0;
        }

        ul.tasks
        {
            margin: 0.25rem 0;
            padding: 0 1rem;
        }
    }

    article#links
    {
        h2
        {
            font-size: 1.5rem;
            margin: 2rem 0 0 0;
        }

        ul
        {
            margin: 0.25rem 0 2rem 0;
            padding: 0 1rem;
        }

        li
        {
            margin: 0.5rem 0;
        }

        a
        {
            color: black;
        }
    }
}

footer
{
    grid-area: footer;
    display: flex;
    justify-content: space-between;

    background: darkolivegreen;
    padding: 0.25rem 1rem;
    text-align: left;

    div#timer
    {
        display: inline-block;
        color: white;
        font-size: 1.25rem;
    }
}

aside#sign-off
{
    display: none;
    position: absolute;
    top: 3rem;
    left: 1rem;
    width: calc(20rem);
    height: 22rem;
    padding: 0.5rem 1rem;
    background: mediumseagreen;
    border: solid 2px seagreen;
    font-weight: bold;
    font-size: 1.25rem;

    div.pinpad
    {
        padding: 0.5rem;

        & > div
        {
            text-align: center;

            & > div
            {
                width: 4rem;
                height: 3rem;
                border: solid 1px black;
                background: white;
                margin: 0.25rem;
                text-align: center;
                font-size: 2rem;
                line-height: 3rem;
                font-weight: bold;
                display: inline-block;
            }
        }
    }

    & > button
    {
        margin: 1rem auto;
        padding: 0.5rem 1rem;
        display: block;
    }
}

aside#message
{
    display: none;
    position: absolute;
    top: 3rem;
    left: 1rem;
    width: calc(100% - 4rem - 4px);
    height: 22rem;
    padding: 0.5rem 1rem;
    background: mediumseagreen;
    border: solid 2px seagreen;
    font-weight: bold;
    font-size: 1.25rem;

    textarea
    {
        width: 100%;
        height: 16rem;
        margin: 1rem 0;
        font-size: 1.5rem;
    }

    button
    {
        padding: 0.25rem 1rem;
        margin-right: 2rem;
    }
}