/*
 * RheinSkin intern – Layout, Schrift und Bausteine (aus dem Prototyp).
 * Farben stehen ausschließlich in farben.css.
 */

/* ---------- Schrift Jost (lokal, SIL Open Font License) ---------- */
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jost/jost-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jost/jost-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/jost/jost-latin-600-normal.woff2') format('woff2')}

/* ---------- Grundlagen ---------- */
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--accent)}
:focus-visible{outline:3px solid var(--btn);outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:8px;z-index:10;padding:10px 16px;border-radius:999px;background:var(--btn);color:var(--on-btn)}
.skip:focus{left:16px}

/* ---------- Kopfzeile ---------- */
header{background:var(--header-bg);color:var(--header-ink)}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:14px 24px 8px}
.brand{display:flex;align-items:center;gap:14px;color:var(--header-ink);text-decoration:none}
.brand img{height:38px;width:auto;display:block}
.brand span{font-size:16px;color:var(--header-sub);padding-left:14px;border-left:1px solid var(--header-line)}
nav{display:flex;gap:4px;flex-wrap:wrap;order:3;flex-basis:100%;margin-left:-13px}
.nav{display:inline-flex;align-items:center;min-height:44px;padding:0 13px;border-radius:999px;color:var(--header-ink);font-weight:500;font-size:16px;text-decoration:none}
.nav:hover{background:var(--nav-hover)}
.nav.on{background:var(--nav-on-bg);color:var(--nav-on-ink)}
.gsearch{flex:1 1 200px;max-width:320px;margin-left:auto}
.gsearch input[type=search]{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--header-line);background:var(--header-input-bg);color:var(--header-input-ink);font-size:16px;width:100%}
/* Ohne Stempel-Knopf bekommt das Suchfeld dessen Platz und Farbe */
.gsearch.betont{flex:1 1 280px;max-width:440px}
.user{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--header-sub)}
.user{flex-wrap:wrap}
.user a{color:var(--header-sub);text-decoration:none;white-space:nowrap}
.user a:hover{text-decoration:underline}
.user .konto-kurz{display:none;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--header-line);border-radius:50%;font-weight:600;color:var(--header-ink)}
.user form{margin:0}
.user button{min-height:40px;padding:0 14px;border:1px solid var(--stempel-rand);border-radius:999px;background:var(--stempel-bg);color:var(--stempel-ink);font-weight:500}
.user button:hover{filter:brightness(.95)}

/* ---------- Inhalt ---------- */
main.wrap{padding:32px 24px 64px}
h1{margin:0 0 24px;font-size:36px;line-height:1.15;font-weight:500;color:var(--accent)}
h2{margin:0 0 12px;font-size:20px;font-weight:500;color:var(--accent)}
p{line-height:1.6}
.head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.head h1{margin:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px}
.card p{margin:0 0 16px;font-size:16px;line-height:1.65;max-width:68ch}
.stack{display:flex;flex-direction:column;gap:8px}
.note{font-size:14px;color:var(--muted)}
.empty{margin:0;color:var(--muted)}
.notice{margin:0 0 16px;padding:12px 14px;border-radius:8px;background:var(--neutral-soft);font-size:15px}
.ok{margin:0 0 16px;padding:14px 16px;background:var(--accent-soft);border-radius:12px;color:var(--accent);font-weight:600}
.error{color:var(--warn);font-size:14px;font-weight:600;margin:0}
p.error{margin:0 0 16px;padding:12px 14px;border-radius:8px;background:var(--warn-soft)}
.meldungen p:last-child{margin-bottom:24px}
.back{display:inline-block;margin-bottom:16px;text-decoration:none}
.back:hover{text-decoration:underline}

/* ---------- Listen, Karten, Detailansicht ---------- */
.row{width:100%;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:14px 16px;display:flex;flex-direction:column;gap:4px;color:var(--ink);text-decoration:none}
a.row:hover{border-color:var(--accent)}
.row .t{font-size:16px;font-weight:600}
.row .o{font-size:14px;color:var(--muted);line-height:1.5}
.tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cat{font-size:13px;font-weight:600;color:var(--accent)}
.mono{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink);text-decoration:none}
.chip:hover{border-color:var(--accent)}
.chip.on{background:var(--btn);color:var(--on-btn);border-color:var(--btn)}
.detail{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
article{flex:999 1 560px;min-width:0}
article h1{margin:6px 0 16px;font-size:30px}
article .text{font-size:16px;line-height:1.65;max-width:68ch}
article .text p{margin:0 0 16px}
article .text ul,article .text ol{margin:0 0 16px;padding-left:24px;line-height:1.65}
.geaendert{margin:-8px 0 16px}
.ack{border-top:1px solid var(--line);padding-top:20px;margin-top:8px}
.ack form{margin:0}
aside{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:16px}
.box{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}
.box h2{font-size:16px}
.box .note{margin:12px 0 0}
h3{margin:16px 0 6px;font-size:14px;font-weight:600;color:var(--muted)}
.namen{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:15px}
.zahl{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--warn);color:var(--on-btn);font-size:13px;font-weight:600}
.werkzeuge{display:flex;flex-wrap:wrap;gap:6px}
.werkzeuge .ghost{min-height:36px;padding:0 14px;font-size:14px}

