
body {
    background-color: #f4f4f4;
    font-family: "Century Gothic", sans-serif;
    color: green;
}
input, select {
    margin: 8px;
    padding: 6px;
    border: 2px solid green;
    border-radius: 5px;
}
button {
    background-color: red;
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}
button:hover {
    background-color: darkred;
}

/* Login page */
.login-container {
    max-width: 400px;
    margin: 60px auto;
    background-color: white;
    padding: 30px;
    border-radius: 10px;
    border: 2px solid green;
    text-align: center;
}
.login-container h1 {
    margin-bottom: 20px;
}
.login-container label {
    display: block;
    text-align: left;
    margin-top: 10px;
    font-weight: bold;
}
.login-container input {
    width: 90%;
}
.login-container button {
    margin-top: 15px;
    width: 96%;
}
.flash-messages {
    list-style: none;
    padding: 0;
    color: red;
    font-weight: bold;
}

/* Dashboard page */
.dashboard-container {
    max-width: 500px;
    margin: 60px auto;
    background-color: white;
    padding: 30px;
    border-radius: 10px;
    border: 2px solid green;
    text-align: center;
}
.dashboard-container a {
    display: inline-block;
    margin-top: 20px;
    background-color: red;
    color: white;
    padding: 10px 15px;
    border-radius: 8px;
    text-decoration: none;
}
.dashboard-container a:hover {
    background-color: darkred;
}

/* Homepage background */
body.homepage-bg {
    background: linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55)),
                url('/static/chris-liverani-HUJDz6CJEaM-unsplash.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;
    margin: 0;
}

.form-card {
    max-width: 450px;
    margin: 60px auto;
    background-color: white;
    padding: 30px;
    border-radius: 10px;
    border: 2px solid green;
    text-align: center;
}

.form-card h1 {
    margin-bottom: 20px;
}

.form-card label {
    display: block;
    text-align: left;
    margin-top: 10px;
    font-weight: bold;
}

.form-card input {
    width: 90%;
}

.form-card button {
    margin-top: 15px;
    width: 96%;
}

/* Admin page */
.admin-container {
    max-width: 800px;
    margin: 40px auto;
    background-color: white;
    padding: 30px;
    border-radius: 10px;
    border: 2px solid green;
}
.admin-container table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}
.admin-container th, .admin-container td {
    border: 1px solid #ccc;
    padding: 10px;
    text-align: left;
}
.admin-container button {
    padding: 6px 12px;
}

/* Unlock code reveal */
.unlock-code-box {
    margin-top: 20px;
    padding: 20px;
    background-color: #eafbea;
    border: 2px dashed green;
    border-radius: 8px;
}
.unlock-code-box .code {
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 3px;
    color: darkgreen;
}