/* Layout: Stempelkarte – Kopfzeile mit Filtern, Kennzahlen-Leiste, dann Diagramme im 2-Spalten-Raster, Tabellen am Ende */
:root{
  --bg:#eef1ee; --card:#ffffff; --ink:#151a16; --ink-2:#4c574f; --muted:#7d887f; --line:#d9dfd9; --grid:#e7ebe7;
  --accent:#2f7d32; --accent-soft:#e1efe1;
  --work:#2f7d32; --pause:#7a5cd6; --target:#7d887f;
  --pos:#2a78d6; --neg:#d9531e;
  --s1:#2a78d6; --s2:#eb6834; --s3:#1baf7a; --s4:#eda100; --s5:#e87ba4; --s6:#008300; --s7:#4a3aa7; --s8:#e34948;
  --h0:#e7ebe7; --h1:#c6e2c3; --h2:#8fc78a; --h3:#4fa24c; --h4:#2b7a2e; --h5:#134a17;
  --f-display:"Bahnschrift", "DIN Alternate", "Roboto Condensed", "Arial Narrow", system-ui, sans-serif;
  --f-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --f-mono:ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
  --danger:#c62f2f;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#111511; --card:#1a1f1b; --ink:#eef2ee; --ink-2:#b9c3bb; --muted:#8a958c; --line:#2c342e; --grid:#252c27;
  --accent:#6cc06a; --accent-soft:#223a23; --work:#5db45b; --pause:#9c85ef; --target:#8a958c;
  --pos:#3987e5; --neg:#e66b3a;
  --s1:#3987e5; --s2:#d95926; --s3:#199e70; --s4:#c98500; --s5:#d55181; --s6:#2f9a2f; --s7:#9085e9; --s8:#e66767;
  --danger:#ef6b6b; --h0:#232a25; --h1:#24452a; --h2:#2c6a31; --h3:#3f9140; --h4:#6cc06a; --h5:#b5e8b0;
  color-scheme:dark;}}
:root[data-theme="dark"]{
  --bg:#111511; --card:#1a1f1b; --ink:#eef2ee; --ink-2:#b9c3bb; --muted:#8a958c; --line:#2c342e; --grid:#252c27;
  --accent:#6cc06a; --accent-soft:#223a23; --work:#5db45b; --pause:#9c85ef; --target:#8a958c;
  --pos:#3987e5; --neg:#e66b3a;
  --s1:#3987e5; --s2:#d95926; --s3:#199e70; --s4:#c98500; --s5:#d55181; --s6:#2f9a2f; --s7:#9085e9; --s8:#e66767;
  --danger:#ef6b6b; --h0:#232a25; --h1:#24452a; --h2:#2c6a31; --h3:#3f9140; --h4:#6cc06a; --h5:#b5e8b0;
  color-scheme:dark;}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5;padding-inline:16px;padding-block:0 48px}
.wrap{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
h1,h2,h3{margin:0;text-wrap:balance}
h1{font-family:var(--f-display);font-weight:800;font-stretch:condensed;font-size:clamp(2.4rem,6vw,3.8rem);line-height:.95;letter-spacing:.01em;text-transform:uppercase}
h2{font-family:var(--f-display);font-weight:700;font-stretch:condensed;font-size:1.5rem;letter-spacing:.02em;text-transform:uppercase}
.eyebrow{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
header.dash{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:flex-end;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:16px}
header.dash .meta{color:var(--ink-2);font-size:.92rem;margin-top:6px}
.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:600 .85rem var(--f-mono);padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer}
.chip:hover{border-color:var(--accent);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip:focus-visible,button:focus-visible,input:focus-visible,label.file:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.field{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--ink-2)}
.field input{width:5.2em;font:600 .9rem var(--f-mono);padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink)}
label.file{font:600 .85rem var(--f-body);padding:6px 12px;border-radius:6px;border:1px dashed var(--muted);cursor:pointer;color:var(--ink-2)}
label.file:hover{color:var(--ink);border-color:var(--ink)}
label.file input{position:absolute;opacity:0;width:1px;height:1px}

