:root{font-family:Inter,system-ui,Arial,sans-serif;color:#1f2937;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}.topbar{position:fixed;top:0;right:0;padding:18px 22px;z-index:5}.admin-link{font-size:14px;color:#6b7280;text-decoration:none}.admin-link:hover{color:#111827}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:70px 20px}.card{background:#fff;width:min(640px,100%);border-radius:20px;box-shadow:0 16px 45px rgba(15,23,42,.08);padding:34px}.card.narrow{width:min(430px,100%);text-align:center}h1,h2{margin-top:0}h1{font-size:28px}h2{font-size:22px}.muted{color:#6b7280}.code-input{width:100%;font-size:28px;text-align:center;letter-spacing:.18em;text-transform:uppercase;padding:16px;border:1px solid #cbd5e1;border-radius:14px;outline:none}.code-input:focus,input:focus,textarea:focus{border-color:#64748b;box-shadow:0 0 0 3px rgba(100,116,139,.12)}button,.btn{display:inline-block;border:0;border-radius:12px;padding:12px 18px;background:#111827;color:white;font-weight:600;cursor:pointer;text-decoration:none}.btn.secondary,button.secondary{background:#e5e7eb;color:#111827}.btn.danger{background:#991b1b}.full{width:100%;margin-top:14px}.error{background:#fef2f2;color:#991b1b;border-radius:10px;padding:10px 12px;margin:12px 0}.success{background:#ecfdf5;color:#065f46;border-radius:10px;padding:10px 12px;margin:12px 0}.option{display:block;border:1px solid #e5e7eb;border-radius:12px;padding:14px;margin:10px 0;cursor:pointer}.option:hover{background:#f8fafc}.admin-wrap{max-width:1050px;margin:0 auto;padding:40px 20px}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:#fff;border-radius:16px;padding:22px;box-shadow:0 8px 28px rgba(15,23,42,.06)}input[type=text],input[type=number],textarea,select{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px;font:inherit}textarea{min-height:90px;resize:vertical}label{display:block;font-weight:600;margin:12px 0 6px}.row{display:flex;gap:10px;align-items:center}.row>*{flex:1}.codes{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;columns:4;line-height:1.9}.results-row{display:grid;grid-template-columns:1fr 90px 90px;gap:10px;padding:9px 0;border-bottom:1px solid #eee}.receipt{font-size:28px;font-weight:800;letter-spacing:.08em;margin:14px 0}.small{font-size:13px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:10px;border-bottom:1px solid #eee}@media(max-width:760px){.grid{grid-template-columns:1fr}.codes{columns:2}.results-row{grid-template-columns:1fr 60px 70px}}

/* v0.4 Admin-Formular */
.wide-input { width:100%; box-sizing:border-box; }
.option-list { display:grid; gap:12px; }
.date-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.date-grid input { width:100%; box-sizing:border-box; }
.poll-row { padding:14px 0; border-bottom:1px solid #eee; }
.poll-actions { margin-top:10px; align-items:stretch; }
.details-btn {
  background:#132033 !important;
  color:#fff !important;
  border:1px solid #132033 !important;
  text-align:center;
  font-weight:700;
  box-shadow:0 1px 2px rgba(0,0,0,.08);
}
.details-btn:hover { filter:brightness(1.08); }
@media (max-width:700px){ .date-grid{grid-template-columns:1fr;} }

/* v0.5 Code-Verwaltung und Löschen */
.code-tools{display:flex;gap:12px;align-items:end;justify-content:space-between;flex-wrap:wrap;margin:12px 0 18px}
.inline-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.inline-form label{margin:0}
.inline-form input[type=number]{width:100px}
.code-admin-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.code-chip{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid #e1e6ee;border-radius:10px;padding:10px 12px;background:#fff}
.code-chip form{margin:0}
.code-delete{border:0;background:transparent;font-size:24px;line-height:1;color:#9b2c2c;cursor:pointer;padding:0 4px}
.code-delete:hover{background:#fdecec;border-radius:6px}
.used-mark{font-size:.82rem;color:#356044}
.danger-zone{border:1px solid #ead0d0}
.danger-zone h2{color:#8c2525}
.danger-btn{background:#9d2929!important;color:#fff!important;border:1px solid #9d2929!important}
.danger-outline{background:#fff!important;color:#922!important;border:1px solid #c88!important}
#deleteBox{margin-top:14px}
#deleteBox form{display:grid;gap:10px;max-width:560px}

/* v0.6 Lehrer-Login */
.topbar{left:auto;max-width:100%}
.teacher-box{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);padding:8px;border-radius:12px;box-shadow:0 5px 18px rgba(15,23,42,.08)}
.teacher-box input[type=password]{width:150px;padding:9px 10px;border:1px solid #cbd5e1;border-radius:9px;font:inherit}
.teacher-box button{padding:9px 12px;border-radius:9px}
.teacher-box.logged-in{font-size:13px;color:#475569}
.small-btn{padding:8px 10px!important;font-size:13px}
.teacher-logout{font-size:12px;color:#64748b;text-decoration:none}
.teacher-admin-name{display:flex;align-items:center;margin-left:auto;font-size:14px;color:#64748b}
@media(max-width:600px){
 .topbar{position:static;padding:12px}
 .teacher-box{flex-wrap:wrap;justify-content:flex-end}
 .center{padding-top:25px}
}

/* v0.8 – am klaren GG-EventManager-Stil orientiert */
:root{
  --gg-navy:#102a43;
  --gg-blue:#2563a6;
  --gg-blue-soft:#eaf2fb;
  --gg-border:#d9e2ec;
  --gg-bg:#f3f6fa;
  --gg-text:#102a43;
  --gg-muted:#627d98;
}
body{background:var(--gg-bg);color:var(--gg-text)}
h1,h2,h3{color:var(--gg-navy)}
.admin-wrap{max-width:1120px}
.panel,.card,.share-panel{
  border:1px solid rgba(16,42,67,.07);
  box-shadow:0 10px 30px rgba(16,42,67,.06);
}
button,.btn{background:var(--gg-navy)}
.btn.secondary,button.secondary{
  background:#fff;
  color:var(--gg-navy);
  border:1px solid var(--gg-border);
}
.btn.secondary:hover,button.secondary:hover{background:var(--gg-blue-soft)}
.details-btn,.primary-action{
  background:var(--gg-blue)!important;
  border-color:var(--gg-blue)!important;
}
input[type=text],input[type=password],input[type=number],input[type=datetime-local],textarea,select,.code-input{
  border:1px solid var(--gg-border);
  background:#fff;
}
input:focus,textarea:focus,select:focus,.code-input:focus{
  border-color:var(--gg-blue);
  box-shadow:0 0 0 3px rgba(37,99,166,.12);
  outline:none;
}
.admin-nav{
  background:#fff;
  border:1px solid rgba(16,42,67,.07);
  border-radius:14px;
  padding:10px;
  align-items:center;
  box-shadow:0 7px 22px rgba(16,42,67,.045);
}
.teacher-admin-name{font-weight:600;color:var(--gg-navy)}
.share-panel{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  background:#fff;
  border-radius:16px;
  padding:22px 26px;
  margin:0 0 20px;
}
.share-panel h2{margin:2px 0 8px}
.share-panel p{margin:0 0 14px;color:var(--gg-muted);max-width:720px}
.eyebrow{
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gg-blue);
}
.share-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.qr-box{
  background:#fff;
  border:1px solid var(--gg-border);
  border-radius:12px;
  padding:10px;
  line-height:0;
}
.qr-box img{width:150px;height:150px;display:block}
.success{background:#edf8f1;color:#21633a;border:1px solid #cee8d7}
.error{border:1px solid #f2cccc}
.muted{color:var(--gg-muted)}
.topbar .teacher-box{
  border:1px solid rgba(16,42,67,.08);
  box-shadow:0 8px 24px rgba(16,42,67,.07);
}
@media(max-width:700px){
  .share-panel{grid-template-columns:1fr}
  .qr-box{width:max-content}
}

/* v0.9 – Farbwelt des GG-EventManagers */
:root{
  --gg-red:#a90000;
  --gg-red-hover:#8f0000;
  --gg-red-soft:#f8eeee;
  --gg-ink:#171717;
  --gg-warm-text:#725d59;
  --gg-warm-border:#ddd2cf;
  --gg-warm-input:#f2eeee;
  --gg-bg:#ffffff;
}
body{background:#fff;color:var(--gg-ink)}
h1,h2,h3{color:var(--gg-ink)}
.muted,.share-panel p{color:var(--gg-warm-text)}
.admin-wrap{background:#fff}
.panel,.card,.share-panel{
  background:#fff;
  border:1px solid #eee8e6;
  box-shadow:0 8px 26px rgba(70,35,30,.055);
}
button,.btn,
.details-btn,.primary-action,
button.full{
  background:var(--gg-red)!important;
  color:#fff!important;
  border:1px solid var(--gg-red)!important;
  font-weight:700;
}
button:hover,.btn:hover,
.details-btn:hover,.primary-action:hover,
button.full:hover{
  background:var(--gg-red-hover)!important;
  border-color:var(--gg-red-hover)!important;
  filter:none;
}
.btn.secondary,button.secondary{
  background:#fff!important;
  color:var(--gg-red)!important;
  border:1px solid var(--gg-warm-border)!important;
}
.btn.secondary:hover,button.secondary:hover{
  background:var(--gg-red-soft)!important;
  color:var(--gg-red-hover)!important;
}
input[type=text],input[type=password],input[type=number],input[type=datetime-local],textarea,select,.code-input{
  background:var(--gg-warm-input);
  border:1px solid var(--gg-warm-border);
  color:var(--gg-ink);
}
input:focus,textarea:focus,select:focus,.code-input:focus{
  border-color:var(--gg-red);
  box-shadow:0 0 0 3px rgba(169,0,0,.10);
}
.eyebrow{color:var(--gg-red)}
.admin-nav{
  background:#fff;
  border-color:#eee8e6;
  box-shadow:0 6px 20px rgba(70,35,30,.045);
}
.teacher-admin-name{color:var(--gg-warm-text)}
.qr-box{border-color:var(--gg-warm-border)}
.poll-row,.results-row,.table th,.table td{border-color:#eee5e2}
.code-chip{border-color:#e7ddda;background:#fff}
.danger-btn{background:var(--gg-red)!important;border-color:var(--gg-red)!important}
.danger-outline{background:#fff!important;color:var(--gg-red)!important;border-color:#cba7a7!important}
.teacher-box button{background:var(--gg-red)!important;border-color:var(--gg-red)!important}
