
        :root { --ral3000: #af2b1e; }
        html, body { margin: 0; padding: 0; height: 100%; font-family: Arial, sans-serif; background-color: #f8f9fa; }
        header { position: relative; display: flex; align-items: center; justify-content: flex-start; padding: 0.5rem; background-color: var(--ral3000); color: white; flex-wrap: wrap; }
        .header-left { z-index: 2; }
        .header-title { position: absolute; left: 50%; transform: translateX(-50%); text-align: center; width: 100%; }
        header img { height: 60px; margin-right: 1rem; }
        header h1 { font-size: 2.5rem; margin: 0; word-break: break-word; font-weight: bold; }
        #calendar { width: 100%; padding: 0; margin: 0 auto; }
        .fc-toolbar-title { color: var(--ral3000); font-weight: bold; text-align: center; width: 100%; }
        .fc-header-toolbar { display: flex; justify-content: space-between !important; align-items: center; flex-wrap: wrap; gap: 0.5rem; }
        .fc-toolbar-chunk:nth-child(2) { flex-grow: 1; text-align: center; }
        .fc-daygrid-event { border: none; white-space: normal !important; overflow: visible !important; text-overflow: initial !important; }
        .fc-daygrid-event .fc-event-title { white-space: normal !important; overflow: visible !important; text-overflow: initial !important; display: block; }
        .fc-daygrid-event .fc-event-time { color: black !important; font-weight: bold !important; font-size: 1rem !important; }
        .event-uebung { background-color: #28a745 !important; color: white !important; }
        .event-andere { background-color: #0089B6 !important; color: white !important; }
        .footer { position: fixed; bottom: 5px; right: 10px; font-size: 0.75rem; color: #888; z-index: 1000; }
        .footer a { color: #888 !important; text-decoration: none; }
        .footer a:hover { text-decoration: underline; color: #888 !important; }

        .no-toolbar .fc-header-toolbar .fc-toolbar-chunk:first-child,
        .no-toolbar .fc-header-toolbar .fc-toolbar-chunk:last-child {
            display: none !important;
        }

        @media (max-width: 600px) {
            header h1 { font-size: 1.8rem; }
            header img { height: 50px; }
            .fc-button, .fc-button-primary { font-size: 0.75rem !important; padding: 0.25rem 0.4rem !important; min-width: auto !important; height: auto !important; line-height: 1.1 !important; }
            .fc-toolbar.fc-header-toolbar { flex-wrap: nowrap !important; gap: 2px; }
            .fc-toolbar-title { font-size: 1.2rem !important; white-space: nowrap !important; }
        }