:root{--bg:#16181d;--panel:#1f2229;--ink:#e8e6e1;--mut:#9a9ca3;--acc:#e0a526;--line:#2c3039}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,"Segoe UI",Helvetica,Arial,sans-serif}
a{color:var(--acc)}
.w{max-width:900px;margin:0 auto;padding:0 20px}
.top{background:var(--panel);border-bottom:3px solid var(--acc)}
.top .w{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:16px 20px}
.logo{font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.logo b{color:var(--acc)}
.top nav a{margin-left:16px;text-decoration:none;color:var(--ink);font-size:.95rem}
.top nav a.cur{color:var(--acc)}
h1{font-size:2.2rem;margin:1.4em 0 .3em;line-height:1.15}
h2{margin-top:1.8em;color:var(--acc);font-size:1.15rem;text-transform:uppercase;letter-spacing:.06em}
.sub{color:var(--mut);font-size:1.1rem}
.rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:22px 0}
.room{background:var(--panel);border:1px solid var(--line);padding:16px}
.room h3{margin:0 0 6px}
.tag{display:inline-block;background:var(--acc);color:#16181d;font-size:.75rem;font-weight:700;padding:1px 8px;border-radius:3px}
table{width:100%;border-collapse:collapse;background:var(--panel)}
td,th{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left}
ul{padding-left:1.2em}
.foot{margin-top:56px;border-top:1px solid var(--line);padding:22px 0;color:var(--mut);font-size:.88rem}
.einlass{max-width:400px;margin:24px 0}
.einlass label{display:block;margin:0 0 4px;color:var(--mut);font-size:.9rem}
.einlass input{display:block;width:100%;padding:9px 10px;margin:0 0 14px;background:var(--bg);border:1px solid var(--line);color:var(--ink);font:inherit}
.einlass button{background:var(--acc);color:#16181d;border:0;padding:9px 18px;font:inherit;font-weight:700;cursor:pointer}
.einlass button[disabled]{opacity:.6;cursor:default}
.absage{color:#ef7d6c;margin:12px 0 0}
.feld-fehler{display:block;margin:-10px 0 12px;color:#ef7d6c;font-size:.88rem}
.einlass input[aria-invalid=true]{border-color:#ef7d6c}