/* ---------- SOPs ---------- */
.row.wide{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px}
.row.wide .l{display:flex;flex-direction:column;gap:4px;flex:1 1 320px;min-width:0;color:inherit;text-decoration:none}
div.row.wide:hover{border-color:var(--accent)}
.row.wide .ghost{min-height:40px}
.read{font-size:13px;font-weight:600;color:var(--accent)}
.search{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.search input{max-width:520px}
.wfrow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}
.wf{padding:8px 14px;border-radius:8px;font-size:14px;font-weight:600;background:var(--neutral-soft);color:var(--muted)}
.wf.done{background:var(--accent-soft);color:var(--accent)}
.wf.on{background:var(--btn);color:var(--on-btn)}
article h2{font-size:18px;margin:20px 0 8px}
ol.steps{margin:0 0 28px;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
ol.steps > li{display:flex;gap:14px;align-items:flex-start}
ol.steps > li > .n{flex:0 0 32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:600;display:flex;align-items:center;justify-content:center}
ol.steps .s{font-size:16px;line-height:1.6;padding-top:3px;min-width:0}
ol.steps .s p{margin:0 0 6px}
ol.steps .s ul,ol.steps .s ol{margin:0 0 6px;padding-left:20px}
dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:15px}
dt{color:var(--muted)}
dd{margin:0}
.due{margin:14px 0 0;padding:10px 12px;border-radius:8px;background:var(--warn-soft);color:var(--warn);font-size:14px;font-weight:600}
.hist{display:flex;flex-direction:column;gap:12px}
.hist div{display:flex;flex-direction:column;gap:2px;font-size:15px}
.hist div.aktiv{padding-left:10px;border-left:3px solid var(--accent)}
.hist .note{margin:0}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font-size:14px;font-weight:600;padding:0;margin-bottom:6px}
.schritte ol{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px}
.schritt{display:flex;flex-direction:column;gap:6px}
.schritt-nr{color:var(--accent)}
.schritte textarea{min-height:72px;overflow:hidden}
.schritt-knoepfe{display:flex;gap:6px;margin-top:6px}
.schritt-knoepfe .ghost{min-height:36px;padding:0 12px;font-size:14px}
.druckkopf{display:none}
.nur-druck{display:none}
.dateiinhalt{padding:16px;border:1px solid var(--line);border-radius:12px;margin-bottom:24px}
.dateiinhalt p{margin:0 0 12px}
.dateiinhalt .note{margin:12px 0 0}
ul.links{margin:0 0 12px;padding-left:20px;line-height:1.8}
.auswahl{display:flex;flex-direction:column;max-height:260px;overflow:auto;padding:4px 8px;border:1px solid var(--line);border-radius:10px}

/* ---------- Suche ---------- */
mark{background:var(--mark-bg);color:var(--mark-ink);border-radius:3px;padding:0 1px}
.sgroup{margin-bottom:32px}
.sgroup h2 span{color:var(--muted);font-size:16px}

/* ---------- Startseite ---------- */
.cols{display:flex;flex-wrap:wrap;gap:32px}
.cols>section{flex:1 1 420px;min-width:0}
.dringend{margin-bottom:32px}
.leitung{margin-bottom:32px}
.leitung h3:first-of-type{margin-top:4px}

/* ---------- Berichte ---------- */
.abschnitt{margin-bottom:24px}
.ztable td.num,.ztable th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.minus{color:var(--warn);font-weight:600}
.balken{display:inline-block;vertical-align:middle;width:60px;height:8px;margin-right:8px;border-radius:999px;background:linear-gradient(90deg,var(--btn) var(--anteil),var(--neutral-soft) var(--anteil))}
.export .ghost{min-height:40px}

/* ---------- Preisliste ---------- */
.ztable.preise{table-layout:fixed;min-width:640px}
.ztable.preise strong{font-weight:600}
.ztable.preise tr:target{background:var(--accent-soft)}
.pflichthinweis{border-left:4px solid var(--btn)}

