body {
    font-family: Arial, Helvetica, sans-serif;
    background: #f5f7fa;
    margin: 0;
    padding: 20px;
    color: #222;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    background: #ffffff;
    padding: 24px;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

h1 {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 28px;
    font-weight: bold;
}

.table-wrapper {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    table-layout: fixed;   /* sehr wichtig */
}

th,
td {
    border: 1px solid #cfd6df;
    padding: 8px;
    text-align: center;
}

th {
    background: #e9eef5;
    font-weight: bold;
}

td input[type="text"] {
    width: 110px;
}

/* Feste Breite für Wochentag */
th:nth-child(1),
td:nth-child(1) {
    width: 140px;
    min-width: 90px;
    max-width: 90px;
}

/* Feste Breite für Datum */
th:nth-child(2),
td:nth-child(2) {
    width: 110px;
    min-width: 90px;
    max-width: 90px;
}

/* Eingabefelder in diesen Spalten passend skalieren */
td:nth-child(1) input,
td:nth-child(2) input {
    width: 100%;
}


th:nth-child(n+3),
td:nth-child(n+3) {
    width: 70px;
}

td input[type="number"] {
    width: 55px;   /* passend für max. 3-stellige Zahlen */
    text-align: center;
}

td input[type="text"],
td input[type="number"] {
    box-sizing: border-box;
    padding: 6px 6px;
    border: 1px solid #b8c2cc;
    border-radius: 4px;
    font-size: 14px;
}

.readonly {
    background: #f1f3f5;
    color: #333;
    border-color: #d0d7de;
}

.buttons {
    margin-top: 35px;      /* mehr Abstand zur Tabelle */
    padding-top: 20px;
    border-top: 2px solid #d0d7de;

    display: flex;
    justify-content: center; /* Buttons mittig */
    gap: 25px;
}

.btn {
    border: none;
    padding: 14px 30px;   /* deutlich größer */
    font-size: 18px;      /* größere Schrift */
    border-radius: 8px;
    cursor: pointer;
    font-weight: bold;

    min-width: 160px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.15);
    transition: all 0.2s ease;
}
.btn-save {
    background: #198754;
    color: #fff;
}

.btn-save:hover {
    background: #157347;
    transform: translateY(-2px);
}

.btn-cancel {
    background: #dc3545;   /* rot = auffällig */
    color: #fff;
}

.btn-cancel:hover {
    background: #bb2d3b;
    transform: translateY(-2px);
}

.message {
    margin-bottom: 18px;
    padding: 12px 14px;
    border-radius: 6px;
    font-weight: bold;
}

.message.success {
    background: #d1e7dd;
    color: #0f5132;
    border: 1px solid #badbcc;
}

.message.error {
    background: #f8d7da;
    color: #842029;
    border: 1px solid #f5c2c7;
}
/* Samstag */
tr.samstag td {
    background-color: #eef5ff;   /* leicht blau */
}

/* Sonntag */
tr.sonntag td {
    background-color: #eef5ff;   /* leicht blau */
}

/* Optional: erste beiden Spalten stärker betonen */
tr.samstag td:first-child,
tr.samstag td:nth-child(2) {
    font-weight: bold;
}

tr.sonntag td:first-child,
tr.sonntag td:nth-child(2) {
    font-weight: bold;
}