body {
    font-family: Arial, sans-serif;
    background-color: #f0f2f5;
    margin: 0;
    color: #333;
}
/* --- Login Page Styles --- */
.login-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}
.login-container form {
    background-color: #ffffff;
    padding: 2.5rem;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    width: 350px;
}
.project-title {
    text-align: center;
    font-size: 1.1rem;
    color: #555;
    margin-top: -1.5rem;
    margin-bottom: 1.5rem;
}

/* --- Content Page Styles --- */
.content-container {
    max-width: 960px;
    margin: 2rem auto;
    background: #fff;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
header { text-align: center; border-bottom: 1px solid #eee; padding-bottom: 1rem; margin-bottom: 2rem; }
section { margin-bottom: 2rem; }
h1 { color: #1a237e; }
h2 { color: #3f51b5; border-bottom: 2px solid #3f51b5; padding-bottom: 0.5rem; margin-bottom: 1rem; }

/* --- Data Grid Styles --- */
.data-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; }
.data-point { text-align: center; background-color: #f4f6f8; padding: 1.5rem; border-radius: 5px; }
.data-value { font-size: 2.5rem; font-weight: bold; color: #1a237e; display: block; }
.data-label { font-size: 1rem; color: #555; }

/* --- Shared Styles --- */
.input-group, button { margin-bottom: 1rem; }
label { display: block; margin-bottom: 0.5rem; color: #555; }
input[type="text"], input[type="password"] { width: 100%; padding: 0.75rem; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
button { width: 100%; padding: 0.75rem; border: none; border-radius: 4px; background-color: #3f51b5; color: white; font-size: 1rem; cursor: pointer; transition: background-color 0.3s; }
button:hover { background-color: #303f9f; }
.error { color: #d32f2f; text-align: center; margin-top: 1rem; height: 1em; }