.aml-liste { font-family: inherit; max-width: 800px; }
.aml-beschreibung { margin-bottom: 1.5rem; color: #444; }
.aml-login-hinweis { background: #f0f4ff; border-left: 4px solid #4a6cf7; padding: 12px 16px; border-radius: 4px; }
.aml-datum-gruppe { margin-bottom: 2rem; }
.aml-datum-header { font-size: 1.1rem; font-weight: 700; color: #333; border-bottom: 2px solid #e0e0e0; padding-bottom: 6px; margin-bottom: 12px; }
.aml-slot { background: #fff; border: 1px solid #dde0e5; border-radius: 8px; padding: 14px 16px; margin-bottom: 10px; transition: border-color .2s, box-shadow .2s; }
.aml-slot:hover { border-color: #b0b8c8; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.aml-slot--voll { background: #f9f9f9; opacity: .75; }
.aml-slot--angemeldet { border-color: #3a9c5a; background: #f0faf4; }
.aml-slot-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.aml-slot-info { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.aml-slot-zeit { font-size: .9rem; color: #666; white-space: nowrap; min-width: 110px; }
.aml-slot-aufgabe { font-size: 1rem; color: #222; }
.aml-slot-ort { font-size: .88rem; color: #777; }
.aml-slot-kapazitaet { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.aml-count { font-size: .9rem; color: #555; }
.aml-voll-badge { background: #e74c3c; color: #fff; font-size: .75rem; padding: 2px 8px; border-radius: 12px; font-weight: 600; }
.aml-slot-beschreibung { margin: 8px 0 0; font-size: .88rem; color: #666; font-style: italic; }
.aml-teilnehmer-liste { margin-top: 8px; color: #888; font-size: .85rem; }
.aml-slot-actions { margin-top: 12px; }
.aml-anmelden-form { display: flex; flex-direction: column; gap: 8px; }
.aml-kommentar-input { width: 100%; box-sizing: border-box; border: 1px solid #dde0e5; border-radius: 5px; padding: 7px 10px; font-size: .88rem; font-family: inherit; resize: vertical; color: #333; transition: border-color .2s; }
.aml-kommentar-input:focus { outline: none; border-color: #3a9c5a; box-shadow: 0 0 0 2px rgba(58,156,90,.12); }
.aml-btn { display: inline-block; padding: 8px 18px; border-radius: 5px; font-size: .9rem; font-weight: 600; cursor: pointer; border: none; transition: background .2s, transform .1s; }
.aml-btn:active { transform: scale(.98); }
.aml-btn-anmelden { background: #3a9c5a; color: #fff; }
.aml-btn-anmelden:hover { background: #2e7d48; }
.aml-btn-abmelden { background: transparent; color: #3a9c5a; border: 2px solid #3a9c5a; }
.aml-btn-abmelden:hover { background: #f0faf4; }
.aml-slot-message { margin-top: 8px; font-size: .9rem; padding: 6px 10px; border-radius: 4px; }
.aml-slot-message.success { background: #eafaf1; color: #27ae60; }
.aml-slot-message.error { background: #fdecea; color: #e74c3c; }
@media (max-width: 600px) {
  .aml-slot-header { flex-direction: column; gap: 6px; }
  .aml-slot-info { flex-direction: column; align-items: flex-start; gap: 4px; }
}