/* Kennzahlen – Stempelkarten-Leiste */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.kpi{padding:16px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px;min-width:0}
.kpi .v{font-family:var(--f-display);font-weight:700;font-stretch:condensed;font-size:2.2rem;line-height:1.05;font-variant-numeric:tabular-nums}
.kpi .v small{font-size:1.1rem;font-weight:600;margin-left:2px;color:var(--ink-2)}
.kpi .d{font-size:.8rem;color:var(--muted)}
.kpi.hero{background:var(--accent-soft)}
.v.pos{color:var(--pos)} .v.neg{color:var(--neg)}

.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:860px){.grid{grid-template-columns:minmax(0,1fr)}.kpis,.records{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.kpi .v{font-size:1.75rem}.kpi{padding:14px}}
@media (max-width:380px){.kpi .v{font-size:1.5rem}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.panel.wide{grid-column:1/-1}
.panel .sub{font-size:.85rem;color:var(--ink-2);margin:0}
.chart{position:relative;height:280px}
.chart.tall{height:340px}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.8rem;color:var(--ink-2)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.legend i.line{height:3px;border-radius:2px}
.legend i.dash{height:0;border-top:2px dashed var(--target);background:none!important}

/* Kalender */
.heat-scroll{overflow-x:auto;padding-bottom:4px}
.heat{display:flex;flex-direction:column;gap:14px;min-width:760px}
.hy{display:grid;grid-template-columns:44px 1fr;gap:8px;align-items:start}
.hy .yl{font:600 .85rem var(--f-mono);color:var(--ink-2);padding-top:12px}
.hm{display:grid;grid-auto-flow:column;grid-template-rows:12px repeat(7,12px);grid-auto-columns:12px;gap:2px}
.hm .ml{font:.62rem var(--f-mono);color:var(--muted);white-space:nowrap;grid-row:1}
.c{width:12px;height:12px;border-radius:2px;background:var(--h0)}
.c.x{background:transparent}
.c.l1{background:var(--h1)} .c.l2{background:var(--h2)} .c.l3{background:var(--h3)} .c.l4{background:var(--h4)} .c.l5{background:var(--h5)}
.c.abs{background:var(--card);box-shadow:inset 0 0 0 2px var(--s1)}
.c.hol{background:var(--card);box-shadow:inset 0 0 0 2px var(--s2)}
.c.sick{background:var(--card);box-shadow:inset 0 0 0 2px var(--s8)}
.c.oth{background:var(--card);box-shadow:inset 0 0 0 2px var(--s7)}
.c.today{outline:2px solid var(--ink);outline-offset:1px}
.c:hover{outline:2px solid var(--ink)}

#tip{position:fixed;z-index:10;pointer-events:none;background:var(--ink);color:var(--bg);font:.78rem/1.4 var(--f-mono);padding:6px 9px;border-radius:6px;max-width:260px}

/* Tabellen */
.tbl-scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.85rem;min-width:640px}
th,td{padding:7px 10px;text-align:right;border-bottom:1px solid var(--grid);white-space:nowrap}
th{font:600 .7rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}
th:first-child,td:first-child{text-align:left}
td{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
tr.sum td{font-weight:600;border-top:2px solid var(--ink);border-bottom:none}
td.pos{color:var(--pos)} td.neg{color:var(--neg)}
tbody tr:hover td{background:var(--accent-soft)}

.records{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 20px;border-top:1px solid var(--line)}
.rec{overflow-wrap:anywhere;padding:12px 4px;border-bottom:1px solid var(--grid);display:flex;flex-direction:column;gap:2px;min-width:0}
.rec .rv{font:600 1.1rem var(--f-mono)}
.rec .rd{font-size:.8rem;color:var(--muted)}
.note{font-size:.8rem;color:var(--muted);max-width:75ch}
.note b{color:var(--ink-2)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- Legenden-Farben (statt Inline-Styles) ---------- */
.legend i.k-work{background:var(--work)} .legend i.k-target{background:var(--target)}
.legend i.k-s1{background:var(--s1)} .legend i.k-s2{background:var(--s2)}

/* ---------- Navigation ---------- */
.topnav{margin-inline:-16px;padding-inline:16px;background:var(--ink);color:var(--bg);margin-bottom:24px}
.topnav-in{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding-block:10px}
.brand{font:700 1.15rem var(--f-display);font-stretch:condensed;letter-spacing:.06em;text-transform:uppercase;color:var(--bg);text-decoration:none}
.links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;font-size:.88rem}
.links a,.linkbtn{color:var(--bg);opacity:.75;text-decoration:none;font:inherit;background:none;border:0;padding:4px 0;cursor:pointer}
.links a:hover,.linkbtn:hover,.links a[aria-current="page"]{opacity:1}
.links a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--accent)}
.links a:focus-visible,.linkbtn:focus-visible,.brand:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
form.inline{display:inline;margin:0}

