/* Eymann Sauna – Aufgussplan. Farben, Schriften und Formen aus dem Designsystem „Eymann Sauna“. */

@font-face{font-family:"Open Sans";font-weight:300;font-display:swap;src:url(assets/fonts/open-sans-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-weight:400;font-display:swap;src:url(assets/fonts/open-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-weight:600;font-display:swap;src:url(assets/fonts/open-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Merriweather";font-weight:400;font-display:swap;src:url(assets/fonts/merriweather-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Merriweather";font-weight:700;font-display:swap;src:url(assets/fonts/merriweather-latin-700-normal.woff2) format("woff2")}

/* Thema Hell (Website) */
:root{
  --display:"Open Sans",Helvetica,Arial,sans-serif;
  --serif:"Merriweather",Georgia,serif;
  --gold:#b69769;--brown:#362016;--sand:#efe7dc;
  --bg:#ffffff;--bg-subtle:#f9f9f9;--card:#efe7dc;
  --ink:#444444;--ink-strong:#191e23;--muted:#808080;--hint:#5c5c5c;
  --accent:#725325;--line:#e1e1e1;--control:#947547;
  --inv:#362016;--inv-ink:#ffffff;--inv-accent:#b69769;
  --ok:#5a909a;--miss:#d87ea7;--err:#8a5a00;
  color-scheme:light;
}
/* Thema Dunkel (Website-Header) – erste Wahl für die Monitore */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#362016;--bg-subtle:#251005;--card:#251005;
  --ink:#efe7dc;--ink-strong:#ffffff;--muted:#c7a87a;--hint:#c7a87a;
  --accent:#b69769;--line:#725325;--control:#b69769;
  --inv:#efe7dc;--inv-ink:#362016;--inv-accent:#725325;--err:#e0b060;
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#362016;--bg-subtle:#251005;--card:#251005;
  --ink:#efe7dc;--ink-strong:#ffffff;--muted:#c7a87a;--hint:#c7a87a;
  --accent:#b69769;--line:#725325;--control:#b69769;
  --inv:#efe7dc;--inv-ink:#362016;--inv-accent:#725325;--err:#e0b060;
  color-scheme:dark;
}

html{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif)}

/* =================== Monitor =================== */
/* Nur Flexbox, Spalten und Abstände per margin: läuft auch auf älteren Signage-Monitoren
   (z. B. Samsung QMR mit Tizen 4.0 / Chromium 56). Kein CSS Grid, kein gap bei Flexbox. */
body.tv,body.tv #root{height:100%;overflow:hidden}
.disp{height:100%;display:-webkit-box;display:flex;flex-direction:column;padding:3.5vh 3.5vw;box-sizing:border-box;overflow:hidden}
.tv h2{font-family:var(--display);font-weight:300;font-size:4.4vh;line-height:1.15;color:var(--accent);margin:0 0 2.2vh}

.head{display:flex;align-items:center;flex-shrink:0;border-bottom:1px solid var(--line);padding-bottom:2.6vh}
.clock{font-family:var(--display);font-weight:300;font-size:15vh;line-height:.9;color:var(--ink-strong);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-right:3vw;white-space:nowrap}
.colon{color:var(--gold)}
.date{font-family:var(--display);font-weight:300;font-size:4.2vh;line-height:1.25;color:var(--ink)}
.brand{margin-left:auto;padding-left:3vw}
.brand img{display:none;height:6.4vh;width:auto}
:root[data-theme="dark"] .brand .logo-on-dark,:root[data-theme="light"] .brand .logo-on-light,:root:not([data-theme]) .brand .logo-on-light{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme]) .brand .logo-on-light{display:none}:root:not([data-theme]) .brand .logo-on-dark{display:block}}

.cols{flex:1;min-height:0;display:flex;padding-top:3.5vh}
.col{min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}
.col.left{flex:1.4 1 0;padding-right:3vw;border-right:1px solid var(--line)}
.col.right{flex:1 1 0;padding-left:3vw}
.col.right > section{margin-bottom:3.2vh;flex-shrink:0}
.col.right > section.up{flex-shrink:1}
.col.right > section:last-child{margin-bottom:0}

