.abelitz-notdienst { display: block; }
.notdienst-alert { border-radius: var(--radius-lg,14px); padding: 16px 18px; margin-bottom: 18px; display: flex; gap: 14px; align-items: flex-start; }
.notdienst-alert__icon { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-weight: 700; }
.notdienst-alert__content { font-size: 14px; line-height: 1.7; }
.notdienst-alert--danger, .notdienst-alert--red { background: #FBE9E6; border: 1px solid #E7B6AE; color: #8A2E20; }
.notdienst-alert--danger, .notdienst-alert--red .notdienst-alert__icon { background: #F7D5CF; color: #A84B35; }
.notdienst-alert--success, .notdienst-alert--green { background: #EDF6EC; border: 1px solid #BFD8BD; color: #254C2C; }
.notdienst-alert--success, .notdienst-alert--green .notdienst-alert__icon { background: #3F7E4A; color: #fff; }
.month-section { margin-bottom: 18px; }
.month-head { border-radius: var(--radius,10px) var(--radius,10px) 0 0; padding: 12px 18px; display: flex; align-items: center; gap: 12px; background: var(--c-beige-mid,#E8E0D4); border: 1px solid var(--c-beige-dark,#D6CBBB); border-bottom: none; }
.month-section.current .month-head { background: var(--c-dark,#2A3840); color: #fff; }
.month-head__icon { opacity: .8; }
.month-head h3 { font-family: var(--font-serif,'Lora',serif); font-size: 18px; margin: 0; color: var(--c-brown-deep,#5C4A32); }
.month-section.current .month-head h3 { color: #fff; }
.month-badge { margin-left: auto; font-size: 11px; padding: 4px 10px; border-radius: 999px; font-weight: 700; text-transform: uppercase; background: var(--c-terra,#A84B35); color: #fff; }
.nd-table { border: 1px solid var(--c-beige-dark,#D6CBBB); border-top: none; border-radius: 0 0 var(--radius,10px) var(--radius,10px); overflow: hidden; background: var(--c-white,#FDFAF6); }
.nd-row { display: grid; grid-template-columns: 150px minmax(0, 1fr) 230px; border-bottom: 1px solid var(--c-beige-mid,#E8E0D4); }
.nd-row:last-child { border-bottom: none; }
.nd-row:hover { background: var(--c-beige,#F0EBE1); }
.nd-row.own { background: #F9ECE8; color: var(--c-terra,#A84B35); font-weight: 600; }
.nd-cell { padding: 11px 14px; font-size: 14px; display: flex; align-items: center; }
.nd-cell.date { color: var(--c-text-muted,#8C7E6E); font-weight: 500; white-space: nowrap; }
.nd-row.own .nd-cell.date, .nd-row.own .nd-cell.tel { color: var(--c-terra,#A84B35); }
.nd-cell.tel { justify-content: flex-end; color: var(--c-slate,#3B4F5C); font-weight: 600; white-space: nowrap; }
.nd-cell.tel a { color: inherit; white-space: nowrap; }
.nd-note { display: block; margin-left: 8px; font-size: 12px; color: var(--c-text-muted,#8C7E6E); font-weight: 400; }
@media (max-width: 560px) { .nd-row { grid-template-columns: 92px 1fr; } .nd-cell.tel { display: none; } .nd-row.own .nd-cell.tel { display: flex; grid-column: 1 / -1; justify-content: flex-start; padding-top: 0; padding-left: 92px; } .month-badge { display: none; } }

.notdienst-empty { padding: 1rem; border: 1px solid #ddd; border-radius: .5rem; background: #fafafa; }

.notdienst-alert--yellow { background: #FFF7D6; border: 1px solid #E6D28A; color: #5F4B00; }
.notdienst-alert__title { display: block; margin-bottom: .35rem; }
.notdienst-download { margin: 0 0 1rem 0; text-align: right; }
.notdienst-download__link { display: inline-block; padding: .55rem .8rem; border: 1px solid var(--c-beige-dark,#D6CBBB); border-radius: 8px; background: var(--c-white,#FDFAF6); font-weight: 600; }