.wrap.narrow{max-width:760px}
.pagehead{display:flex;flex-direction:column;gap:6px;border-bottom:2px solid var(--ink);padding-bottom:16px}
.pagehead .sub,.authcard .sub{color:var(--ink-2);margin:0;max-width:70ch}

/* ---------- Hinweise ---------- */
.alert{padding:10px 14px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-size:.9rem}
.alert.ok{border-color:var(--accent);background:var(--accent-soft)}
.alert.err{border-color:var(--danger);color:var(--ink);box-shadow:inset 4px 0 0 var(--danger)}
.alert.info{border-color:var(--s1)}

/* ---------- Formulare ---------- */
.form{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.form label{font-weight:600;font-size:.88rem;margin-top:6px}
.form .hint{font-weight:400;color:var(--muted);font-size:.8rem;margin-left:4px}
.form input[type=text],.form input[type=password],.form input[type=number],.form input[type=file]{font:inherit;font-size:1rem;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);width:100%;max-width:100%}
.form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.form .btn{align-self:flex-start;margin-top:10px}
.form.row{flex-direction:row;flex-wrap:wrap;align-items:center}
.form.row label{margin-top:0}
.form.row input[type=text]{width:auto;flex:0 1 220px}
.form.row .btn{margin-top:0}
fieldset.choices{border:1px solid var(--line);border-radius:8px;padding:8px 12px 12px;margin:6px 0 0;display:flex;flex-direction:column;gap:8px}
fieldset.choices legend{font-weight:600;font-size:.88rem;padding:0 4px}
label.choice{display:flex;gap:10px;align-items:flex-start;font-weight:400!important;font-size:.88rem!important;color:var(--ink-2);margin-top:0!important}
label.choice input{margin-top:4px;accent-color:var(--accent)}
.btn{display:inline-block;font:600 .92rem var(--f-body);padding:9px 18px;border-radius:8px;border:1px solid var(--ink);background:var(--card);color:var(--ink);cursor:pointer;text-decoration:none}
.btn:hover{background:var(--accent-soft)}
.btn.primary{background:var(--ink);color:var(--bg)}
.btn.primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.danger{border-color:var(--danger);color:var(--danger);background:transparent}
.btn.danger:hover{background:var(--danger);color:#fff}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.panel.danger{border-color:var(--danger)}
td.txt,th.txt{text-align:left}
td.txt{font-family:var(--f-body);white-space:normal}

/* ---------- Anmeldeseiten ---------- */
body.auth{display:flex;min-height:100vh;align-items:center;justify-content:center;padding-block:32px}
body.auth .wrap{width:100%;max-width:420px}
.authcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:28px 24px;display:flex;flex-direction:column;gap:12px;border-top:6px solid var(--ink)}
.authcard h1{font-size:2.6rem}
.authcard .btn{align-self:stretch;text-align:center}

/* ---------- Arbeitgeber ---------- */
.chip.emp{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-body)}
.chip.emp i{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.chip.emp[aria-pressed="false"]{opacity:.55;text-decoration:line-through}
.chip.emp[aria-pressed="false"] i{background:transparent!important;box-shadow:inset 0 0 0 1.5px var(--muted)}
.chip.all{font-family:var(--f-body)}
#emps{flex-basis:100%}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:8px;vertical-align:baseline}
.c.off{opacity:.18}
.pill{display:inline-block;font:600 .68rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);margin-left:6px;vertical-align:1px}
.muted{color:var(--muted)}
td.actions{white-space:nowrap;text-align:right}
td.actions > *{margin-left:6px;vertical-align:middle}
form.inline{display:inline-block}
.btn.small{padding:5px 10px;font-size:.8rem}
.panel.suggest{border-style:dashed;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}
.panel.suggest .eyebrow{flex-basis:100%}
.form.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}
.form.cols .f{display:flex;flex-direction:column;gap:6px;min-width:0}
.form.cols .f.wide{grid-column:1/-1}
.form.cols .buttons{flex-direction:row;gap:10px}
.form input[type=date]{font:inherit;font-size:1rem;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);width:100%}
@media (max-width:600px){.form.cols{grid-template-columns:minmax(0,1fr)}}
tr.off td{opacity:.45}
.panel h3{margin:10px 0 0;font:700 1.05rem var(--f-body)}
.form select{font:inherit;font-size:1rem;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);width:100%}
.c.lv{background:repeating-linear-gradient(135deg,var(--h0) 0 2px,var(--muted) 2px 3.5px)}
.legend i.c{width:12px;height:12px}