.next{flex:1;min-height:0;display:flex;flex-direction:column}
.row{flex:1 1 0;min-height:0;display:flex;align-items:center;padding:0 2.4vw;margin-bottom:1.6vh;background:var(--card);border-radius:3px;overflow:hidden}
.row:last-child{margin-bottom:0}
.row .t{font-family:var(--display);font-weight:300;font-size:10vh;line-height:1;color:var(--ink-strong);font-variant-numeric:tabular-nums;margin-right:2.6vw;flex-shrink:0}
.row .info{flex:1;min-width:0}
.row .tag{font-family:var(--display);font-weight:600;font-size:2.1vh;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.6vh}
.ents{display:flex}
.ent{flex:1 1 0;min-width:0}
.ent + .ent{margin-left:2.4vw}
.row .p{font-family:var(--display);font-weight:400;font-size:5vh;line-height:1.12;color:var(--ink-strong)}
.row.multi .p{font-size:3.8vh}
.row.multi .s{font-size:2.7vh}
.row .s{font-family:var(--serif);font-size:3.3vh;line-height:1.4;color:var(--accent);margin-top:.4vh}
.row.first{background:var(--inv)}
.row.first .t,.row.first .p{color:var(--inv-ink)}
.row.first .s,.row.first .tag{color:var(--inv-accent)}

.list{flex:1;min-height:0;overflow:hidden;-webkit-column-count:3;column-count:3;-webkit-column-gap:3vw;column-gap:3vw;-webkit-column-fill:auto;column-fill:auto;-webkit-column-rule:1px solid var(--line);column-rule:1px solid var(--line)}
.lg{-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid;display:flex;align-items:baseline;border-bottom:1px solid var(--line);padding:1vh 0;font-size:3.1vh;line-height:1.35}
.lg b{font-family:var(--display);font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;width:3.4em;flex-shrink:0;margin-right:1vw}
.lg > div{flex:1;min-width:0}
.le span{font-family:var(--display);color:var(--ink-strong)}
.le i{font-style:normal;color:var(--muted)}
.tv h2 .pg{font-size:.6em;margin-left:1em;color:var(--muted)}
.cols.full .col.left{padding-right:0;border-right:0}
.none{font-size:3.6vh;line-height:1.5;margin:0}
.dots{display:flex;justify-content:center;padding-top:1.6vh;flex-shrink:0}
.dots span{width:1.2vh;height:1.2vh;border-radius:50%;background:var(--line);margin:0 5px}
.dots span.on{background:var(--gold)}

