body {
    margin: 0;
    min-height: 100vh;

    display: flex;
    justify-content: center;
    align-items: center;

    font-family: sans-serif;

    background: #ffffff;
    color: #000000;

    /* transition: 0.3s; */
}

body.dark {
    background: #121212;
    color: #ffffff;
}

form {
    display: flex;
    flex-direction: column;
    gap: 10px;

    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 8px;

    background: inherit;
    color: inherit;
}

body.dark form {
    border: 1px solid #777777;
}

body.dark input {
    color: #ffffff;
    background-color: #2a2a2a;
    border: 1px solid #777777;
    /* border-radius: 4px; */
}

body.dark button {
    color: #ffffff;
    background-color: #474747;
    border: 1px solid #777777;
    border-radius: 4px;
}

input, button {
    padding: 6px;
}

.theme-switch {
    position: absolute;
    top: 12px;
    right: 12px;

    display: flex;
    align-items: center;
    gap: 8px;

    font-size: 14px;
}

.theme-switch input { display: none; }

.slider {
    width: 42px;
    height: 22px;
    background: #ccc;
    border-radius: 999px;
    position: relative;
    cursor: pointer;
    transition: 0.3s;
}

.slider::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    top: 2px;
    left: 2px;
    background: white;
    border-radius: 50%;
    transition: 0.3s;
}

input:checked + .slider {
    background: #4caf50;
}

input:checked + .slider::before {
    transform: translateX(20px);
}

.login-container {
    width: 1000;
    height: 1000;
    align-items: top;
    display: flex;
    flex-direction: column;
}

.error-message {
    color: #b00020;
    justify-content: center;
    /* margin-top: 1rem; */
    /* margin-bottom: 1rem; */
    font-weight: bold;
    font-size: 12px;
}

body.dark .error-message {
    color: #aa4f61;
}
