/* Mitarbeitendenansicht (PWA). Aufbau und Farbrollen aus docs/prototyp.html;
   Farbtokens, Schriften und die geteilten Bausteine stehen in basis.css.
   Ein Bildschirm, eine Handlung — bedienbar mit dem Daumen. */

.huelle{max-width:520px;margin:0 auto;min-height:100vh;
        min-height:100dvh;display:flex;flex-direction:column;
        padding:0 16px calc(20px + env(safe-area-inset-bottom));background:var(--surface)}
@media (min-width:560px){
  .huelle{margin:22px auto;min-height:auto;border:1px solid var(--line-strong);
          border-radius:18px;box-shadow:var(--shadow);overflow:hidden;padding-bottom:20px}
}

/* Kopfbalken in Markenblau, wie die Statuszeile im Prototyp */
.balken{display:flex;align-items:center;justify-content:space-between;gap:12px;
        margin:0 -16px 16px;padding:calc(9px + env(safe-area-inset-top)) 16px 8px;
        background:var(--brand);color:#fff;font-size:12.5px;letter-spacing:.02em}
:root[data-theme="dark"] .balken,
:root:not([data-theme="light"]) .balken{color:#0d131b}
@media (prefers-color-scheme: light){ :root:not([data-theme="dark"]) .balken{color:#fff} }
.marke{font-weight:600}
.abmelden{background:none;border:0;color:inherit;opacity:.85;font-size:12.5px;
          padding:4px 2px;text-decoration:underline;text-underline-offset:3px}

.laden{color:var(--muted);font-size:13.5px;text-align:center;padding:40px 0}
.version{margin:26px 0 0;text-align:center;font-size:11px;letter-spacing:.07em;
         text-transform:uppercase;color:var(--faint)}

.karte{padding:4px 0 8px}
.titel{margin:0 0 3px;font-size:19px;font-weight:600;letter-spacing:-.01em}
.lead{margin:0 0 18px;color:var(--muted);font-size:13.5px}
.fussnote{margin:10px 0 0;color:var(--faint);font-size:12px;line-height:1.45}

/* Reiter */
.ptabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:0 0 18px}
.ptabs button{background:none;border:0;padding:10px 12px 9px;font-size:13.5px;color:var(--muted);
              border-bottom:2px solid transparent;font-weight:500}
.ptabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--brand);font-weight:600}

.datum{font-size:13px;color:var(--muted);margin:0 0 2px}
.person{font-size:13px;color:var(--faint);margin:0 0 20px}

/* Zifferblatt */
.dial{text-align:center;padding:6px 0 20px}
.dial .seit{font-size:12.5px;color:var(--muted);letter-spacing:.02em;min-height:19px}
.dial .uhr{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:46px;font-weight:500;
           letter-spacing:-.02em;line-height:1.1;margin:4px 0 2px}
.dial .zustand{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;min-height:18px}
.st-laeuft{color:var(--go)} .st-pause{color:var(--warn)} .st-aus{color:var(--faint)}

/* Der grosse Knopf */
.knopf{width:100%;border:0;border-radius:10px;padding:19px;font-size:17px;font-weight:600;
       letter-spacing:.01em;color:#fff;transition:filter .12s;min-height:60px}
.knopf:hover:enabled{filter:brightness(1.07)}
.knopf:active:enabled{filter:brightness(.94)}
.knopf:disabled{opacity:.55;cursor:not-allowed}
.knopf.go{background:var(--go)} .knopf.stop{background:var(--stop)}
.knopf2{margin-top:9px}

.hinweis{margin-top:12px;font-size:12.5px;color:var(--muted);text-align:center;min-height:18px}
.hinweis.links{text-align:left}
#dMeldung{margin-top:12px}

/* Die Ist-Rechnung wird offen ausgewiesen — Konzept 5.2, nicht optional */
.rechnung{margin-top:22px;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.rechnung .kopf{background:var(--surface-2);padding:7px 12px;font-size:11px;letter-spacing:.08em;
                text-transform:uppercase;color:var(--faint);font-weight:600;border-bottom:1px solid var(--line)}
.zeile{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;font-size:13.5px}
.zeile+.zeile{border-top:1px solid var(--line)}
.zeile .l{color:var(--muted)}
.zeile .v{font-family:var(--mono);font-variant-numeric:tabular-nums}
.zeile.ist{background:var(--brand-soft);font-weight:600}
.zeile.ist .l{color:var(--ink)}

/* Die Arbeitsbloecke unter der Rechnung — nur sichtbar, wenn der Tag unterbrochen war */
.bloecke{margin:7px 0 0;text-align:center;font-family:var(--mono);
         font-variant-numeric:tabular-nums;font-size:11.5px;line-height:1.5;
         color:var(--faint);overflow-wrap:anywhere}

.konten{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
.konto{border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:var(--surface-2)}
.konto .k{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:600}
.konto .w{font-family:var(--mono);font-size:19px;font-weight:500;margin-top:3px;color:var(--faint)}
.konto .w.plus{color:var(--go)} .konto .w.minus{color:var(--stop)}
.konto .kfuss{font-size:10.5px;color:var(--faint);margin-top:2px;letter-spacing:.02em}

/* Korrekturmeldungen */
#fMeldung{margin-top:12px}
#fMeldung textarea{width:100%;padding:10px 11px;border-radius:8px;resize:vertical;
                   border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);
                   font-family:inherit;font-size:15px}
#fMeldung .knopf2{margin-top:9px}
#mListe:empty{display:none}
#mMeldung{margin-top:12px}
.li .antwort{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.li.erledigt .tag{color:var(--go)}
.li.abgewiesen .tag{color:var(--stop)}

/* Offline-Warteschlange */
.warteschlange{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
               background:var(--warn-soft);color:var(--warn);border-radius:9px;
               border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);
               padding:9px 12px;margin-bottom:14px;font-size:13px;font-weight:500}
.warteschlange .wsenden{margin-left:auto;background:none;border:1px solid currentColor;
                        color:inherit;border-radius:7px;padding:5px 10px;font-size:12.5px;font-weight:600}
.warteschlange .wsenden:disabled{opacity:.5;cursor:not-allowed}

/* Erinnerung bei offener Sitzung */
.erinnerung{margin-top:12px;border-radius:9px;padding:11px 12px;font-size:13px;
            background:var(--warn-soft);color:var(--warn);
            border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}
.erinnerung p{margin:0 0 8px}
.erinnerung .knopf2{background:transparent;border-color:currentColor;color:inherit;
                    font-size:13px;padding:9px}

/* Urlaubskonto */
.konten.drei{grid-template-columns:1fr 1fr 1fr}
.urlaub-bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden;margin:11px 0 5px}
.urlaub-bar i{display:block;height:100%;background:var(--brand);transition:width .2s}
.kopfzeile{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);
           font-weight:600;margin:20px 0 8px}
