body{ font-family:Arial,sans-serif; margin:10px; }
h2{ margin-bottom:6px; }

/* Buttons Sprache */
#lang-switcher{ margin-bottom:8px; }
.lang-btn{ font-size:16px; cursor:pointer; margin-right:4px; }

/* Tabelle */
.table-container{ overflow-x:auto; border:1px solid #ccc; max-width:100%; }
table{ border-collapse:collapse; width:max-content; }
th,td{ border:1px solid #ccc; padding:6px; min-width:42px; text-align:center; vertical-align:middle; }

/* Header */
thead th{ position:sticky; top:0; background:#f0f0f0; z-index:3; font-weight:bold; }
thead th:first-child, tbody td:first-child{ position:sticky; left:0; background:#eaeaea; font-weight:bold; z-index:4; min-width:110px; text-align:left; padding-left:8px; }

/* Statusfarben */
.frei{ background:#7cfc90; color:black; font-weight:bold; }       /* Grün = frei */
.manual{ background:#ff4c4c; color:white; font-weight:bold; }    /* Rot = Owner manuell */
.booking{ background:#999; color:white; font-weight:bold; }      /* Grau = Server-Buchung */

/* Klick-Feedback */
td{ cursor:default; }
td.frei, td.manual{ cursor:pointer; }
td.manual:hover, td.frei:hover{ filter:brightness(0.9); }
td.booking{ cursor:not-allowed; }

/* Drucken */
@media print{
    button,#lang-switcher{ display:none !important; }
    body{ font-size:9px; }
    th,td{ padding:3px; }
    .frei,.manual,.booking,th{-webkit-print-color-adjust:exact; print-color-adjust:exact;}
}

/* Mobile */
@media screen and (max-width:768px){
    table{ font-size:10px; }
    th,td{ padding:4px; min-width:30px; }
    thead th:first-child, tbody td:first-child{ min-width:90px; }
}
