.calendar-heading{margin-bottom:20px}
.calendar-index-heading .actions{margin-bottom:0}
.calendar-index-actions{justify-content:flex-end}
.calendar-card{overflow:visible;border-top:44px solid var(--blue)}
@media(min-width:761px){.calendar-card{width:calc(100vw - 40px);margin-left:calc(50% - 50vw + 20px);margin-right:0}}
.calendar-navigation{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:18px}
.calendar-navigation h2{min-width:220px;margin:0;text-align:center}
.calendar-navigation .button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;font-size:1.5rem}
.calendar-type-badge{display:inline-block;padding:4px 9px;border-radius:999px;background:var(--event-color);color:var(--event-text,#fff);font-size:.78rem;font-weight:800}
.type-jugend{--event-color:#c62828;--event-text:#fff}
.type-schwimmbad{--event-color:#4261b0;--event-text:#fff}
.type-tauchausflug{--event-color:#25834b;--event-text:#fff}
.type-tauchurlaub{--event-color:#f1c40f;--event-text:#191919}
.type-treffen{--event-color:#d9883e;--event-text:#fff}
.type-arbeit{--event-color:#343a40;--event-text:#fff}
.type-tauchkurs{--event-color:#8b5a2b;--event-text:#fff}
.type-allgemein{--event-color:#707782;--event-text:#fff}
.type-dive-open_water{--event-color:#00838f;--event-text:#fff}
.type-dive-training_open_water{--event-color:#ad3468;--event-text:#fff}
.type-dive-training_pool{--event-color:#64732f;--event-text:#fff}
.calendar-event.is-cancelled,.calendar-mobile-event.is-cancelled{--event-color:#707782}
.calendar-event.is-cancelled>span,.calendar-mobile-event.is-cancelled strong{ text-decoration:line-through}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-weekdays{background:var(--blue);color:#fff;border-radius:8px 8px 0 0;font-weight:700;text-align:center}
.calendar-weekdays div{padding:9px}
.calendar-grid{border-left:1px solid var(--border);border-top:1px solid var(--border)}
.calendar-day{min-height:145px;padding:8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;overflow:visible}
.calendar-day.outside-month{background:#f2f3f6;color:#818795}
.calendar-day.today{box-shadow:inset 0 0 0 3px var(--orange)}
.calendar-day-number{font-weight:800;text-align:right}
.calendar-day-events{display:grid;gap:5px;margin-top:6px}
.calendar-event{display:block;padding:6px 7px;background:var(--event-color);border-left:4px solid var(--event-color);border-radius:5px;color:var(--event-text,#fff);font-size:.82rem;font-weight:700;line-height:1.25;text-decoration:none;overflow-wrap:anywhere}
.calendar-event:hover,.calendar-event:focus-visible{color:var(--event-text,#fff);filter:brightness(.92);text-decoration:none}
.calendar-registration-marker{display:block;margin-top:3px;color:inherit;font-size:.72rem;font-weight:400}
.calendar-registration-marker strong{font-weight:900}
.calendar-event time{color:inherit}
.calendar-event-capacity{display:inline;margin:0;color:inherit;font-size:inherit;font-weight:inherit;opacity:.9}
.calendar-mobile{display:none}
.calendar-mobile-days{display:grid;gap:16px}
.calendar-mobile-day h3{margin:0 0 6px;padding-bottom:5px;border-bottom:2px solid var(--blue);color:var(--blue);font-size:1rem}
.calendar-mobile-list{display:grid;gap:6px}
.calendar-mobile-event{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:5px;background:var(--event-color);color:var(--event-text,#fff);font-size:.88rem;line-height:1.25;text-decoration:none}
.calendar-mobile-event:hover,.calendar-mobile-event:focus-visible{color:var(--event-text,#fff);filter:brightness(.92);text-decoration:none}
.calendar-mobile-event .calendar-registration-marker{margin:0}
.calendar-mobile-event time{flex:0 0 auto;color:inherit;font-size:.78rem;font-weight:700;white-space:nowrap}
.calendar-mobile-event strong{min-width:0;overflow-wrap:anywhere}
.dashboard-my-events h2{margin-top:0}
.dashboard-calendar{grid-column:1/-1;min-width:0}
.dashboard-calendar .dashboard-module-title,.dashboard-calendar .dashboard-mandatory-title,.dashboard-modules .dashboard-calendar::after{background:var(--blue)}
.dashboard-calendar .dashboard-module-title a,.dashboard-calendar .dashboard-mandatory-title a{color:#fff;text-decoration:none}
.dashboard-calendar-navigation{display:flex;align-items:center;justify-content:center;gap:18px;margin:2px 0 12px}
.dashboard-calendar-navigation .button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;font-size:1.4rem}
.dashboard-calendar-month{min-width:190px;margin:0;text-align:center;color:var(--blue)}
.dashboard-calendar-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.dashboard-calendar-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}
.dashboard-calendar-table th{padding:7px;background:var(--blue);color:#fff;text-align:center}
.dashboard-calendar-table td{height:92px;padding:5px;border:1px solid var(--border);vertical-align:top;background:#fff}
.dashboard-calendar-table td.outside-month{background:#f2f3f6;color:#818795}
.dashboard-calendar-table td.today{box-shadow:inset 0 0 0 3px var(--orange)}
.dashboard-calendar-day-number{display:block;margin-bottom:4px;font-weight:800;text-align:right}
.dashboard-calendar-event{display:block;margin:3px 0;padding:4px 5px;border-radius:4px;background:var(--event-color);color:var(--event-text,#fff);font-size:.72rem;font-weight:700;line-height:1.2;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-calendar-event:hover,.dashboard-calendar-event:focus-visible{color:var(--event-text,#fff);filter:brightness(.92);text-decoration:none}
.dashboard-calendar-event.is-cancelled{--event-color:#707782;text-decoration:line-through}
.dashboard-calendar-event.is-registered:not(.is-cancelled){box-shadow:inset 0 0 0 3px #b9dfc7}
.dashboard-my-event-list{display:grid;gap:9px;margin:0 0 16px}
.dashboard-my-event{display:block;padding:10px 12px;border-left:6px solid var(--event-color);border-radius:7px;background:#f6f7fa;color:var(--text);text-decoration:none}
.dashboard-my-event time{display:block;margin-bottom:2px;color:var(--blue);font-size:.82rem;font-weight:700}
.dashboard-my-event strong{display:block;color:var(--blue);overflow-wrap:anywhere}
.dashboard-my-event.is-cancelled{--event-color:#707782;background:#eef0f2}
.dashboard-my-event.is-cancelled time,.dashboard-my-event.is-cancelled strong{text-decoration:line-through}
.dashboard-my-event:hover,.dashboard-my-event:focus-visible{background:#eef1f7;text-decoration:none}
.calendar-my-list{display:grid;gap:10px}
.calendar-my-section+.calendar-my-section{margin-top:18px}
.calendar-my-event{display:grid;grid-template-columns:minmax(140px,.45fr) minmax(0,1fr);gap:16px;padding:13px 15px;border-left:7px solid var(--event-color);border-radius:8px;background:#f6f7fa;color:var(--text);text-decoration:none}
.calendar-my-event time{color:var(--blue);font-weight:700}
.calendar-my-event strong{display:block;color:var(--blue);overflow-wrap:anywhere}
.calendar-my-event small{display:block;color:var(--blue)}
.calendar-my-event.is-cancelled{--event-color:#707782;background:#eef0f2}
.calendar-my-event.is-cancelled time{text-decoration:line-through}
.calendar-my-event:hover,.calendar-my-event:focus-visible{background:#eef1f7;text-decoration:none}
.calendar-my-empty{margin-bottom:0}
.calendar-detail-heading{margin-left:auto;margin-right:auto}
.calendar-detail-header-actions{justify-content:flex-end}
.calendar-detail-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}
.calendar-detail-card{max-width:none;margin:0;padding:0;overflow:hidden;border-top:1px solid var(--border);box-shadow:none}
.calendar-detail-card.is-cancelled{--event-color:#707782;background:#f5f5f5}
.calendar-detail-type{display:flex;align-items:center;height:44px;padding:0 24px;background:var(--event-color);color:var(--event-text,#fff);font-size:.9rem;font-weight:800}
.calendar-detail-body{padding:24px}
.calendar-detail-card h2{margin:0 0 .35rem;color:var(--blue)}
.calendar-detail-card p{margin:.55rem 0}
.calendar-detail-date{display:block;color:var(--blue);font-weight:800}
.calendar-detail-time{display:inline-block;margin-top:7px;padding:6px 12px;border-radius:6px;background:#25834b;color:#fff;font-weight:800}
.calendar-detail-description{margin:1rem 0;padding:14px;background:#f6f7fa;border-radius:8px;line-height:1.55}
.calendar-cancelled-notice{padding:9px 11px;border-radius:7px;background:#eceff3;color:#4b5563;font-weight:700}
.calendar-youth-details,.calendar-dive-details,.calendar-course-details{margin:.55rem 0;line-height:1.3}
.calendar-youth-details div,.calendar-dive-details div,.calendar-course-details div{margin:0;padding:0}
.calendar-detail-card .calendar-detail-fact{margin:0;padding:0;line-height:1.3}
.calendar-pool-equipment{display:block;width:max-content;max-width:100%;margin:.55rem 0 1rem;padding:9px 13px;border-radius:6px;background:#c62828;color:#fff}
.calendar-pool-equipment strong,.calendar-pool-equipment time{display:inline;color:#fff;font-size:1rem;line-height:1.15}
.calendar-detail-link{display:inline-block;padding:8px 16px;border-radius:6px;background:var(--blue);color:#fff;font-weight:800;text-decoration:none}
.calendar-detail-link:hover,.calendar-detail-link:focus-visible{background:#344f97;color:#fff;text-decoration:none}
.calendar-detail-card .calendar-detail-author{margin-top:0}
.calendar-detail-card .row-actions{margin-top:16px}
.calendar-participants-card{max-width:none;margin:0;padding:0;overflow:hidden;border-top:0;box-shadow:none}
.calendar-participants-card.is-cancelled{--event-color:#707782}
.calendar-participants-bar{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 24px;background:var(--event-color);color:var(--event-text,#fff);font-weight:800}
.calendar-participants-bar h2{margin:0;color:inherit;font-size:1.1rem}
.calendar-participants-bar>strong{color:inherit;font-size:1.05rem}
.calendar-participants-body{padding:20px 24px}
.calendar-event-cancelled{display:flex;align-items:center;width:max-content;max-width:100%;padding:9px 12px;border-radius:7px}
.calendar-event-cancelled:has(input:checked){background:#b3261e;color:#fff}
.calendar-registration-actions{margin:14px 0}
.calendar-registration-actions form{margin:0}
.calendar-register{background:#25834b;border-color:#25834b;color:#fff}
.calendar-register:hover,.calendar-register:focus{background:#1d6d3d;border-color:#1d6d3d;color:#fff}
.calendar-registration-note{margin:0;padding:10px 12px;border-left:4px solid var(--orange);background:#fff4e8}
.calendar-registration-full{border-left-color:#a32626;background:#ffe9e9;color:#8b1c1c}
.calendar-participant-list{list-style:none;margin:0;padding:0}
.calendar-participant-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--border)}
.calendar-participant-list li:last-child{border-bottom:0}
.calendar-participant-name{min-width:0;overflow-wrap:anywhere}
.calendar-participant-list form{margin:0}
.calendar-participant-remove{padding:6px 10px;font-size:.88rem}
.calendar-form-card{max-width:760px;margin:0 auto}
.calendar-form-heading{max-width:760px;margin:0 auto}
.calendar-create-card{background:#fff4e8;border-color:#efcfb2;border-top:44px solid var(--orange);box-shadow:none}
.calendar-edit-card{background:#fff9df;border-color:#eadb94;border-top:44px solid #f2b705;box-shadow:none}
.calendar-delete-card{max-width:none;background:#fff1f0;border-color:#efc7c3;border-top:44px solid #b3261e;box-shadow:none}
.calendar-delete-warning{margin-top:0;color:#8b1c1c}
.calendar-delete-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.calendar-delete-detail{padding:12px 14px;border:1px solid #efc7c3;border-radius:8px;background:rgba(255,255,255,.55)}
.calendar-delete-detail strong{display:block;margin-bottom:3px}
.calendar-delete-description{grid-column:1/-1}
.calendar-delete-confirm-actions{margin-top:22px}
.calendar-series-source{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 18px;margin:0 0 18px;padding:12px 14px;border-radius:7px;background:#f6f7fa}
.calendar-series-source span{color:var(--blue);font-weight:700}
.calendar-series-weekdays{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.calendar-series-weekday{display:flex;align-items:center;gap:7px;margin:0;padding:9px 11px;border:1px solid var(--border);border-radius:7px;background:#fff}
.calendar-series-weekday input{width:auto;margin:0}
.calendar-type-fields fieldset[hidden]{display:none}
.calendar-type-fields fieldset[data-fields-for="jugend"],.calendar-type-fields fieldset[data-fields-for="schwimmbad"]{margin:0;padding:0;border:0}
.calendar-type-fields fieldset[data-fields-for="jugend"] legend,.calendar-type-fields fieldset[data-fields-for="schwimmbad"] legend{display:none}
.calendar-dive-field[hidden]{display:none}
.calendar-course-field[hidden]{display:none}
.calendar-link-field[hidden]{display:none}
.calendar-equipment-field[hidden]{display:none}
.calendar-post-location-field[hidden]{display:none}
.calendar-extra-fields[hidden]{display:none}
@media(min-width:961px){.dashboard-modules{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-calendar-navigation{gap:8px}.dashboard-calendar-navigation .button{width:34px;height:34px}.dashboard-calendar-month{min-width:0;flex:1;font-size:1.05rem}}
@media(max-width:760px){.calendar-desktop{display:none}.calendar-mobile{display:block}.calendar-navigation{gap:10px}.calendar-navigation h2{min-width:0;flex:1;font-size:1.25rem}.calendar-card{padding:14px}.calendar-mobile-event{align-items:flex-start;flex-direction:column;gap:2px}.calendar-my-event{grid-template-columns:1fr;gap:2px}.calendar-detail-heading{align-items:flex-start}.calendar-detail-header-actions{justify-content:flex-start}.calendar-detail-layout{grid-template-columns:1fr}.calendar-detail-type{padding:0 18px}.calendar-detail-body{padding:18px}.calendar-participants-heading{align-items:center}.calendar-participant-list li{align-items:flex-start}.calendar-series-weekdays{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-delete-details{grid-template-columns:1fr}.calendar-delete-description{grid-column:auto}}
.calendar-detail-card.view-card-bottom-bar,.calendar-participants-card.view-card-bottom-bar{border-bottom-color:var(--event-color)!important}
