:root{
  --bg:#4169E1;
  --panel:#fff8e8;
  --panel-inner:#fffdf7;
  --text:#111827;
  --muted:#6b7280;
  --blue:#4169E1;
  --yellow:#FFF3B0;
  --red:#b91c1c;
  --red-soft:#fef2f2;
  --red-border:#fecaca;
  --green:#166534;
  --green-soft:#dcfce7;
  --border:#e5e7eb;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}
.checkin-wrap{max-width:680px;margin:0 auto;padding-left:14px;padding-right:14px}
.checkin-header{background:#111827;color:#fff;padding:14px 0;position:sticky;top:0;z-index:10;box-shadow:0 4px 18px rgba(0,0,0,.15)}
.brand-line{display:flex;align-items:center;gap:12px}.checkin-logo{width:52px;height:52px;border-radius:50%;object-fit:contain;background:#fff;padding:3px}.brand-line h1{font-size:1.28rem;margin:0 0 2px}.brand-line p{margin:0;font-size:.9rem;opacity:.84}
main{padding-top:14px;padding-bottom:28px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:0 7px 22px rgba(0,0,0,.04)}.hidden{display:none!important}
h2{margin:0 0 7px;font-size:1.12rem}.muted{color:var(--muted)}.compact{margin:4px 0 10px}.tiny{font-size:.78rem;margin:8px 0 0}
label{display:block;font-weight:700;margin:10px 0}input,select{width:100%;margin-top:5px;padding:13px 12px;border:1px solid #d1d5db;border-radius:11px;background:#fff;font-size:1rem}
button,.primary-link,.icon-link{border:0;border-radius:11px;font-weight:800;cursor:pointer;text-decoration:none;transition:.16s ease}button.primary,.primary-link{background:var(--blue);color:#fff;padding:12px 15px}button.secondary{background:#e5e7eb;color:#111827;padding:11px 14px}.full{width:100%;margin-top:4px}button:not(:disabled):hover,.primary-link:hover,.icon-link:hover{background:var(--yellow);color:var(--blue)}button:disabled{opacity:.55;cursor:wait}
.text-link{color:var(--blue);font-weight:750}.auth-panel{margin-top:8vh}.top-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.top-actions{display:flex;gap:8px}.icon-button,.icon-link{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;font-size:1.35rem}.admin-pill{display:inline-flex;padding:3px 8px;border-radius:999px;background:#111827;color:#fff;font-size:.73rem;font-weight:850;margin-bottom:6px}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.summary-box{background:var(--panel-inner);border:1px solid #eadbb7;border-radius:12px;padding:10px 6px;text-align:center}.summary-box span{display:block}.summary-number{font-size:1.45rem;font-weight:900;color:var(--blue)}
.search-label{margin-top:12px}.section-title-row{display:flex;align-items:center;justify-content:space-between}.red-dot{width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px #fee2e2}
.member-list{display:flex;flex-direction:column;gap:9px;margin-top:12px}.member-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:var(--panel-inner);border:1px solid #eadbb7;border-radius:13px;padding:10px}.member-row.registered{background:var(--red-soft);border-color:var(--red-border);border-left:5px solid var(--red)}.member-name{font-weight:850;font-size:1rem}.member-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px}.badge{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:.72rem;font-weight:850;background:#e5e7eb;color:#374151}.badge.coming{background:var(--red);color:#fff}.badge.not-coming{background:#fef3c7;color:#92400e}
.confirm-button{min-width:108px;min-height:52px;padding:8px 10px;background:var(--blue);color:#fff}.confirm-button.confirmed{background:var(--green);color:#fff}.confirm-button .main{display:block;font-size:1.12rem}.confirm-button .sub{display:block;font-size:.7rem;margin-top:2px;font-weight:800}
.empty-state{text-align:center}.primary-link{display:inline-block;margin-top:6px}.save-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#111827;color:#fff;border-radius:999px;padding:10px 16px;font-weight:850;box-shadow:0 8px 28px rgba(0,0,0,.25);z-index:40}
footer{text-align:center;color:#fff;padding:4px 12px 24px;font-size:.78rem;text-shadow:0 1px 2px rgba(0,0,0,.18)}
@media(max-width:480px){.checkin-wrap{padding-left:10px;padding-right:10px}.panel{padding:13px}.member-row{grid-template-columns:minmax(0,1fr) 102px}.confirm-button{min-width:102px}.summary-box{font-size:.82rem}.summary-number{font-size:1.25rem}}


/* V5.13 – rückwirkende Anwesenheit ausschliesslich für Volladministratoren */
.admin-date-controls{margin:14px 0 12px;padding:12px;background:var(--panel-inner);border:1px solid #eadbb7;border-radius:13px}
.admin-date-title{font-weight:900;color:#111827;margin-bottom:4px}
.date-control-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.date-control-row label{margin:4px 0}
.date-control-row input{margin-bottom:0}
.date-today-button{height:48px;margin-bottom:0;white-space:nowrap}
@media(max-width:480px){.date-control-row{grid-template-columns:1fr}.date-today-button{width:100%}}
