*{box-sizing:border-box}
body{font-family:Arial,sans-serif;background:#f4f7fb;margin:0;color:#1f2937}
.container{max-width:1100px;margin:22px auto;padding:0 14px}
.container.small{max-width:460px}
.top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.card{background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:12px;box-shadow:0 4px 14px rgba(0,0,0,.05);overflow-x:auto}
label{display:block;font-size:13px;color:#6b7280;margin-top:8px}
input,select{width:100%;max-width:100%;padding:8px;border:1px solid #cbd5e1;border-radius:8px;margin-top:4px}
button{margin-top:10px;padding:8px 10px;border:0;border-radius:8px;background:#2563eb;color:#fff;cursor:pointer;white-space:nowrap}
table{width:100%;border-collapse:collapse;margin-top:8px}
th,td{border:1px solid #d1d5db;padding:7px;font-size:13px;vertical-align:middle}
th{background:#eef2ff;text-align:left}
/* Eingabefelder in Tabellen kompakter halten */
td input, td select{min-width:0;width:100%;max-width:220px}
td form{margin:0}
.flash{padding:8px;border-radius:8px;margin-bottom:8px}
.success{background:#e7f7ec}.error{background:#fee2e2}
.hint{color:#6b7280}
.holiday-row td{font-weight:700;background:#fff1f2}
