:root{--blau:#1f4e79;--grau:#5f6b76;--linie:#dde3e8;--rot:#b42318;--gruen:#1e7b45;--bg:#f4f6f8;}
*{box-sizing:border-box;}
body{margin:0;font-family:Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:#1b2733;font-size:16px;}
header{background:var(--blau);color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
header h1{font-size:19px;margin:0;}
main{max-width:900px;margin:0 auto;padding:12px 16px;}
footer{color:var(--grau);font-size:12px;text-align:center;padding:16px;}
.karte{background:#fff;border:1px solid var(--linie);border-radius:8px;padding:14px 16px;margin:12px 0;}
.karte h2{font-size:17px;margin:0 0 8px;color:var(--blau);}
.leise{color:var(--grau);font-size:13px;}
.fehler{color:var(--rot);}
.veraltet{color:var(--rot);font-weight:600;}
label{display:block;margin:10px 0;font-size:14px;}
input{display:block;width:100%;max-width:340px;padding:10px;font-size:16px;border:1px solid #b9c3cc;border-radius:6px;margin-top:4px;}
button{font-size:15px;padding:9px 14px;border-radius:6px;border:1px solid var(--blau);background:var(--blau);color:#fff;cursor:pointer;}
button.link{background:none;border:none;color:#fff;text-decoration:underline;padding:4px;}
.woche-steuerung{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.woche-steuerung button{background:#fff;color:var(--blau);}
.tag{border-top:1px solid var(--linie);padding:8px 0;}
.tag:first-child{border-top:none;}
.tag.heute{background:#eef5fb;margin:0 -16px;padding:8px 16px;}
.tag-kopf{font-weight:600;}
.dienst{margin:4px 0 0 0;}
.zeit{font-variant-numeric:tabular-nums;font-weight:600;}
.kollegen{color:var(--grau);font-size:14px;margin-left:2px;}
.frei{color:var(--grau);}
.bereitschaft{display:inline-block;background:#fff4e5;border:1px solid #f0c27b;border-radius:4px;padding:0 6px;font-size:13px;}
table{border-collapse:collapse;width:100%;font-size:14px;}
th,td{border:1px solid var(--linie);padding:5px 6px;text-align:left;vertical-align:top;}
th{background:#f0f3f6;}
.tabelle{overflow-x:auto;}
td.leer{background:#fdecea;color:var(--rot);}
details summary{cursor:pointer;color:var(--grau);}
#datenschutzText{white-space:pre-wrap;font-size:13px;color:var(--grau);margin-top:8px;}