/* ---------- Überstunden ---------- */
.zgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.zsum{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}
.zsum .stat{flex:1 1 200px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 20px}
a.stat{color:inherit;text-decoration:none}
a.stat:hover{border-color:var(--btn)}
.wahl legend{font-weight:600;font-size:15px;margin-bottom:6px}
.wahl .check{margin:4px 0}
.zsum strong{display:block;font-size:30px;font-weight:500;color:var(--accent);font-variant-numeric:tabular-nums}
.zsum span{font-size:15px;color:var(--muted)}
.plus{color:var(--accent);font-weight:600}
.del{min-height:36px;padding:0 12px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);font-size:14px}
.del:hover{border-color:var(--warn);color:var(--warn)}
a.del{display:inline-flex;align-items:center;color:inherit;text-decoration:none}
.zeitraumwahl{min-width:200px}
tr.entfernt td{text-decoration:line-through;color:var(--muted)}
tr.entfernt td.note{text-decoration:none}
.ztable tfoot th{border-bottom:0;color:var(--ink)}

/* ---------- Zeiterfassung ---------- */
.stempel-form{margin:0}
.user .stempel{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border:1px solid var(--stempel-rand);border-radius:999px;background:var(--stempel-bg);color:var(--stempel-ink);font-size:15px;text-decoration:none;white-space:nowrap}
.user .stempel strong{font-weight:600}
.user .stempel:hover{border-color:var(--stempel-ink)}
.user .stempel .punkt{width:9px;height:9px;border-radius:50%;background:var(--stempel-an)}
.user .stempel.warnung{background:var(--warn-soft);color:var(--warn);font-weight:600}
.tagwahl{margin-top:20px;display:flex;flex-direction:column;gap:6px}
.tageszeit{margin:0}

/* ---------- Hinweise Monatsnachweis ---------- */
.feiertage{list-style:none;margin:0 0 8px;padding:0;font-size:15px}
.feiertage li{padding:3px 0;display:flex;gap:8px}
.feiertage .mono{flex:0 0 84px}
tr.vorbei td{color:var(--muted)}
tr.frei td{background:var(--neutral-soft)}
.hinweis{padding:12px 14px;margin-bottom:12px;border-radius:10px;background:var(--neutral-soft)}
.hinweis.fehler{background:var(--warn-soft)}
.hinweis h3{margin:0 0 4px}
.hinweis p{margin:0 0 8px;font-size:15px}

/* ---------- Demo-Portal ---------- */
.demostreifen{padding:8px 16px;background:var(--demo-bg);color:var(--demo-ink);font-weight:600;font-size:14px;text-align:center}