/* ---------- Lücken ---------- */
.c.miss{background:var(--danger)}
.c.short{box-shadow:inset 0 -4px 0 var(--danger)}
.panel.gaps{border-color:var(--danger);box-shadow:inset 4px 0 0 var(--danger)}
.panel.gaps.ok{border-color:var(--line);box-shadow:inset 4px 0 0 var(--accent)}
.gaphead{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end;justify-content:space-between}
.gaphead > div:first-child{min-width:0;flex:1 1 320px}
.gtag{display:inline-block;font:600 .72rem var(--f-body);padding:2px 8px;border-radius:999px;border:1px solid var(--danger);color:var(--danger)}
.gtag.missing{background:var(--danger);color:#fff}
#gapMore{align-self:flex-start}
[hidden]{display:none!important}
#tGaps td{white-space:nowrap}
.gtag{white-space:nowrap}

/* ---------- Wochenmuster ---------- */
.weekgrid{display:grid;grid-template-columns:28px repeat(24,minmax(18px,1fr));gap:2px;min-width:560px}
.weekgrid .hh{font:.62rem var(--f-mono);color:var(--muted);text-align:left}
.weekgrid .hd{font:600 .72rem var(--f-mono);color:var(--ink-2);align-self:center}
.wc{height:20px;border-radius:3px;background:var(--h0)}
.wc.l1{background:var(--h1)} .wc.l2{background:var(--h2)} .wc.l3{background:var(--h3)} .wc.l4{background:var(--h4)} .wc.l5{background:var(--h5)}
.weekgrid .wc:hover{outline:2px solid var(--ink)}
.legend i.wc{width:14px;height:12px;border-radius:3px}

/* ---------- Arbeitszeit-Check ---------- */
.checks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:860px){.checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
.chk{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;cursor:pointer;min-width:0}
.chk .cv{font:700 1.8rem var(--f-display);font-stretch:condensed;line-height:1.1;font-variant-numeric:tabular-nums}
.chk .cl{font-weight:600;font-size:.88rem}
.chk .cd{font-size:.76rem;color:var(--muted)}
.chk.ok .cv{color:var(--accent)}
.chk.warn{box-shadow:inset 4px 0 0 var(--danger)}
.chk.warn .cv{color:var(--danger)}
.chk[aria-pressed="true"]{border-color:var(--ink);background:var(--accent-soft)}
.chk:hover{border-color:var(--ink)}
.chk:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.checklist ul{list-style:none;margin:8px 0 0;padding:0;columns:2 280px;column-gap:28px}
.checklist li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--grid);font-size:.85rem;break-inside:avoid}
.checklist li .num{color:var(--ink-2);font-size:.8rem;text-align:right}

