:root{--color-text: #212121;--color-bg: #f4f4f4;--color-brand-red: #e30613;--color-brand-yellow: #ffed00;--color-button: #0069b4;--color-button-hover: #015189;--color-button-text: white;--color-button-border: #ccc;--color-surface: #ffffff;--color-border: #dddddd;--color-appversion: #ffffff66;--color-nav-text: white;--color-header-bg: var(--color-brand-red);--color-table-header-bg: var(--color-brand-red);--color-table-header-text: white;--color-table-border: #ccc;--color-positiv: green;--color-cancel: #ccc;--color-passiv: #888;--color-aktiv: var(--color-button);--color-teilnahme: var(--color-positiv);--color-entschuldigt: orange}:root[data-theme=dark]{--color-text: #e6e6e6;--color-bg: #121212;--color-surface: #1e1e1e;--color-border: #444;--color-nav-text: #ffed00;--color-header-bg: #b0000a;--color-table-header-bg: #b0000a;--color-table-header-text: #ffed00;--color-button: #4da3ff;--color-button-hover: #1e74d4}:root{font-family:Arial,sans-serif;font-size:18px;line-height:1.6;color:#212121;background-color:#f4f4f4}body{margin:0;padding:0;min-height:100vh}*{box-sizing:border-box}a{color:inherit;text-decoration:none}table{font-size:1rem}input,button,select{font-size:1rem;font-family:inherit}button{border-radius:5px;border:none;cursor:pointer}body{margin:0;font-family:Arial,sans-serif;background:#f4f4f4}.navbar{background-color:var(--color-brand-red);padding:10px;display:flex;gap:20px}.brand{color:var(--color-brand-yellow);font-weight:700;font-family:Arial,sans-serif;text-align:left}.navlink{color:var(--color-nav-text);text-decoration:none;font-weight:700}.navlink.active{text-decoration:underline}.main-content{padding:14px}@media (max-width: 850px){.main-content{padding:9px 0}}input[type=text]{padding:10px;font-size:16px;margin-right:10px}textarea{padding:10px;font-size:16px;margin-right:10px;font-family:Arial,sans-serif}button{padding:10px 15px;font-size:16px;background-color:var(--color-button);color:#fff;border:none;border-radius:5px;cursor:pointer}button:hover{background-color:var(--color-button-hover)}.download-button{padding:10px 15px;font-size:16px;background-color:var(--color-button);color:#fff;border:none;border-radius:5px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:5px}.download-button:hover{background-color:var(--color-button-hover)}table{width:100%;border-collapse:collapse;background:var(--color-surface);box-shadow:0 2px 10px #0000001a}th,td{padding:10px;border:1px solid var(--color-border);text-align:left}th{background-color:var(--color-table-header-bg);color:var(--color-table-header-text)}.app-header{display:flex;justify-content:space-between;align-items:center;background:var(--color-header-bg);color:var(--color-nav-text);padding:10px 20px}.brand{font-weight:700}.header-buttons{display:flex;align-items:right;gap:5px}.menu-button,.help-button{padding:0 10px;background:none;color:var(--color-nav-text);font-size:1.5em;border:none;cursor:pointer}.dropdown-menu{position:absolute;right:20px;top:60px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 10px #0000001a;display:flex;flex-direction:column;z-index:1000}.dropdown-menu a{padding:10px 15px;text-decoration:none;color:var(--color-text);font-weight:700}.dropdown-menu a:hover{background:#eee}.app-version{position:fixed;top:0;right:12px;font-size:.5rem;color:var(--color-appversion);pointer-events:none;-webkit-user-select:none;user-select:none;font-family:monospace;z-index:9999}.statistik-raster{display:flex;flex-direction:column;gap:2rem}.stunden-zeile{display:flex;flex-direction:column}.stunden-label{font-weight:700;margin-bottom:.5rem;font-size:1.2rem}.bahn-reihe{display:grid;grid-template-columns:repeat(auto-fit,minmax(312px,1fr));gap:20px}.statistik-kachel{border:1px solid #ccc;border-radius:8px;padding:10px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 2px 4px #0000001a}.statistik-kachel.leer{background:transparent;border:none;cursor:default;box-shadow:none;padding:0;border-radius:0}.anwesenheit th,.anwesenheit td{border:1px solid #ccc;padding:4px;text-align:center}.anwesenheit th:first-child,.anwesenheit td:first-child{min-width:165px;width:200px}.anwesenheit th:nth-child(2),.anwesenheit td:nth-child(2){width:160px}.anwesenheit th:nth-child(3),.anwesenheit td:nth-child(3){width:auto}