/* ---------- Hilfe ---------- */
.willkommen{margin-bottom:32px;padding:20px 24px;border-radius:16px;background:var(--accent-soft);border:1px solid var(--line)}
.willkommen p{margin:0 0 12px;max-width:72ch}
.willkommen form{margin:0}
.hilfe{max-width:820px}
.hilfe h2{margin:40px 0 12px;font-size:24px;scroll-margin-top:16px}
.hilfe h3{margin:24px 0 8px;font-size:17px;color:var(--accent)}
.hilfe p,.hilfe li{font-size:16px;line-height:1.65}
.hilfe ol,.hilfe ul{padding-left:22px}
.hilfe kbd{padding:1px 6px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);font-family:inherit;font-size:14px}
.hilfe .tipp{padding:12px 16px;border-left:4px solid var(--btn);background:var(--surface);border-radius:8px}
.hilfe .wichtig{padding:12px 16px;border-left:4px solid var(--warn);background:var(--warn-soft);border-radius:8px}
.inhalt-hilfe{padding:16px 20px;margin-bottom:8px}
.inhalt-hilfe ul{margin:8px 0 0;columns:2;column-gap:32px}
.inhalt-hilfe li{break-inside:avoid}
.hilfebild{margin:16px 0 24px}
.hilfebild img{max-width:100%;height:auto;border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.hilfebild figcaption{font-size:13px;color:var(--muted);margin-top:6px}
.begriffe dt{font-weight:600;color:var(--accent)}
.begriffe dd{margin:0 0 10px}
@media (max-width:600px){.inhalt-hilfe ul{columns:1}}
@media print{
  .hilfe .keindruck,.willkommen{display:none !important}
  .hilfe h2{break-after:avoid}
  .hilfebild{break-inside:avoid}
  .hilfebild img{box-shadow:none}
}

/* Kurzanleitung: eine A4-Seite */
.kurz{max-width:880px}
.kurz .einleitung{margin:0 0 20px}
.kurz-raster{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kurz-raster section{padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.kurz-raster .breit{grid-column:1 / -1}
.kurz h2{margin:0 0 8px;font-size:19px;display:flex;align-items:center;gap:10px}
.kurz .nr{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--btn);color:var(--on-btn);font-size:15px}
.kurz ol{margin:0 0 8px;padding-left:20px}
.kurz li{margin-bottom:4px}
.kurz .klein{font-size:14px;color:var(--muted);margin:0}
.kurz .fuss{margin-top:16px}
.kurz kbd{padding:1px 6px;border:1px solid var(--line-strong);border-radius:6px;font-family:inherit}
@media (max-width:700px){.kurz-raster{grid-template-columns:1fr}}
@media print{
  @page{size:A4;margin:14mm}
  .kurz .keindruck{display:none !important}
  .kurz h1{font-size:20pt;margin:0 0 4px}
  .kurz{font-size:10.5pt}
  .kurz-raster{gap:8px}
  .kurz-raster section{padding:8px 12px;border:1px solid var(--print-ink);break-inside:avoid;background:none}
  .kurz h2{font-size:13pt}
  .kurz .nr{border:1px solid var(--print-ink);background:none;color:var(--print-ink);width:22px;height:22px;font-size:11pt}
  .kurz .klein{color:var(--print-ink);font-size:9.5pt}
}

/* ---------- Badges ---------- */
.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}
.st-frei{background:var(--accent-soft);color:var(--accent)}
.st-pruef{background:var(--warn-soft);color:var(--warn)}
.st-entw{background:var(--neutral-soft);color:var(--neutral)}

/* ---------- Buttons (auch als Link) ---------- */
.primary,.ghost{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;text-decoration:none;font-size:16px}
.primary{min-height:48px;padding:0 24px;border:0;background:var(--btn);color:var(--on-btn);font-weight:600}
.primary:hover{background:var(--btn-hover)}
.ghost{min-height:44px;padding:0 18px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}
.ghost:hover{border-color:var(--accent)}
.actions{display:flex;flex-wrap:wrap;gap:8px}
.actions form{margin:0}
.actions .ghost{min-height:36px;padding:0 12px;font-size:14px;white-space:nowrap}

/* ---------- Formulare ---------- */
.form{display:flex;flex-direction:column;gap:16px;max-width:680px}
.field{display:flex;flex-direction:column;gap:6px}
label{font-size:14px;font-weight:600}
main input[type=search],input[type=file],input[type=text],input[type=password],input[type=email],input[type=date],input[type=time],input[type=number],select,textarea{min-height:48px;padding:10px 14px;font-size:16px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);width:100%}
textarea{min-height:140px;resize:vertical;line-height:1.5}
.check{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:500;font-size:16px}
.check input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--btn)}

.feststell{margin:6px 0 0;font-size:14px}
.passwort-zeigen{margin-top:-4px}

.konto-box{margin-bottom:20px}
.konto-box h2{margin-top:0}
.geraete{list-style:none;margin:0 0 12px;padding:0}
.geraete li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.einrichten .qr{margin:12px 0;display:block;width:max-content;padding:8px;background:var(--print-bg);border-radius:8px}
.einrichten .qr svg{display:block;width:min(260px,70vw);height:auto}
.schluessel{font-size:18px;letter-spacing:.05em;word-break:break-all}
.schluessel-box{margin:8px 0 4px;padding:12px 16px;border:1px solid var(--line);border-radius:12px}
.schluessel-box p{margin:0 0 8px}
.nur-handy{display:none;margin:8px 0 16px}
.nur-handy p{margin:0 0 8px}
@media (hover:none) and (pointer:coarse){.nur-handy{display:block}}
.schritte-einfach li{margin-bottom:12px;line-height:1.6}
.notfallcodes{columns:2;font-size:20px;line-height:2;max-width:420px}
@media print{.notfallcodes{font-size:14pt}}

/* ---------- Tabellen ---------- */
.tablewrap{overflow-x:auto}
.ztable{width:100%;border-collapse:collapse;font-size:15px}
.ztable th,.ztable td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.ztable th{font-weight:600;color:var(--muted);font-size:14px}

/* ---------- Anmeldeseite ---------- */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.login .card{width:100%;max-width:420px}
.login .brand img{height:48px}
.login h1{font-size:28px;margin:20px 0 6px}
.login .sub{margin:0 0 24px;color:var(--muted);font-size:15px}

/* ---------- Tablet: Hauptmenü in einer Zeile ---------- */
@media (min-width:601px) and (max-width:960px){
  .nav{padding:0 9px;font-size:15px}
}

