/* GTA-Anwesenheit – Design „Feuer“ (Jugendarbeit-Standard), ◐ schaltet auf hell (Outdoor bei Sonne) */
@font-face{font-family:Anton;src:url(/schrift/anton.woff2) format("woff2");font-display:swap}
@font-face{font-family:Archivo;src:url(/schrift/archivo.woff2) format("woff2");font-weight:400 800;font-display:swap}
:root{
  --n:#09080D;--n2:#15121C;--n3:#1E1A27;--rand:#ffffff1a;
  --s:#F6F2EB;--sl:#9E97AB;--f:#FF5A1F;--f2:#FFC23D;--rot:#FF6B6B;
  --feuer:linear-gradient(110deg,var(--f) 0%,var(--f2) 100%);--aufFeuer:#1a0d05;
  --display:Anton,Impact,'Arial Narrow Bold',sans-serif;--text:Archivo,-apple-system,'Helvetica Neue',sans-serif;
  color-scheme:dark
}
:root[data-hell]{
  --n:#F7F4EE;--n2:#FFFFFF;--n3:#F0ECE4;--rand:#00000018;--s:#1B1712;--sl:#6E675D;--f:#E2480F;--f2:#F29A12;--rot:#C62828;
  color-scheme:light
}
*{box-sizing:border-box;margin:0;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
html{background:var(--n)}
body{background:var(--n);color:var(--s);font-family:var(--text);font-size:16px;min-height:100vh;
  padding:calc(env(safe-area-inset-top) + 14px) 16px calc(env(safe-area-inset-bottom) + 96px);max-width:720px;margin:0 auto}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--sl);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.eyebrow span{flex:1}
.sync{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--sl);padding:6px 10px;border-radius:99px;box-shadow:inset 0 0 0 1px var(--rand)}
/* A+ : alles Lesbare wächst mit (Stufe in --gross, auf dem Gerät gemerkt) */
#kopf,main,.blatt>div,.anmeldung{zoom:var(--gross,1)}
#kopf h1{zoom:var(--klein,1)} /* Datum ist schon groß genug */
.aplus{font-weight:800;color:var(--s);white-space:nowrap}
.sync{white-space:nowrap}
.sync.warten{color:var(--f2)}.sync.fehler{color:var(--rot)}
.rund{width:34px;height:34px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--rand);font-size:17px;color:var(--sl)}
h1{font-family:var(--display);font-weight:400;font-size:44px;line-height:1.02;margin:10px 0 4px;text-transform:uppercase;letter-spacing:.01em;
  background:var(--feuer);-webkit-background-clip:text;background-clip:text;color:transparent}
