/* Admin-Bereich — schlicht, im Papier-Look der Website, iPad-/Handy-tauglich */
:root{
  --bg:#f5efe3; --card:#fffdf7; --line:#e3dac5; --line-2:#c8bb9f;
  --txt:#1c1712; --muted:#6f6350; --dim:#a3947c;
  --gold:#c2331f; --gold-2:#a52a18; --rec:#c2331f; --ink:#f8f3e8; --good:#3f7d4a;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--txt);font-family:Inter,system-ui,sans-serif;line-height:1.55;min-height:100vh}
a{color:var(--gold);text-decoration:none}
.abar{position:sticky;top:0;z-index:50;background:rgba(245,239,227,.94);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);padding:.8rem 1.2rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.abar b{font-size:1.02rem;white-space:nowrap}
.abar b i{color:var(--gold);font-style:normal}
.atabs{display:flex;gap:.25rem;flex-wrap:wrap;margin-left:auto}
.atabs a{color:var(--muted);font-size:.86rem;font-weight:600;padding:.5rem .8rem;border-radius:10px}
.atabs a:hover{color:var(--txt);background:rgba(28,23,18,.06)}
.atabs a.active{color:var(--ink);background:var(--gold)}
.atabs .badge{background:var(--rec);color:#fff;border-radius:99px;font-size:.68rem;padding:.05rem .42rem;margin-left:.3rem}
.awrap{max-width:900px;margin:0 auto;padding:1.6rem 1.2rem 4rem}
.awrap h1{font-size:1.5rem;margin:0 0 1.2rem}
.acard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.3rem;margin-bottom:1.1rem}
.acard h2{font-size:1.05rem;margin-bottom:.9rem}
label{display:block;font-weight:700;font-size:.85rem;margin:.7rem 0 .3rem}
/* --dim liegt auf der Karte nur bei 2,9:1 — für Fließtext zu blass, deshalb
   trägt der Hilfetext --muted (5,8:1). Gerechnet, nicht geschätzt. */
.help{color:var(--muted);font-size:.78rem;margin-top:.2rem;line-height:1.6}
.input,select.input,textarea.input{width:100%;background:#fff;border:1px solid var(--line-2);
  color:var(--txt);border-radius:11px;padding:.7rem .85rem;font-size:.95rem;font-family:inherit}
.input:focus{outline:0;border-color:var(--gold)}
textarea.input{resize:vertical;min-height:110px}
.btn{display:inline-flex;align-items:center;gap:.4rem;border:0;cursor:pointer;border-radius:999px;
  font-weight:800;font-size:.88rem;padding:.65rem 1.3rem;background:var(--gold);color:var(--ink)}
.btn:hover{filter:brightness(1.07)}
.btn.ghost{background:transparent;border:1px solid var(--line-2);color:var(--txt)}
.btn.danger{background:transparent;border:1px solid rgba(194,51,31,.55);color:#a52a18}
.btn.sm{padding:.42rem .85rem;font-size:.8rem}
.row{display:flex;align-items:center;gap:.9rem;padding:.85rem 0;border-bottom:1px dashed var(--line);flex-wrap:wrap}
.row:last-child{border-bottom:0}
.row .grow{flex:1;min-width:180px}
.row b{display:block}
.row small{color:var(--muted)}
.pill{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border-radius:99px;padding:.22rem .6rem}
.pill.on{color:var(--good);border:1px solid rgba(63,125,74,.5)}
.pill.off{color:var(--dim);border:1px solid var(--line-2)}
.pill.gold{color:var(--gold);border:1px solid rgba(217,164,65,.45)}
.flash{border-radius:12px;padding:.8rem 1rem;margin-bottom:1rem;font-weight:600;font-size:.92rem}
.flash.success{background:rgba(63,125,74,.1);border:1px solid rgba(63,125,74,.4);color:#2c5e38}
.flash.error{background:rgba(194,51,31,.08);border:1px solid rgba(194,51,31,.4);color:#a52a18}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.msg-box{background:rgba(28,23,18,.04);border-left:3px solid var(--gold);border-radius:0 10px 10px 0;
  padding:.8rem 1rem;margin-top:.5rem;white-space:pre-wrap;color:#443c30;font-size:.92rem}
.photo-prev{width:130px;border-radius:12px;border:1px solid var(--line-2)}
form.inline{display:inline}
@media(max-width:700px){.grid2{grid-template-columns:1fr}.atabs{margin-left:0}}

/* ── Statistik ──────────────────────────────────────────────────────
   Eine Kennzahl = eine Farbe (--gold, 5,5:1 auf der Karte). Zahlen und
   Beschriftungen bleiben in der Textfarbe, damit die Farbe allein nie
   Bedeutung tragen muss. */
.zeitwahl{display:flex;gap:.4rem;margin:-.6rem 0 1.1rem}
.zeitwahl a{font-size:.82rem;font-weight:700;color:var(--muted);
  border:1px solid var(--line-2);border-radius:999px;padding:.35rem .9rem}
.zeitwahl a:hover{color:var(--txt)}
.zeitwahl a.active{background:var(--gold);border-color:var(--gold);color:var(--ink)}

.kacheln{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1.1rem}
.kachel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.2rem}
.k-zahl{display:block;font-size:2rem;font-weight:800;line-height:1.1;color:var(--txt)}
.k-label{display:block;font-weight:700;font-size:.86rem;margin-top:.15rem}
.k-sub{display:block;color:var(--muted);font-size:.75rem;margin-top:.1rem}

.chart{position:relative;padding-top:1.4rem}
.chart-max{position:absolute;top:0;right:0;font-size:.72rem;color:var(--muted);font-weight:700}
.chart-max::before{content:'max ';font-weight:400}
.bars{display:flex;align-items:flex-end;gap:2px;height:150px;
  border-bottom:1px solid var(--line-2)}
.bar-slot{flex:1 1 0;min-width:0;height:100%;display:flex;align-items:flex-end}
.bar{width:100%;min-height:2px;background:var(--gold);border-radius:4px 4px 0 0}
/* Der heutige Tag ist noch nicht zu Ende — die Schraffur sagt „läuft noch",
   ohne dass der Balken dafür seine Farbe (und damit seinen Kontrast) verliert. */
.bar-slot.heute .bar{background:repeating-linear-gradient(45deg,
  var(--gold) 0 4px, #d9614f 4px 8px)}
.chart-achse{display:flex;gap:2px;margin-top:.4rem}
.chart-achse span{flex:1 1 0;min-width:0;font-size:.68rem;color:var(--muted);
  text-align:center;white-space:nowrap;visibility:hidden}
.chart-achse span.zeig{visibility:visible}

.tabelle-auf{margin-top:1rem}
.tabelle-auf summary{cursor:pointer;color:var(--muted);font-size:.82rem;font-weight:600}
.ztab{width:100%;border-collapse:collapse;margin-top:.7rem;font-size:.84rem}
.ztab th,.ztab td{text-align:right;padding:.35rem .5rem;border-bottom:1px solid var(--line)}
.ztab th:first-child,.ztab td:first-child{text-align:left}
.ztab th{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}

.rangzeile{padding:.6rem 0;border-bottom:1px dashed var(--line)}
.rangzeile:last-child{border-bottom:0}
.rang-kopf{display:flex;align-items:baseline;gap:.8rem}
.rang-kopf b{flex:1;min-width:0}
.rang-zahl{font-weight:800;white-space:nowrap}
.rang-spur{height:8px;background:var(--line);border-radius:999px;margin:.35rem 0 .2rem;overflow:hidden}
.rang-bar{height:100%;background:var(--gold);border-radius:999px}
.rangzeile small{color:var(--muted);font-size:.75rem}
.acard.hinweis{background:rgba(28,23,18,.03)}

@media(max-width:700px){
  .kacheln{grid-template-columns:1fr 1fr}
  .k-zahl{font-size:1.6rem}
  .bars{gap:1px;height:120px}
  .bar{border-radius:2px 2px 0 0}
  .chart-achse{gap:1px}
}
/* Login */
.login-box{max-width:400px;margin:14vh auto 0;padding:0 1.2rem}
.login-box .acard{padding:1.8rem}
.login-box h1{font-size:1.35rem;margin-bottom:.4rem}
.login-box p{color:var(--muted);font-size:.9rem;margin-bottom:1rem}

/* ── Zweisprachige Textpflege ──────────────────────────────────────────
   Die englische Fassung wird auf derselben Seite gepflegt, umgeschaltet über
   ?sprache=en. Entscheidend ist die Vorlage: Der deutsche Text steht über
   jedem Eingabefeld, damit niemand aus dem Gedächtnis übersetzt. */
.sprachreiter{display:flex;gap:.4rem;margin:-.4rem 0 1rem}
.sprachreiter a{color:var(--muted);font-size:.86rem;font-weight:700;
  padding:.4rem .9rem;border-radius:10px;border:1px solid var(--line)}
.sprachreiter a.active{background:var(--card);color:var(--txt);border-color:var(--line-2)}
.sprachreiter .badge{background:var(--rec);color:#fff;border-radius:99px;
  font-size:.68rem;padding:.05rem .42rem;margin-left:.35rem}

.schalter{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}
.stand-zeile{margin:-.5rem 0 1rem}

/* Zustand je Feld — nur auf der englischen Maske sichtbar. */
.mark{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  padding:.08rem .42rem;border-radius:99px;margin-left:.4rem;vertical-align:.08em}
.mark.fehlt{background:var(--rec);color:#fff}
.mark.veraltet{background:#e6b800;color:#1c1712}
.mark.aktuell{background:var(--good);color:#fff}

/* Deutsches Original: sichtbar Vorlage, nicht Eingabe — deshalb schmaler,
   eingerückt und ohne Rahmen. */
.vorlage{color:var(--muted);font-size:.82rem;line-height:1.6;white-space:pre-wrap;
  border-left:3px solid var(--line-2);padding:.3rem 0 .3rem .7rem;
  margin:.25rem 0 .45rem;max-height:11rem;overflow:auto}
.help.warnung{color:var(--gold-2);font-weight:600}