.oh .exlabel{font-family:var(--serif);font-size:2.8vh;color:var(--accent);margin:-1vh 0 1.6vh}
.ohrow{display:flex;flex-direction:column;margin-bottom:1.5vh}
.ohrow:last-child{margin-bottom:0}
.ohrow .n{font-family:var(--display);font-weight:600;font-size:1.9vh;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ohrow .v{font-family:var(--display);font-weight:300;font-size:3.7vh;line-height:1.2;color:var(--ink-strong)}
.ohrow .v.closed{color:var(--accent)}
.up{flex:1;min-height:0;display:flex;flex-direction:column}
.exlist{flex:1;min-height:0;overflow:hidden}
.ex{border-top:1px solid var(--line);padding:1.3vh 0}
.ex .d{font-family:var(--display);font-weight:600;font-size:3vh;color:var(--ink-strong)}
.ex .d .l{font-weight:300;color:var(--accent);margin-left:.6em}
.ex .x{font-size:2.7vh;line-height:1.5}
.ex .x .n{color:var(--muted)}
.more{font-family:var(--display);font-size:2.4vh;color:var(--muted);border-top:1px solid var(--line);padding-top:1.2vh}
.col.right > section.notice{margin-top:auto;background:var(--card);border-radius:3px;padding:2.2vh 1.8vw;font-size:2.8vh;line-height:1.55;white-space:pre-line;color:var(--ink)}
.col.right > section.up + section.notice{margin-top:0}

/* ---------- Info-Monitor Eingang (info-eingang.php) ---------- */
.disp.entry .clock{font-size:12vh}
.disp.entry .head{padding-bottom:2vh}
.cols.entry{padding-top:3vh}
.cols.entry .col{flex:1 1 0;padding:0 2.2vw;border-right:1px solid var(--line)}
.cols.entry .col:first-child{flex:1.25 1 0;padding-left:0}
.cols.entry .col:last-child{padding-right:0;border-right:0}
.cols.entry .col.oc > section{margin-bottom:3vh;flex-shrink:0}
.cols.entry .col.oc > section.up{flex-shrink:1;margin-bottom:0}
.disp.entry h2{font-size:3.8vh;margin-bottom:1.6vh}
.disp.entry .ohrow{margin-bottom:1vh}
.disp.entry .ohrow .n{font-size:1.7vh}
.disp.entry .ohrow .v{font-size:3.1vh}
.disp.entry .ex{padding:1vh 0}
.disp.entry .ex .d{font-size:2.5vh}
.disp.entry .ex .x{font-size:2.3vh;line-height:1.45}
.disp.entry .more{font-size:2vh}

/* Preise: Größen in em, die Spalte wird per JavaScript passend skaliert (1em = 1vh) */
.col.pr{font-size:1vh}
.col.pr h2{font-size:4.2em;margin:0 0 .2em}
.prs{margin-bottom:3em}
.prs:last-child{margin-bottom:0}
.prn{font-family:var(--serif);font-size:2.3em;color:var(--muted);margin:-.2em 0 .6em}
.prr{display:flex;align-items:baseline;border-bottom:1px solid var(--line);padding:1em 0}
.prr .l{flex:1;min-width:0;font-family:var(--display);font-size:3.3em;line-height:1.2;color:var(--ink-strong)}
.prr .l small{display:block;font-family:var(--serif);font-size:.62em;color:var(--muted);margin-top:.15em}
.prr .v{font-family:var(--display);font-weight:300;font-size:4.4em;line-height:1.1;color:var(--ink-strong);white-space:nowrap;margin-left:.6em;font-variant-numeric:tabular-nums}
.prr .v.acc{font-size:3.6em;color:var(--accent);font-weight:400}

/* Nächste Aufgüsse kompakt */
.ng{padding:1.6vh 0;border-bottom:1px solid var(--line)}
.ng .top{display:flex;align-items:baseline}
.ng .t{font-family:var(--display);font-weight:300;font-size:6.4vh;line-height:1;color:var(--ink-strong);font-variant-numeric:tabular-nums;margin-right:1vw}
.ng .tag{font-family:var(--display);font-weight:600;font-size:1.8vh;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.ng .e{font-family:var(--display);font-size:3vh;line-height:1.35;color:var(--ink-strong);margin-top:.5vh}
.ng .e i{font-style:normal;font-family:var(--serif);color:var(--accent)}
.ng.first .t{color:var(--gold)}

/* Fußzeile: Hinweis und Zahlungsarten */
.efoot{display:flex;align-items:center;flex-shrink:0;border-top:1px solid var(--line);margin-top:2.4vh;padding-top:2.2vh}
.enote{flex:1;min-width:0;background:var(--card);border-radius:3px;padding:1.6vh 1.6vw;font-size:2.5vh;line-height:1.5;white-space:pre-line;color:var(--ink);margin-right:2.4vw}
.pay{display:flex;align-items:center;margin-left:auto}
.pay .pl{font-family:var(--display);font-weight:600;font-size:1.9vh;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:1.4vw;text-align:right}
.pay .pl small{display:block;font-weight:400;letter-spacing:0;text-transform:none;font-size:1.9vh;margin-top:.3vh}
.pay .pm{display:flex;flex-wrap:wrap;justify-content:flex-end}
.pay .pm span{font-family:var(--display);font-weight:600;font-size:2.1vh;color:var(--ink-strong);border:1px solid var(--line);border-radius:3px;padding:.7vh .9vw;margin:.4vh 0 .4vh .6vw;white-space:nowrap}

/* Fehleranzeige für die Fehlersuche auf Monitoren */
#err{position:fixed;left:0;right:0;bottom:0;background:#8a1c1c;color:#fff;font:14px/1.4 monospace;padding:6px 10px;z-index:99;display:none}

@media (orientation:portrait){
  .cols{flex-direction:column}
  .next{flex:0 0 auto}.col.left{flex:0 0 auto;padding:0 0 2vh;border-right:0;border-bottom:1px solid var(--line)}
  .col.right{flex:1 1 0;padding:2.5vh 0 0}
  .tv h2{margin-bottom:1.4vh}.col.right > section{margin-bottom:2vh}
  .head{flex-wrap:wrap}
  .brand{width:100%;margin:0 0 2vh;padding:0;-webkit-box-ordinal-group:0;order:-1}
  .brand img{height:3.2vh}
  .clock{font-size:7.5vh}.date{font-size:2.6vh}
  .tv h2{font-size:3vh}
  .row{flex:0 0 auto;padding:1.2vh 2.4vw}.row .t{font-size:5.4vh}.row .p{font-size:2.9vh}.row .s{font-size:2.1vh}.row .tag{font-size:1.3vh;margin-bottom:.3vh}
  .row.multi .p{font-size:2.5vh}.row.multi .s{font-size:1.9vh}
  .lg{font-size:2.4vh}.list{-webkit-column-count:2;column-count:2}
  .ohrow{margin-bottom:1vh}.ohrow .n{font-size:1.3vh}.ohrow .v{font-size:2.6vh}
  .ex .d{font-size:2.2vh}.ex .x{font-size:2vh}.col.right > section.notice{font-size:2vh}.more{font-size:1.8vh}
}

/* =================== Verwaltung =================== */
body.admin{background:var(--bg-subtle);font-size:16px;line-height:1.6}
.topbar{background:#362016;color:#efe7dc;display:flex;align-items:center;gap:1rem;padding:.8rem 1.5rem;flex-wrap:wrap}
.topbar .logo{height:26px;width:auto}
.topbar .app{font-family:var(--display);font-weight:300;font-size:1.25rem;color:#b69769}
.topbar .who{margin-left:auto;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-family:var(--display);font-size:.9rem}
.topbar a{color:#c7a87a}
.topbar form{margin:0}
.topbar button.ghost{background:transparent;color:#efe7dc;border-color:#b69769}

.adm{box-sizing:border-box;padding:1.5rem;max-width:74rem;margin:0 auto}
.adm h1,.adm h2,.adm h3{font-family:var(--display);font-weight:300;color:var(--ink-strong);line-height:1.25}
.adm h1{font-size:2rem;margin:.5rem 0 1rem}
.adm h2{font-size:1.6rem;margin:1.5rem 0 .6rem}
.adm h3{font-size:1.25rem;margin:1.2rem 0 .5rem;color:var(--accent)}
.adm a{color:var(--accent)}

input,select,button,textarea{font-family:var(--display);font-size:15px;color:var(--ink);background:var(--bg);border:1px solid var(--control);border-radius:3px;padding:.45rem .65rem;line-height:1.4}
textarea{width:100%;box-sizing:border-box;min-height:5rem;resize:vertical}
input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--accent);padding:0}
button{cursor:pointer;background:transparent;font-weight:600}
button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
button.pri{background:var(--gold);color:var(--brown);border-color:var(--gold)}
button.pri:hover:not(:disabled){background:#c7a87a;color:var(--brown)}
button.on{background:var(--inv);color:var(--inv-ink);border-color:var(--inv)}
button.on:hover:not(:disabled){color:var(--inv-ink)}
button.danger{border-color:var(--line);color:var(--hint);font-weight:400}
button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.login{max-width:26rem;padding-top:3rem}
.login label,.fld{display:block;font-family:var(--display);font-weight:600;font-size:.9rem;margin:0 0 .9rem}
.login label input,.fld input,.fld select,.fld textarea{display:block;width:100%;box-sizing:border-box;margin-top:.3rem;font-weight:400}
.login button{width:100%;padding:.7rem}

.tabs{display:flex;gap:.25rem;margin:0 0 1.2rem;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;padding:.7rem .9rem;font-size:.95rem;color:var(--ink)}
.tabs button.on,.tabs button.on:hover:not(:disabled){background:transparent;border-bottom-color:var(--gold);color:var(--accent)}
.savebar{position:sticky;top:0;z-index:5;display:flex;gap:1rem;align-items:center;flex-wrap:wrap;background:var(--bg-subtle);padding:.7rem 0;margin-bottom:.5rem;border-bottom:1px solid var(--line)}
.savebar .msg{font-family:var(--display);font-size:.95rem;color:var(--hint)}
.savebar .msg.dirty{color:var(--accent);font-weight:600}
.panel{background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:1.2rem 1.4rem}
.ro-note{font-family:var(--display);font-size:.9rem;background:var(--card);color:var(--ink);padding:.6rem .9rem;border-radius:3px;margin:0 0 1rem}
.box{border:1px solid var(--line);border-radius:3px;padding:1rem;margin:1rem 0}
.item{display:flex;gap:.5rem;margin:.4rem 0;flex-wrap:wrap;align-items:center}
.item input[type=text]{flex:1;min-width:8rem}
.hint{color:var(--hint);font-size:.92rem}
.err{color:var(--err);font-family:var(--display);font-weight:600}
.wd{display:flex;gap:.5rem;align-items:center;margin:.3rem 0}
.wd span{width:7rem}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem 2rem}

/* Abhaken */
.daypick{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}
.tick{border:1px solid var(--line);border-radius:3px;padding:.9rem 1rem;margin:.7rem 0;background:var(--bg)}
.tick .top{display:flex;gap:1rem;align-items:baseline;flex-wrap:wrap}
.tick .tm{font-family:var(--display);font-weight:300;font-size:1.9rem;line-height:1;color:var(--ink-strong);font-variant-numeric:tabular-nums}
.tick .sa{font-family:var(--display);font-weight:600;font-size:1.1rem;color:var(--ink-strong)}
.tick .sc{color:var(--accent)}
.tick .top .badge{margin-left:auto}
.tick .fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.6rem;margin:.8rem 0}
.tick .fields input{width:100%;box-sizing:border-box}
.tick .acts{display:flex;gap:.5rem;flex-wrap:wrap}
.tick .acts button{min-height:44px;padding:.5rem 1rem}
.tick .meta{font-size:.8rem;color:var(--hint);margin-top:.5rem;font-family:var(--display)}
.badge{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--display);font-weight:600;font-size:.8rem;white-space:nowrap}
.badge::before{content:"";width:.65rem;height:.65rem;border-radius:50%;background:var(--line);border:1px solid var(--control)}
.badge.auto::before{background:var(--gold);border-color:var(--gold)}
.badge.done::before{background:var(--ok);border-color:var(--ok)}
.badge.missed::before{background:var(--miss);border-color:var(--miss)}

/* Statistik */
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.6rem 1rem;align-items:end}
.filters .fld{margin:0}
.kpis{display:flex;gap:2rem;flex-wrap:wrap;margin:1.2rem 0}
.kpis div{font-family:var(--display);font-size:.85rem;color:var(--hint);text-transform:uppercase;letter-spacing:.08em}
.kpis b{display:block;font-weight:300;font-size:2rem;color:var(--ink-strong);letter-spacing:0;text-transform:none}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:3px}
table.data{width:100%;border-collapse:collapse;font-family:var(--display);font-size:.9rem}
table.data th{text-align:left;font-weight:600;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--hint);padding:.6rem .7rem;border-bottom:1px solid var(--control);white-space:nowrap;background:var(--bg)}
table.data th.sort{cursor:pointer}
table.data th.sort:hover{color:var(--accent)}
table.data td{padding:.5rem .7rem;border-top:1px solid var(--line);vertical-align:top}
table.data td.num{text-align:right;font-variant-numeric:tabular-nums}
table.data tr:first-child td{border-top:0}
.bar{display:inline-block;height:.6rem;background:var(--gold);border-radius:2px;vertical-align:middle}

