*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f4f6f8;color:#17202a}header{background:#17202a;color:#fff;padding:14px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}header a{color:#fff;text-decoration:none;margin-left:18px}.container{max-width:1100px;margin:28px auto;padding:0 18px}.narrow{max-width:620px}.center{min-height:100vh;display:grid;place-items:center;background:#f4f6f8}.card{background:#fff;border-radius:14px;padding:22px;margin-bottom:20px;box-shadow:0 5px 22px #0000000d}.auth{width:min(440px,92vw)}h1,h2,h3{margin-top:0}.muted{color:#68727d}.big{font-size:42px;font-weight:700;margin:15px 0 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:20px}.stats div{background:#f2f4f6;padding:10px;border-radius:9px;font-size:12px}.stats strong{display:block;font-size:16px;margin-top:5px}label{display:block;font-weight:600;margin-bottom:12px}input,select,textarea{display:block;width:100%;padding:11px;border:1px solid #ccd3da;border-radius:8px;margin-top:6px;font:inherit}button,.button{display:inline-block;border:0;border-radius:8px;padding:11px 16px;font:inherit;cursor:pointer;text-decoration:none;background:#e8edf1;color:#17202a}.primary{background:#146c43;color:white}.danger{background:#b02a37;color:white}.warning{background:#d97706;color:white}.large{width:100%;padding:17px;font-size:18px}.actions{display:grid;gap:12px;margin:20px 0}.inline{display:flex;gap:8px}.inline input{max-width:180px}.alert{padding:12px 15px;border-radius:9px;background:#e7f5ec;margin-bottom:15px}.alert.error{background:#fde8e8;color:#8a1c1c}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.tabs a{background:#fff;padding:10px 14px;border-radius:8px;text-decoration:none;color:#17202a}.tabs a:hover{background:#e8edf1}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #e5e7eb}.qrgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.qrgrid article{text-align:center;border:1px solid #e1e5e8;border-radius:12px;padding:15px}.qrgrid img{max-width:220px;width:100%}@media(max-width:720px){.grid,.formgrid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}header{align-items:flex-start;flex-direction:column}header nav a{margin:0 12px 0 0}.inline{flex-wrap:wrap}}
/* V4 */
table input[type="time"],table input[type="number"]{min-width:105px}.qrgrid article{overflow-wrap:anywhere}.tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}.tabs a{padding:.55rem .7rem;background:#fff;border:1px solid #ddd;border-radius:7px}.danger{cursor:pointer}

/* V6 */
details.employee{border:1px solid #e1e5e8;border-radius:10px;padding:12px;margin:10px 0}details.employee summary{cursor:pointer}.yeargrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.month{border:1px solid #e1e5e8;border-radius:10px;padding:10px}.monthdays{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.day{font-size:12px;text-align:center;padding:5px 2px;border-radius:4px;background:#f4f6f8}.day.absent{background:#d9eadf;font-weight:700}@media(max-width:850px){.yeargrid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.yeargrid{grid-template-columns:1fr}}


/* V6.1 QR display */
.qr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1rem 0}
.qr-card{border:1px solid #d8dee6;border-radius:10px;padding:1rem;text-align:center;background:#fff}
.qr-card img{display:block;max-width:100%;height:auto;margin:.5rem auto;background:#fff;padding:8px;border:1px solid #eee}
.qr-card small{display:block;overflow-wrap:anywhere;margin:.5rem 0;color:#555}
.button-link{display:inline-block;margin-top:.5rem;padding:.55rem .8rem;border:1px solid #bbb;border-radius:6px;text-decoration:none}

/* V6.2 vacation accounts */
.leave-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.leave-stats div{background:#f4f6f8;border-radius:9px;padding:12px}.leave-stats span{display:block;font-size:12px;color:#68727d}.leave-stats strong{display:block;margin-top:4px;font-size:20px}@media(max-width:720px){.leave-stats{grid-template-columns:repeat(2,1fr)}}


/* V6.3 Dienstplanung */
.container.wide{max-width:1500px}.planner-table-wrap{overflow-x:auto}.planner-table{min-width:1180px}.planner-table td{vertical-align:top}.planner-table select,.planner-table input{min-width:120px}.planner-table td:first-child{min-width:70px}.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.area-grid article{border:1px solid #e1e5e8;border-radius:10px;padding:12px;background:#fafbfc}.area-person{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #eceff2}.area-person:last-child{border-bottom:0}.area-person span{white-space:nowrap;color:#68727d}@media(max-width:720px){.area-person{display:block}.area-person span{display:block;margin-top:3px}}

/* V6.5 employee monthly schedule */
.planner-table.compact{min-width:900px}.planner-table.compact td,.planner-table.compact th{padding:8px}
