:root { color-scheme: light; font-family: system-ui, sans-serif; color: #172638; background: #f3f6fa; }
body { margin: 0; }
header { display: flex; align-items: center; gap: 1.5rem; padding: 1rem 2rem; background: #152e4b; color: white; }
header a { color: white; font-size: 1.5rem; font-weight: bold; text-decoration: none; }
header form { margin-left: auto; }
main { max-width: 1200px; margin: 2rem auto; padding: 0 1.5rem; }
section { background: white; padding: 1.5rem; border-radius: .7rem; margin-top: 1.5rem; }
.login { max-width: 440px; margin: 3rem auto; }
label { display: block; margin: 1rem 0; }
input:not([type=checkbox]), textarea, select { display: block; box-sizing: border-box; width: 100%; padding: .65rem; margin-top: .4rem; border: 1px solid #8b9aad; border-radius: .3rem; font: inherit; }
button { border: 0; border-radius: .3rem; padding: .7rem 1.1rem; background: #1760a6; color: white; font: inherit; cursor: pointer; }
a { color: #175a9b; }
table { width: 100%; border-collapse: collapse; background: white; }
td, th { padding: .9rem; text-align: left; border-bottom: 1px solid #d8e1ec; }
.table-scroll { overflow-x: auto; }
.columns { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1.5rem; }
.notice, .error { padding: 1rem; border-radius: .3rem; background: #e0f2e7; }
.error { background: #ffe6e4; color: #8e1919; }
.dn, small { overflow-wrap: anywhere; color: #526379; }
.groups { max-height: 320px; overflow-y: auto; }
.check input { margin-right: .6rem; }
small { display: block; margin-left: 1.6rem; }
fieldset { border: 1px solid #c9d4e1; }
@media (max-width: 760px) { .columns { grid-template-columns: 1fr; } header { flex-wrap: wrap; } header span { display: none; } }