/* Kalender */
.calhead{display:flex;align-items:center;gap:.8rem;margin:.5rem 0}
.calhead strong{font-family:var(--display);font-weight:300;font-size:1.4rem;min-width:11rem;text-align:center}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal .wdh{font-family:var(--display);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--hint);padding:.2rem .3rem}
.cal button{min-height:4.6rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;padding:.35rem .45rem;border-color:var(--line);font-weight:400;overflow:hidden}
.cal button .num{font-weight:600;font-size:.95rem}
.cal button .hol,.cal button .lab{font-size:.72rem;line-height:1.25}
.cal button .hol{color:var(--hint)}
.cal button .lab{color:var(--accent);font-weight:600}
.cal button.ex{background:var(--card);border-color:var(--control)}
.cal button.today{box-shadow:inset 0 0 0 2px var(--gold)}
.cal button.sel{border:2px solid var(--accent)}
.cal button.past{opacity:.45}
.cal .blank{min-height:4.6rem}
.hours td{white-space:nowrap}
.hours input[type=time]{width:7.2rem}
.span{display:inline-flex;gap:.3rem;align-items:center}

/* Auswahlfeld mit Vorschlägen (statt datalist, funktioniert auch in Safari) */
.combo{position:relative;display:inline-flex;flex:1;min-width:8rem}
.combo input{flex:1;min-width:0;width:100%;box-sizing:border-box;padding-right:2rem}
.fld .combo{display:flex;width:100%;margin-top:.3rem}
.fld .combo input{margin-top:0}
.combo-btn{position:absolute;right:1px;top:1px;bottom:1px;width:1.9rem;border:0;padding:0;font-weight:400;color:var(--hint)}
.combo-btn:hover:not(:disabled){color:var(--accent)}
.combo-list{display:none;position:absolute;z-index:30;top:100%;left:0;right:0;margin:2px 0 0;padding:.25rem 0;list-style:none;max-height:16rem;overflow:auto;background:var(--bg);border:1px solid var(--control);border-radius:3px;font-family:var(--display);font-size:15px;font-weight:400}
.combo-list li{padding:.45rem .7rem;cursor:pointer}
.combo-list li:hover,.combo-list li.act{background:var(--card);color:var(--ink-strong)}

.areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,30rem),1fr));gap:0 1.2rem}
.areas .box{margin:.5rem 0}
.hours td{padding:.35rem .5rem}

/* Abhaken: Auslastung und Ausfall */
.tick .fills{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.8rem 0 .2rem}
.tick .fills .fl{font-family:var(--display);font-weight:600;font-size:.9rem;margin-right:.4rem}
.tick .fills button{min-width:3.6rem;min-height:44px;font-variant-numeric:tabular-nums}
.tick .acts button.miss{border-color:var(--miss);color:var(--ink)}
.tick.missed{background:var(--bg-subtle)}
.tick.missed .tm,.tick.missed .sa{text-decoration:line-through;text-decoration-color:var(--miss)}
.badge.open::before{background:transparent}
.prrow input.val{flex:0 0 9rem;min-width:7rem}
.jump{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-family:var(--display);font-weight:600;margin:.4rem 0 0}
.adm h2[id]{scroll-margin-top:4rem}
