:root { color-scheme: dark; }
* { box-sizing: border-box; }
body { font-family: system-ui, sans-serif; margin:0; background:#0f141b; color:#e6ebf2; }
#nav { display:flex; align-items:center; gap:4px; padding:10px 16px; background:#161d27;
       border-bottom:1px solid #223; flex-wrap:wrap; position:sticky; top:0; z-index:5; }
#nav .brand { color:#1A8C82; font-weight:800; font-size:20px; margin-right:14px; }
#nav a { color:#c9d4e0; text-decoration:none; padding:7px 12px; border-radius:8px; font-size:14px; }
#nav a:hover { background:#1c2530; }
#nav a.active { background:#1A8C82; color:#fff; font-weight:600; }
#nav .who { margin-left:auto; color:#8fa1b8; font-size:13px; display:flex; align-items:center; gap:10px; }
#nav .role { background:#10161f; border:1px solid #2a3340; padding:3px 9px; border-radius:20px; font-size:11px; }
#nav .role.superadmin { color:#ffd166; border-color:#5a4a1a; }
#nav .role.pruefmittel { color:#7fd1ff; border-color:#1e4a5a; }
#nav button { background:#10161f; border:1px solid #2a3340; color:#e6ebf2; padding:6px 12px;
              border-radius:8px; cursor:pointer; font-size:13px; }
main { padding:18px; max-width:1200px; margin:0 auto; }
.bar { display:flex; gap:10px; align-items:center; margin-bottom:14px; flex-wrap:wrap; }
h2 { font-size:18px; margin:0 8px 0 0; }
input, select, button, textarea { font-size:14px; padding:9px 11px; border-radius:8px;
              border:1px solid #2a3340; background:#10161f; color:#e6ebf2; font-family:inherit; }
button.primary { background:#1A8C82; color:#fff; border:none; font-weight:600; cursor:pointer; }
button.primary:hover { background:#23A79B; }
button { cursor:pointer; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th,td { text-align:left; padding:8px 12px; border-bottom:1px solid #1c2530; }
tr:hover td { background:#141b24; }
.ok { color:#39d98a; } .bad { color:#ff5d5d; } .muted{color:#7d8794;}
.card { background:#161d27; border:1px solid #223; border-radius:12px; padding:16px; margin-bottom:14px; }
label { display:block; font-size:12px; color:#8fa1b8; margin:10px 0 4px; }
.row { display:flex; gap:12px; flex-wrap:wrap; }
.row > div { flex:1; min-width:180px; }
pre { white-space:pre-wrap; word-break:break-word; font-size:12px; color:#b9c4d0; }
#detail { position:fixed; inset:0; background:rgba(0,0,0,.6); display:none; align-items:center;
          justify-content:center; padding:20px; z-index:10; }
#detail .box { background:#161d27; border-radius:12px; max-width:900px; width:100%; max-height:90vh; overflow:auto; padding:16px; }
.close { float:right; }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:8px; }
.cell label { margin:0 0 2px; }
.cell input { width:100%; padding:6px 8px; }
.notice { background:#10161f; border:1px solid #2a3340; border-radius:8px; padding:10px 12px;
          font-size:13px; color:#8fa1b8; margin-bottom:12px; }
