/* Minimal, functional styling for an internal tool -- no framework. */
* { box-sizing: border-box; }
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    margin: 0;
    color: #1a1a1a;
    background: #f7f7f8;
}
.topnav {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1.25rem;
    background: #1a1a2e;
}
.topnav a { color: #eaeaea; text-decoration: none; font-size: 0.95rem; }
.topnav a.brand { font-weight: 700; color: #fff; margin-right: 0.5rem; }
.topnav a:hover { text-decoration: underline; }
.topnav .spacer { flex: 1; }
.topnav .whoami { color: #a0a0c0; font-size: 0.85rem; }
.logout-form { display: inline; margin: 0; }
.logout-form button {
    background: none; border: 1px solid #555; color: #eaeaea; border-radius: 4px;
    padding: 0.3rem 0.7rem; cursor: pointer; font-size: 0.85rem;
}
main { max-width: 960px; margin: 2rem auto; padding: 0 1.25rem; }
h1 { font-size: 1.5rem; }
table { width: 100%; border-collapse: collapse; margin-top: 1rem; background: #fff; }
th, td { text-align: left; padding: 0.5rem 0.75rem; border-bottom: 1px solid #e0e0e0; font-size: 0.9rem; }
th { background: #eeeef1; }
form.inline { display: inline; }
label { display: block; margin-top: 0.75rem; font-weight: 600; font-size: 0.85rem; }
input[type=text], input[type=password], input[type=email], input[type=number], select {
    width: 100%; max-width: 360px; padding: 0.4rem 0.6rem; margin-top: 0.25rem;
    border: 1px solid #ccc; border-radius: 4px; font-size: 0.95rem;
}
button, input[type=submit] {
    margin-top: 1rem; background: #3a3ad0; color: #fff; border: none;
    padding: 0.5rem 1rem; border-radius: 4px; cursor: pointer; font-size: 0.9rem;
}
button.danger { background: #c0392b; }
button.secondary { background: #6b6b6b; }
.error { color: #c0392b; margin-top: 0.75rem; }
.notice { background: #fff8e1; border: 1px solid #e0c34a; padding: 0.75rem 1rem; border-radius: 4px; margin-top: 1rem; }
.login-card { max-width: 360px; margin: 4rem auto; background: #fff; padding: 2rem; border-radius: 8px; box-shadow: 0 1px 4px rgba(0,0,0,0.1); }
.actions { margin-top: 1rem; display: flex; gap: 0.5rem; }
.badge { display: inline-block; padding: 0.1rem 0.5rem; border-radius: 3px; font-size: 0.75rem; background: #e0e0e0; }
.badge.active { background: #d4edda; color: #155724; }
.badge.inactive { background: #f8d7da; color: #721c24; }

.dashboard-links {
    display: flex;
    flex-direction: column;
    margin-top: 1.5rem;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    overflow: hidden;
}
.dashboard-link {
    display: block;
    line-height: 5rem;
    font-size: 2rem;
    padding: 0 1.5rem;
    color: #1a1a2e;
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid #e0e0e0;
    transition: background 0.15s ease, color 0.15s ease, padding-left 0.15s ease;
}
.dashboard-links .dashboard-link:last-child { border-bottom: none; }
.dashboard-link:hover {
    background: #3a3ad0;
    color: #fff;
    padding-left: 2rem;
}
