:root { color-scheme: light; font-family: system-ui, sans-serif; background: #f5f7fb; color: #172033; }
body { margin: 0; }
header { display: flex; gap: 1rem; align-items: center; padding: 1rem 2rem; background: #14213d; color: white; }
header a { color: white; text-decoration: none; }
header form { margin-left: auto; }
main { max-width: 1200px; margin: 2rem auto; padding: 0 1rem; }
.panel, .cards article { background: white; border-radius: .75rem; box-shadow: 0 4px 18px #17203312; padding: 1.25rem; }
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1.5rem; }
.cards strong { display: block; font-size: 2rem; }
.cards span { color: #667085; }
.login-panel { max-width: 420px; margin: 5rem auto; }
label { display: grid; gap: .35rem; margin: 1rem 0; }
input, select, button { padding: .65rem .75rem; border: 1px solid #cbd2df; border-radius: .45rem; }
button { cursor: pointer; background: #2864dc; color: white; border-color: #2864dc; }
.error { color: #b42318; }
.filters { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 1rem; }
table { width: 100%; border-collapse: collapse; background: white; }
th, td { text-align: left; border-bottom: 1px solid #e7eaf0; padding: .75rem; }
@media (max-width: 720px) { .cards { grid-template-columns: 1fr; } header { padding: 1rem; } }