h2{font-family:var(--display);font-weight:400;font-size:24px;text-transform:uppercase;letter-spacing:.02em;margin:22px 0 10px}
.sub{color:var(--sl);font-size:15px}
.datumzeile{display:flex;align-items:center;gap:8px}
.datumzeile h1{flex:1}
.pfeil{width:44px;height:44px;border-radius:14px;background:var(--n2);font-size:22px;color:var(--s);box-shadow:inset 0 0 0 1px var(--rand)}
.pfeil:disabled{opacity:.25}
.seg{display:flex;background:var(--n2);border-radius:14px;padding:4px;margin:16px 0 14px;gap:4px}
.seg button{flex:1;padding:11px 0;border-radius:11px;font-size:15px;font-weight:600;color:var(--sl)}
.seg button.on{background:var(--n3);color:var(--s);box-shadow:inset 0 0 0 1px var(--rand)}
.zahlen{display:flex;gap:10px;margin-bottom:12px}
.zahlen div{flex:1;background:var(--n2);border-radius:14px;padding:10px 12px}
.zahlen small{color:var(--sl);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.zahlen strong{display:block;font-family:var(--display);font-weight:400;font-size:28px}
.spaltenkopf{display:flex;gap:10px;padding:0 12px 6px;color:var(--sl);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.spaltenkopf span{flex:1}.spaltenkopf em{width:62px;text-align:center;font-style:normal}
.kind{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:var(--n2);border-radius:16px;padding:10px 12px;margin-bottom:8px}
.kind .n{flex:1 1 90px;min-width:0}.kind .n b{display:block;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kind .n span{color:var(--sl);font-size:13px}
.pill{width:62px;height:48px;border-radius:12px;font-weight:800;font-size:15px;background:var(--n3);color:var(--sl);box-shadow:inset 0 0 0 1px var(--rand);flex:none}
.pill.da{background:var(--feuer);color:var(--aufFeuer);box-shadow:none;font-size:20px}
.pill.weg{color:var(--rot);font-size:13px}
.pill:disabled{opacity:.25;cursor:default}
.kind .n+.pill{margin-left:auto} /* umgebrochen (A+) bleiben die Knöpfe rechts unter 8./9. */
.knopfreihe{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.knopf{flex:1 1 auto;min-height:48px;padding:12px 14px;border-radius:14px;box-shadow:inset 0 0 0 1.5px var(--rand);font-size:15px;font-weight:600;text-align:center}
.knopf.feuer,button.feuer{background:var(--feuer);color:var(--aufFeuer);box-shadow:none}
.knopf.leise{color:var(--sl)}
.banner{background:var(--n2);border-radius:16px;padding:16px;margin:12px 0;box-shadow:inset 0 0 0 1px var(--rand)}
.banner b{display:block;font-size:18px;margin-bottom:4px}
.banner p{color:var(--sl)}
.banner.aus{box-shadow:inset 0 0 0 1.5px var(--rot)}
.liste .zeile{display:flex;align-items:center;gap:12px;background:var(--n2);border-radius:14px;padding:12px 14px;margin-bottom:6px;width:100%;text-align:left}
.zeile .d{width:82px;flex:none;font-weight:700}
.zeile .t{flex:1;color:var(--sl);font-size:14px}
.zeile .w{font-size:14px;font-weight:700}
.zeile.frei{opacity:.45}
.zeile.jetzt{box-shadow:inset 0 0 0 1.5px var(--f2)}
.zeile.aus .w{color:var(--rot)}
.zeile.offen .w{color:var(--f2)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-size:12px;padding:3px 8px;border-radius:99px;background:var(--n3);color:var(--sl)}
.monate{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin:0 -16px;padding-left:16px;padding-right:16px}
.monate button{flex:none;padding:10px 14px;border-radius:12px;background:var(--n2);color:var(--sl);font-weight:600;box-shadow:inset 0 0 0 1px var(--rand)}
.monate button.on{background:var(--feuer);color:var(--aufFeuer);box-shadow:none}
.vonbis{display:flex;gap:8px;margin:10px 0}
.vonbis label{flex:1}
label{display:block;color:var(--sl);font-size:13px;margin:10px 0 0}
input,select,textarea{display:block;width:100%;margin-top:4px;padding:12px;border-radius:12px;border:0;background:var(--n3);box-shadow:inset 0 0 0 1px var(--rand);font-size:16px}
input[type=checkbox]{width:24px;height:24px;display:inline-block;margin:0 8px 0 0;vertical-align:middle;accent-color:var(--f)}
.haken{display:flex;align-items:center;color:var(--s);font-size:16px;margin:8px 0}
.summe{display:grid;grid-template-columns:1fr auto;gap:6px 12px;background:var(--n2);border-radius:16px;padding:14px 16px;margin:12px 0}
.summe span{color:var(--sl)}.summe b{text-align:right}
.summe .gross{font-family:var(--display);font-weight:400;font-size:26px;color:var(--s)}
.leer{color:var(--sl);text-align:center;padding:30px 10px}
.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;background:color-mix(in srgb,var(--n) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-top:1px solid var(--rand);padding:8px max(8px,env(safe-area-inset-left)) calc(env(safe-area-inset-bottom) + 6px)}
.tabs button{flex:1;font-size:12px;color:var(--sl);padding:4px 0;max-width:180px;margin:0 auto}
.tabs i{display:block;font-style:normal;font-size:22px;line-height:1.2}
.tabs button.on{color:var(--f2)}
.blatt{position:fixed;inset:0;background:#000a;display:flex;align-items:flex-end;justify-content:center;z-index:20}
.blatt>div{background:var(--n2);width:100%;max-width:720px;max-height:92vh;overflow:auto;border-radius:22px 22px 0 0;padding:20px 16px calc(env(safe-area-inset-bottom) + 20px);position:relative}
.blatt h3{font-family:var(--display);font-weight:400;font-size:26px;text-transform:uppercase;margin:0 40px 6px 0}
.blatt p{color:var(--sl)}
.zu{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:var(--n3);font-size:16px}
.anmeldung{position:fixed;inset:0;background:var(--n);z-index:30;padding:calc(env(safe-area-inset-top) + 60px) 24px;max-width:480px;margin:0 auto}
.anmeldung p{color:var(--sl);margin:10px 0}
.anmeldung button{width:100%;margin-top:16px;padding:14px;border-radius:14px;font-weight:700}
.fehler{color:var(--rot)!important}
.hinweis{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 90px);background:var(--s);color:var(--n);padding:12px 16px;border-radius:14px;z-index:40;font-weight:600;text-align:center;max-width:520px;margin:0 auto}
.klein{font-size:13px;color:var(--sl)}
@media (min-width:640px){h1{font-size:54px}}
/* Kinderfotos (A: vorn, 54 px) */
.foto{flex:none;width:54px;height:54px;border-radius:50%;overflow:hidden;background:var(--n3);padding:0;touch-action:manipulation;display:grid;place-items:center}
.foto img{width:100%;height:100%;object-fit:cover;display:block}
.foto.platz{background:none;border:2px dashed color-mix(in srgb,var(--s) 28%,transparent);color:var(--sl);font-size:15px;line-height:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.foto.platz small{font-size:10px}
.foto.mini{width:40px;height:40px;font-size:13px;display:inline-grid;vertical-align:middle}
.knopf .foto.mini{width:26px;height:26px;margin-right:6px}
.grossfoto{width:min(78vw,340px);aspect-ratio:1;margin:4px auto 14px;border-radius:26px;overflow:hidden;background:var(--n3)}
.grossfoto img{width:100%;height:100%;object-fit:cover}