.paar{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ankreuz{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted);
         padding:10px 0;margin-bottom:12px}
.ankreuz input{width:18px;height:18px;flex:none}
#fAntrag .knopf2{margin-top:9px}
.li .zurueck{background:none;border:0;color:var(--stop);font-size:12px;padding:0;
             text-decoration:underline;text-underline-offset:3px}
.li.abgelehnt{opacity:.6}

/* Urlaubsplanung fuer das Folgejahr */
.jahreswahl{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.jahreswahl .jahr{width:34px;height:34px;flex:none;border-radius:8px;background:var(--surface-2);
                  border:1px solid var(--line-strong);color:var(--ink);font-size:17px;line-height:1}
.jahreswahl .jahr:disabled{opacity:.35;cursor:not-allowed}
.jahrtitel{flex:1;text-align:center;font-size:14px;font-weight:600}

.planung{border-radius:9px;padding:11px 12px;margin-bottom:14px;font-size:13px;
         background:var(--brand-soft);color:var(--ink);
         border:1px solid color-mix(in srgb,var(--brand) 30%,transparent)}
.planung.knapp{background:var(--warn-soft);color:var(--warn);
               border-color:color-mix(in srgb,var(--warn) 40%,transparent)}
.planung.fertig{background:var(--go-soft);color:var(--go);
                border-color:color-mix(in srgb,var(--go) 35%,transparent)}
.planung p{margin:0}
.planung .klein{font-size:11.5px;opacity:.85;margin-top:5px}
.planbalken{height:7px;border-radius:4px;background:color-mix(in srgb,currentColor 20%,transparent);
            overflow:hidden;margin-top:8px}
.planbalken i{display:block;height:100%;background:currentColor;transition:width .2s}

/* Monatsnachweis herunterladen */
.nachweis{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
.nachweis .knopf2{margin-top:0;font-size:13px;padding:11px 8px}

/* Meine Zeiten */
.monatskopf{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.monatstitel{flex:1;min-width:0;text-align:center}
.monatstitel .datum,.monatstitel .person{margin:0}
.pfeil{width:40px;height:40px;flex:none;border-radius:9px;background:var(--surface-2);
       border:1px solid var(--line-strong);color:var(--ink);font-size:19px;line-height:1}
.pfeil:disabled{opacity:.4;cursor:not-allowed}
.leer{color:var(--muted);font-size:13.5px;text-align:center;padding:22px 0;margin:0}
#zMeldung{margin-top:12px}

/* Kennzeichnung eines Testbestandes */
.version.warnfuss{color:var(--warn);background:var(--warn-soft);border-radius:6px;padding:6px 8px}

/* Buchungsknopf waehrend des Sendens */
.sendet{opacity:.7;pointer-events:none}
