:root { color-scheme: light dark; }
* { box-sizing: border-box; }
body { font-family: system-ui, sans-serif; margin: 0; color: #ddd; background: #14171c; }
nav { display: flex; gap: 1rem; align-items: center; padding: .6rem 1rem;
      background: #1c2129; border-bottom: 1px solid #2a313c; }
nav .brand { font-weight: 700; }
nav .spacer { flex: 1; }
nav a { color: #8ab4f8; text-decoration: none; }
nav .whoami { color: #888; font-size: .9em; }
main { padding: 1rem; max-width: 1100px; margin: 0 auto; }
h1 { font-size: 1.3rem; }
table { border-collapse: collapse; width: 100%; margin: .5rem 0; }
th, td { text-align: left; padding: .35rem .6rem; border-bottom: 1px solid #2a313c;
         font-size: .92rem; vertical-align: top; }
th { color: #9aa4b2; font-weight: 600; }
a { color: #8ab4f8; }
.badge { display: inline-block; padding: 0 .45em; border-radius: .35em; font-size: .82em; }
.badge.critical { background: #5c1a1a; color: #ff8a80; }
.badge.high { background: #5c3a1a; color: #ffcc80; }
.badge.medium { background: #4a4a22; color: #ffff8d; }
.badge.low { background: #1e3a24; color: #9ccc65; }
.muted { color: #777; }
.error { color: #ff8a80; }
.feed { list-style: none; padding: 0; }
.feed li { padding: .5rem .6rem; border-bottom: 1px solid #232a34; }
.feed .meta { color: #888; font-size: .85em; }
.login-form { display: grid; gap: .8rem; max-width: 320px; }
.login-form label { display: grid; gap: .25rem; }
input, button { padding: .45rem .6rem; border-radius: .35em; border: 1px solid #3a4350;
                background: #1c2129; color: #ddd; }
button { cursor: pointer; background: #2b3a55; }
.tabs { display: flex; gap: .5rem; margin: .8rem 0; }
.tabs a { padding: .3rem .7rem; border-radius: .35em; background: #1c2129; }
.tabs a.active { background: #2b3a55; }