/* ---------- Stempelungen ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.monthbar{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 20px}
.monthnav{display:flex;align-items:center;gap:6px}
.monthnav select{font:600 1rem var(--f-body);padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);min-width:11em}
.monthnav .btn{font-size:1.1rem;line-height:1;padding:6px 12px}
.btn:disabled,.chip:disabled{opacity:.4;cursor:default}
.search{flex:1 1 220px;min-width:0}
.search input{width:100%;font:inherit;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
.search input:focus-visible,.monthnav select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.kpis.small .kpi .v{font-size:1.7rem}

.daylist-panel{gap:6px}
.dayhead,.dayrow{display:grid;grid-template-columns:86px minmax(0,1fr) 92px 52px 46px 62px;gap:4px 12px;align-items:center}
.dayhead{font:600 .66rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 10px 6px;border-bottom:1px solid var(--line)}
.dayhead span:nth-child(n+4){text-align:right}
.tlaxis{position:relative;height:1em}
.tlaxis i{position:absolute;font-style:normal;transform:translateX(-50%)}
.tlaxis i:nth-child(1){left:0;transform:none} .tlaxis i:nth-child(2){left:25%} .tlaxis i:nth-child(3){left:50%} .tlaxis i:nth-child(4){left:75%} .tlaxis i:nth-child(5){left:100%;transform:translateX(-100%)}
.weekhead{display:flex;justify-content:space-between;gap:12px;padding:14px 10px 4px;font:600 .72rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--grid)}
.weekhead .num{text-transform:none;letter-spacing:0;color:var(--muted)}
.day{border-bottom:1px solid var(--grid)}
.dayrow{width:100%;background:none;border:0;color:inherit;font:inherit;text-align:left;padding:7px 10px;cursor:pointer;border-radius:6px}
.dayrow:hover{background:var(--accent-soft)}
.dayrow:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.dayrow .dt{font-size:.88rem;white-space:nowrap}
.dayrow .tm{font:.8rem var(--f-mono);color:var(--ink-2);white-space:nowrap}
.dayrow .num{font:600 .85rem var(--f-mono);text-align:right;font-variant-numeric:tabular-nums}
.dayrow .num.pos{color:var(--pos)} .dayrow .num.neg{color:var(--neg)} .dayrow .num.muted{color:var(--muted);font-weight:400}
.dayrow .bdgs{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:4px}
.dayrow .bdgs:empty{display:none}
.day.we .dt{color:var(--muted)}
.day.isgap{box-shadow:inset 3px 0 0 var(--danger)}
.day.today .dt b::after{content:" · heute";font-weight:400;color:var(--muted)}
.tl{position:relative;display:block;height:14px;border-radius:3px;background:repeating-linear-gradient(90deg,var(--grid) 0 1px,transparent 1px 25%);background-color:var(--bg)}
.tl i{position:absolute;top:0;bottom:0;border-radius:2px}
.tl .tl-span{top:6px;bottom:6px;background:var(--muted);opacity:.45}
.tl .tl-w{background:var(--work)}
.tl .tl-p{background:var(--pause);top:3px;bottom:3px}
.legend i.k-pause{background:var(--pause)}
.legend i.k-gap{background:var(--muted);opacity:.45;height:3px}
.bdg{display:inline-flex;align-items:center;gap:5px;font:600 .7rem var(--f-body);padding:1px 7px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2);background:var(--card)}
.bdg.emp i{width:8px;height:8px;border-radius:50%}
.bdg.gap{background:var(--danger);border-color:var(--danger);color:#fff}
.bdg.gap.soft{background:transparent;color:var(--danger)}
.bdg.long{border-color:var(--neg);color:var(--neg)}
.bdg.abs-abs{border-color:var(--s1);color:var(--s1)} .bdg.abs-hol{border-color:var(--s2);color:var(--s2)}
.bdg.abs-sick{border-color:var(--s8);color:var(--s8)} .bdg.abs-oth{border-color:var(--s7);color:var(--s7)}
.bdg.lv{border-style:dashed}
.dd{padding:6px 10px 16px 106px;display:flex;flex-direction:column;gap:10px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 20px;margin:0}
.facts div{min-width:0} .facts dt{font-size:.74rem;color:var(--muted)} .facts dd{margin:0;font:600 .9rem var(--f-mono)}
.stamptbl{min-width:520px}
.stamptbl tr.prow td{color:var(--pause)}
.stamptbl tr.gaprow td{color:var(--muted);font-style:italic;font-size:.8rem}
.stamptbl td.txt{white-space:normal}
@media (max-width:760px){
  .dayhead{display:none}
  .dayrow{grid-template-columns:minmax(0,1fr) auto auto auto;grid-template-areas:"dt w p d" "tl tl tl tl" "tm tm tm tm" "b b b b"}
  .dayrow .dt{grid-area:dt} .dayrow .tl{grid-area:tl} .dayrow .tm{grid-area:tm} .dayrow .bdgs{grid-area:b}
  .dayrow .nw{grid-area:w} .dayrow .np{grid-area:p} .dayrow .nd{grid-area:d}
  .dd{padding-left:10px}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.heat .c:not(.x){cursor:pointer}
#tGaps a{color:inherit}
