* { box-sizing: border-box; }
body { font-family: system-ui, sans-serif; margin: 0; background: #f4f4f6; color: #1a1a1a; }
.topnav { display: flex; align-items: center; gap: 24px; background: #1a2233; color: white; padding: 12px 24px; }
.topnav .brand { font-weight: bold; margin-right: 24px; }
.topnav .links { flex: 1; display: flex; gap: 16px; }
.topnav a { color: #cfd8ea; text-decoration: none; }
.topnav a:hover { color: white; }
.content { max-width: 960px; margin: 32px auto; padding: 0 16px; }
.login-box { max-width: 320px; margin: 80px auto; background: white; padding: 32px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.login-box h1 { font-size: 20px; margin-top: 0; }
.login-box form { display: flex; flex-direction: column; gap: 8px; }
.login-box input { padding: 8px; border: 1px solid #ccc; border-radius: 4px; }
.login-box button { margin-top: 12px; padding: 10px; background: #1a2233; color: white; border: none; border-radius: 4px; cursor: pointer; }
table { width: 100%; border-collapse: collapse; background: white; margin-bottom: 24px; }
th, td { text-align: left; padding: 8px 12px; border-bottom: 1px solid #eee; }
th { background: #eef0f4; }
.flash { padding: 10px 16px; border-radius: 4px; margin-bottom: 16px; }
.flash-success { background: #d7f5dd; color: #14532d; }
.flash-error { background: #fde2e2; color: #7f1d1d; }
form.inline-form { display: flex; gap: 8px; margin-bottom: 24px; flex-wrap: wrap; }
form.inline-form input, form.inline-form select { padding: 8px; border: 1px solid #ccc; border-radius: 4px; }
form.inline-form button { padding: 8px 16px; background: #1a2233; color: white; border: none; border-radius: 4px; cursor: pointer; }
h2 { margin-top: 32px; }
