body { background: var(--app-bg, #0A0A0B); min-height: 100vh; }
.calendar-page { max-width: 480px; margin: 0 auto; padding: 20px 16px 100px; }
.calendar-page-header { display: flex; align-items: center; gap: 14px; margin-bottom: 4px; }
.calendar-back { color: var(--lime); text-decoration: none; font-weight: 700; font-size: 0.85rem; }
.calendar-page-header h1 { color: var(--text-on-dark); font-size: 1.3rem; margin: 0; }
.calendar-sub { color: var(--text-on-dark-soft); font-size: 0.85rem; margin-bottom: 20px; }

.cal-day-group { margin-bottom: 18px; }
.cal-day-label {
    color: var(--lime); font-weight: 700; font-size: 0.78rem;
    text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 8px;
}
.cal-event-card {
    background: var(--surface); border: 1px solid var(--surface-border);
    border-radius: var(--radius-md); padding: 14px; margin-bottom: 10px;
    display: flex; gap: 12px; align-items: flex-start;
}
.cal-event-badge {
    font-size: 0.68rem; font-weight: 700; padding: 4px 10px; border-radius: 999px;
    text-transform: uppercase; white-space: nowrap;
}
.cal-event-badge.kurs { background: rgba(59,130,196,0.18); color: #6BB6F5; }
.cal-event-badge.test { background: rgba(229,84,75,0.18); color: #FF9B90; }
.cal-event-badge.event { background: rgba(198,241,53,0.18); color: var(--lime); }
.cal-event-time { color: var(--text-on-dark-soft); font-size: 0.78rem; margin-bottom: 4px; }
.cal-event-title { color: var(--text-on-dark); font-weight: 700; font-size: 0.92rem; }
.cal-event-desc { color: var(--text-on-dark-soft); font-size: 0.82rem; margin-top: 4px; }
.cal-event-del { cursor: pointer; color: #FF9B90; font-size: 0.8rem; margin-left: 8px; }
.cal-event-edit { cursor: pointer; color: var(--lime); font-size: 0.85rem; margin-left: auto; }
.cal-empty { color: var(--text-on-dark-soft); text-align: center; padding: 40px 0; }

/* Formular (Lehrer) */
.cal-form {
    background: var(--surface); border: 1px solid var(--surface-border);
    border-radius: var(--radius-md); padding: 18px; margin-bottom: 16px;
}
.cal-form h4 { color: var(--text-on-dark); margin: 0 0 14px; }
.cal-form-row { display: flex; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }
.cal-form-field { flex: 1; min-width: 140px; }
.cal-form-field label { display: block; font-size: 0.72rem; color: var(--text-on-dark-soft); margin-bottom: 5px; }
.cal-form-field input, .cal-form-field select {
    width: 100%; padding: 9px 12px; border-radius: 10px; border: 1px solid var(--surface-border);
    background: var(--bg-light); color: var(--ink); font-family: inherit; font-size: 0.85rem;
}
