
:root{
 --blue:#009fe3; --blue-dark:#0085c2; --orange:#f58220;
 --ink:#18232c; --muted:#61717d; --line:#d8e1e7; --bg:#f4f7f9;
 --green:#24933f; --red:#df3d36;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}
.sitehead{background:#fff;border-bottom:1px solid #dce4e9}
.headin{max-width:720px;margin:auto;padding:10px 18px;display:flex;align-items:center;gap:13px}
.logo{width:68px;height:68px;object-fit:contain;flex:0 0 auto}
.brandtext{font-size:20px;font-weight:800;line-height:1.05}
.bluebar{background:var(--blue);color:#fff;text-align:center;padding:13px 16px}
.bluebar b{font-size:23px}.bluebar span{display:block;margin-top:3px;font-size:15px}
.wrap{max-width:610px;margin:24px auto;padding:0 16px}
.card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:25px;box-shadow:0 4px 18px #18384a0c;text-align:center}
.iconcircle{width:105px;height:105px;border-radius:50%;margin:3px auto 17px;display:grid;place-items:center;font-size:52px;background:#e8f6fc;color:var(--blue)}
.iconcircle.green{background:#e8f6eb;color:var(--green)}
.iconcircle.red{background:#fff0ef;color:var(--red)}
h1{font-size:30px;color:var(--blue-dark);margin:7px 0 10px}
.muted{color:var(--muted);line-height:1.5}
.field{text-align:left;margin:15px 0}
label{display:block;font-weight:700;margin-bottom:7px}
input,select{width:100%;padding:13px;border:1px solid #b7c5ce;border-radius:7px;background:#fff;font-size:16px}
.btn{display:block;width:100%;border:0;border-radius:7px;padding:14px 16px;background:var(--blue);color:#fff;font-weight:800;font-size:17px;text-align:center;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--blue-dark)}
.btn.secondary{background:#fff;color:var(--blue-dark);border:2px solid var(--blue)}
.btn.danger{background:#fff;color:var(--red);border:2px solid var(--red)}
.statusbox{border-radius:10px;padding:20px;margin:18px 0;background:#eef4f7;border:1px solid #dbe5ea}
.statusbox.ANWESEND{background:#eaf7ed;border-color:#b8dfc1;color:#23773a}
.statusbox.ABGEMELDET{background:#fff0ef;border-color:#efb7b3;color:#a62f29}
.statusword{font-size:27px;font-weight:900}
.meta{background:#eef5f8;border-radius:10px;padding:16px;margin:17px 0;text-align:left}
.metarow{display:flex;justify-content:space-between;gap:15px;padding:7px 0}
.metarow span:last-child{font-weight:700}
.notice{margin-top:15px;padding:13px;background:#eaf6fb;border-left:4px solid var(--blue);text-align:left;line-height:1.45}
.success{background:#eaf7ed;border-color:var(--green)}
.error{background:#fff0ef;border-color:var(--red)}
.hide{display:none}.small{font-size:13px}
.footer{text-align:center;color:#72808a;font-size:12px;padding:20px}
@media(max-width:520px){
 .headin{padding:8px 14px}.logo{width:60px;height:60px}.brandtext{font-size:18px}
 .wrap{margin:14px auto}.card{padding:20px}h1{font-size:27px}
 .iconcircle{width:94px;height:94px;font-size:45px}
 .metarow{display:block}.metarow span{display:block}.metarow span+span{margin-top:3px}
}

/* Logo-/Kopfzeilenkorrektur */
.sitehead{min-height:0}
.headin{
  max-width:720px;
  min-height:64px;
  padding:7px 18px;
  gap:11px;
}
.logo{
  width:48px !important;
  height:48px !important;
  max-width:48px !important;
  max-height:48px !important;
  object-fit:contain;
  object-position:center;
  display:block;
}
.brandtext{
  font-size:17px;
  line-height:1.08;
}
@media(max-width:520px){
  .headin{min-height:58px;padding:6px 14px}
  .logo{
    width:44px !important;
    height:44px !important;
    max-width:44px !important;
    max-height:44px !important;
  }
  .brandtext{font-size:16px}
}

/* Zugang wiederherstellen */
.textbtn{display:block;width:100%;margin-top:13px;padding:10px;border:0;background:transparent;color:var(--blue-dark);font-size:15px;font-weight:700;text-decoration:underline;cursor:pointer}
#rcode{text-transform:uppercase;letter-spacing:.16em;font-weight:800}