/* ---------- Handy ---------- */
@media (max-width:600px){
  .wrap,.bar{padding-left:16px;padding-right:16px}
  main.wrap{padding:24px 16px 48px}
  h1{font-size:28px}
  .card{padding:20px}
  article h1{font-size:24px}
  nav{margin-left:-6px}
  .gsearch{order:4;flex-basis:100%;max-width:none}
  .user{margin-left:auto}
  /* Kopfzeile kompakt: Logo kleiner, Name ausgeblendet (über „Abmelden“ hinaus steht er unter Mein Konto),
     Menü in einer wischbaren Zeile statt drei Zeilen */
  .bar{gap:8px 10px;padding-top:10px}
  .brand img{height:30px}
  .brand span{font-size:14px;padding-left:10px}
  .user{flex-wrap:nowrap;gap:6px}
  .user .konto-name{display:none}
  .user .konto-kurz{display:inline-flex}
  .user button,.user .stempel{min-height:38px;padding:0 12px;font-size:14px}
  nav{flex-wrap:nowrap;overflow-x:auto;margin-left:-16px;margin-right:-16px;padding:0 10px;scrollbar-width:none;
      -webkit-mask-image:linear-gradient(to right,black 85%,transparent);mask-image:linear-gradient(to right,black 85%,transparent)}
  nav::-webkit-scrollbar{display:none}
  .nav{flex:0 0 auto;min-height:40px;padding:0 11px;font-size:15px}
  .gsearch input[type=search]{min-height:40px}
  /* Tabellen als Karten untereinander, damit nichts seitlich verschwindet */
  .ztable.stapeln thead,.ztable.stapeln colgroup{display:none}
  .ztable.stapeln,.ztable.stapeln tbody,.ztable.stapeln tr,.ztable.stapeln td{display:block;width:100%}
  .ztable.stapeln tr{padding:12px 0;border-bottom:1px solid var(--line)}
  .ztable.stapeln td{border:0;padding:3px 0;text-align:left}
  .ztable.stapeln td[data-label]::before{content:attr(data-label) ": ";font-weight:600;color:var(--muted);font-size:14px}
  .ztable.stapeln td:empty{display:none}
  .ztable.preise.stapeln{min-width:0;table-layout:auto}
  .head .actions{flex:1 1 100% !important}
}

/* ---------- Drucken ---------- */
@media print{
  header,.gsearch,.back,.actions,.skip,aside,.notice,.ack,.wfrow,.meldungen{display:none !important}
  body{background:var(--print-bg);color:var(--print-ink)}
  main.wrap{padding:0}
  .card{border:0;padding:0}
  .nur-druck{display:block}
  .druckkopf{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--print-ink);font-size:11pt}
  .druckkopf img{height:36px}
  h1,h2,.cat,.mono{color:var(--print-ink)}
  ol.steps .n{border:1px solid var(--print-ink);background:none;color:var(--print-ink)}
}

/* Vertragliche Arbeitszeit: Beginn, Ende, Pause je Wochentag */
.wochenzeiten{width:100%;border-collapse:collapse;margin:4px 0 16px}
.wochenzeiten th{font-size:13px;font-weight:600;text-align:left;padding:4px 4px 4px 0;color:var(--muted)}
.wochenzeiten td{padding:3px 4px 3px 0}
.wochenzeiten input{width:100%;min-width:0}
.wochenzeiten td:last-child{width:22%}
.wochenzeiten .error{display:block}
.tageszeiten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}
@media (max-width:520px){.tageszeiten{grid-template-columns:1fr 1fr}}

/* Nachweise: Ampel (immer mit Text, nie nur Farbe) */
.ampel{display:inline-block;padding:2px 10px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}
.ampel.gruen{background:var(--accent-soft);color:var(--accent)}
.ampel.gelb{background:var(--mark-bg);color:var(--mark-ink)}
.ampel.rot{background:var(--warn-soft);color:var(--warn)}
.matrix td{white-space:nowrap}
.matrix th{min-width:110px;vertical-align:bottom}
.unterweisung-offen{border-left:4px solid var(--btn);padding-left:16px;margin:0 0 16px}
.ampel.neutral{background:var(--neutral-soft);color:var(--neutral)}
/* Checklisten: mit einem Klick abhaken */
.schnell{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}
.schnell input{width:6.5em;min-height:40px}
.schnell .primary{min-height:40px;padding:0 14px}
.checkzeile{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:8px 0;border-top:1px solid var(--line)}
.checkzeile:first-child{border-top:0}
