:root { --bg:#f5f6f8; --paper:#fff; --ink:#1c232b; --brand:#2c3e50; --line:#dde1e6; --accent:#b8863b; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; font-size:15px; line-height:1.6; }
a { color:#3d5166; }
h1,h2 { font-family:Georgia,serif; color:var(--brand); }
.install-wrap { max-width:520px; margin:40px auto; padding:0 20px; }
.app { display:flex; min-height:100vh; }
.sidebar { width:220px; flex:0 0 220px; background:var(--brand); color:#dfe6ec; padding:20px 16px; }
.sidebar .brand { font-family:Georgia,serif; color:#fff; font-size:18px; font-weight:700; margin-bottom:20px; }
.sidebar a { display:block; color:#c7d1da; text-decoration:none; font-size:14px; padding:8px 10px; border-radius:6px; margin-bottom:2px; }
.sidebar a:hover, .sidebar a.active { background:rgba(255,255,255,0.12); color:#fff; }
main { flex:1; padding:32px 40px; max-width:1000px; }
.card { background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:20px 22px; margin-bottom:20px; }
.field { margin-bottom:14px; }
.field label { display:block; font-weight:600; font-size:13px; margin-bottom:4px; }
input[type=text], input[type=password], input[type=email], input[type=date], select, textarea {
  width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:6px; font-size:15px;
}
.btn { background:var(--brand); color:#fff; border:none; padding:10px 18px; border-radius:6px; font-size:14px; cursor:pointer; text-decoration:none; display:inline-block; }
.btn.secondary { background:#eef1f4; color:var(--ink); }
.btn.danger { background:#c0392b; }
.btn.small { padding:6px 12px; font-size:13px; }
table.list { width:100%; border-collapse:collapse; }
table.list th, table.list td { text-align:left; padding:9px 12px; border-bottom:1px solid var(--line); font-size:14px; }
table.list th { color:var(--brand); font-size:12.5px; text-transform:uppercase; letter-spacing:0.03em; }
.badge { display:inline-block; padding:2px 9px; border-radius:20px; font-size:11.5px; font-weight:700; }
.badge.aktiv { background:#e3f7e8; color:#1e7e34; }
.badge.gesperrt { background:#fde2e1; color:#c0392b; }
.flash { padding:12px 16px; border-radius:8px; margin-bottom:16px; font-size:14px; }
.flash.success { background:#e3f7e8; color:#1e7e34; }
.flash.error { background:#fde2e1; color:#c0392b; }
code { background:#eef1f4; padding:1px 5px; border-radius:4px; font-size:0.9em; }
.token-box { word-break:break-all; background:#1b232c; color:#dbe4ec; padding:14px; border-radius:8px; font-family:ui-monospace,monospace; font-size:12.5px; }
