.calendar-app{display:grid;grid-template-columns:230px minmax(0,1fr);height:680px;background:#fff;border:1px solid #afc1ce;border-radius:10px;overflow:hidden;box-shadow:0 7px 22px #183e5812}.calendar-sidebar{position:relative;z-index:8;overflow:auto;background:#edf2f5;border-right:1px solid #b9c9d4}.cal-side-title{padding:15px 17px;background:#285b80;color:#fff;font-weight:750}.cal-mini{padding:14px;border-bottom:1px solid #c5d2db}.cal-mini>.between button{padding:3px 8px;border:0;background:transparent}.cal-mini>.between b{text-transform:capitalize}.cal-mini-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin:12px 0;text-align:center}.cal-mini-days strong{font-size:9px;color:#617787}.cal-mini-days span{display:grid;place-items:center;height:24px;font-size:10px}.cal-mini-days span.today{border-radius:50%;background:#078995;color:#fff;font-weight:800}.cal-mini>button{display:block;margin:auto;padding:4px 9px;font-size:10px}.cal-filter-block{padding:15px 13px;border-bottom:1px solid #c5d2db}.cal-filter-head{display:flex;justify-content:space-between;align-items:center}.cal-filter-head button{padding:2px;border:0;background:transparent;color:#078995;font-size:10px}.cal-check{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:7px;margin:8px 0;font-size:11px;font-weight:500}.cal-check input{width:14px;height:14px;margin:0}.cal-check span{min-width:0;line-height:1.35}.cal-check.all{padding-bottom:7px;border-bottom:1px solid #d0dbe2}.cal-filter-block select{width:100%;margin-top:9px;font-size:11px}.cal-filter-note{display:block;padding:14px;line-height:1.45}.calendar-main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.calendar-topbar{display:flex;align-items:center;gap:13px;padding:10px 13px;background:#e0e7ec;border-bottom:1px solid #b9c9d4}.calendar-topbar>div{display:flex;align-items:center;gap:6px}.calendar-topbar>div:nth-child(2){margin-left:auto}.calendar-topbar button,.calendar-topbar select{padding:5px 9px;font-size:11px;margin:0}.calendar-topbar>div:first-child b{margin-left:7px;font-size:12px;color:#3b566a}.cal-view-buttons .chosen{background:#285b80;color:#fff}.calendar-plan-tabs{display:flex;gap:5px;padding:8px 12px;border-bottom:1px solid #c8d5de}.calendar-plan-tabs button{padding:5px 10px;font-size:11px}.calendar-plan-tabs .selected{background:#d5ecef;color:#176771}.calendar-scroll{flex:1;overflow:auto;background:#fff}.calendar-canvas{min-width:980px}.calendar-scroll .weekhead{position:sticky;top:0;z-index:6;background:#fff}.calendar-scroll .weekbody{min-height:672px}.calendar-list-view{flex:1;overflow:auto;padding:10px}.calendar-list-view>button{display:grid;grid-template-columns:70px 7px minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;padding:15px;border:0;border-bottom:1px solid #d4dfe7;border-radius:0;background:#fff;text-align:left}.calendar-list-view>button:hover{background:#eef6f7}.calendar-list-view time{display:grid}.calendar-list-view time b{text-transform:uppercase;color:#078995}.calendar-list-view i{height:42px;border-radius:4px}.calendar-list-view small{display:block}.calendar-list-view>button>strong{color:#285b80}.event-assignment{padding:14px;background:#e4f0f3;border-left:5px solid #078995;border-radius:7px}.event-assignment p{font-size:12px;margin:4px 0}.event-assignment label{margin-bottom:0}@media(max-width:900px){.calendar-app{grid-template-columns:185px minmax(0,1fr)}.calendar-topbar{flex-wrap:wrap}.calendar-topbar>div:nth-child(2){margin-left:0}.calendar-topbar>div:first-child b{display:none}}@media(max-width:650px){.calendar-app{display:block;height:auto}.calendar-sidebar{max-height:250px;border-right:0;border-bottom:1px solid #b9c9d4}.calendar-main{height:620px}.calendar-topbar>div{overflow:auto;max-width:100%}}
.real-calendar-event{overflow:hidden;overflow-wrap:anywhere;text-align:left}.real-calendar-event>b,.real-calendar-event>span{display:block}.real-calendar-event>b{line-height:1.2}.event-clock{margin-top:3px;white-space:normal;font-size:9px;line-height:1.15}.event-clock time,.event-clock em{font:inherit;font-style:normal}.real-calendar-event.crowded{padding:4px 3px;font-size:9px;line-height:1.12}.real-calendar-event.crowded>b{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.real-calendar-event.crowded .event-clock time,.real-calendar-event.crowded .event-clock em{display:block}
.calendar-form-intro{margin:0 0 12px;color:#526b7c}.calendar-form-section{margin:10px 0}.calendar-form-section[hidden]{display:none}.calendar-detail header{padding-bottom:12px;border-bottom:1px solid #d1dde5}.calendar-detail header>span{color:#087e89;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.calendar-detail header h3{margin:4px 0}.calendar-detail header small{color:#607586}.calendar-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.calendar-detail dl div{padding:9px 11px;border:1px solid #d1dde5;border-radius:7px;background:#f8fafb}.calendar-detail dt{font-size:11px;color:#607586}.calendar-detail dd{margin:2px 0 0;font-weight:700}.calendar-detail section{margin-top:14px}.calendar-detail h4{margin:0 0 6px}.calendar-detail p{margin:0;line-height:1.5}.calendar-trainer-lists{display:grid;grid-template-columns:1fr 1fr;gap:10px}.calendar-trainer-lists>div{padding:11px;border:1px solid #d1dde5;border-radius:7px}.calendar-trainer-lists ul{margin:0;padding-left:18px}.calendar-trainer-lists .muted{color:#607586}.calendar-detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;margin-top:16px}.calendar-detail-actions .chosen{background:#d8eff0;border-color:#078995;color:#075d65}.calendar-cancel-note{padding:10px;border-left:4px solid #c9544d;background:#fff0ee}@media(max-width:600px){.calendar-detail dl,.calendar-trainer-lists{grid-template-columns:1fr}}
.real-calendar-event.cancelled,
.calendar-list-view button.cancelled {
  border-color: #929ca3;
  background: #e9edef;
  color: #6f787e;
  text-decoration: line-through;
  opacity: .72;
}
.cal-mini-days button{display:grid;place-items:center;width:100%;height:25px;padding:0;border:0;border-radius:50%;background:transparent;font-size:10px}.cal-mini-days button:hover,.cal-mini-days button.selected{background:#d8e8ee}.cal-mini-days button.today{background:#078995;color:#fff;font-weight:800}.calendar-month section.today{box-shadow:inset 0 0 0 2px #078995}.calendar-month section button.cancelled{border-color:#929ca3!important;background:#e9edef!important;color:#6f787e!important;text-decoration:line-through;opacity:.72}.day-view-head.today strong{color:#078995;text-decoration:underline}
/* Calendar categories: one stable color per division, plus club and meeting colors. */
.real-calendar-event.calendar-color-division,.real-calendar-event.calendar-color-club,.real-calendar-event.calendar-color-meeting{border-left:4px solid var(--cal-border);background:var(--cal-bg);color:var(--cal-text)}
.real-calendar-event.personally-relevant{z-index:3;box-shadow:0 0 0 2px #fff,0 0 0 4px #243b53,0 3px 8px #243b5333;font-weight:750}
.real-calendar-event.personally-relevant:after{content:'MEINS';position:absolute;right:3px;top:2px;padding:1px 3px;border-radius:3px;background:#243b53;color:#fff;font-size:7px;font-weight:900;letter-spacing:.04em}
.real-calendar-event.personally-relevant.crowded:after{content:'★';font-size:8px}
.calendar-month section button.calendar-color-division,.calendar-month section button.calendar-color-club,.calendar-month section button.calendar-color-meeting{border-left:4px solid var(--cal-border);background:var(--cal-bg);color:var(--cal-text)}
.calendar-month section button.personally-relevant{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px #243b53;font-weight:800}
.calendar-list-view>button.calendar-color-division,.calendar-list-view>button.calendar-color-club,.calendar-list-view>button.calendar-color-meeting{background:var(--cal-bg);color:var(--cal-text)}
.calendar-list-view>button.calendar-color-division>i,.calendar-list-view>button.calendar-color-club>i,.calendar-list-view>button.calendar-color-meeting>i{background:var(--cal-border)}
.calendar-list-view>button.personally-relevant{box-shadow:inset 6px 0 #243b53;font-weight:700}
.calendar-color-legend{display:grid;gap:6px;padding:12px 13px;border-bottom:1px solid #c5d2db;font-size:10px}.calendar-color-legend>b{margin-bottom:2px;color:#234e6c}.calendar-color-legend>span{display:flex;align-items:center;gap:7px}.calendar-color-legend i{width:12px;height:12px;flex:none;border-radius:3px;background:var(--legend-color)}.calendar-color-legend .personal i{border:3px solid #243b53;background:#fff}


.location-marker{display:inline-flex;align-items:center;gap:2px;padding:1px 3px;border:1px solid #8295a1;border-radius:3px;background:rgba(250,252,253,.92);color:#344d5e;font-size:8px;font-weight:900;line-height:1.1;letter-spacing:.025em;font-style:normal}.location-marker i{font:inherit;font-style:normal}.real-calendar-event .location-marker{position:absolute;right:3px;bottom:3px}.real-calendar-event.crowded .location-marker i{display:none}.calendar-month .location-marker{position:static;margin-right:2px}.calendar-list-view .location-marker{position:static;margin-right:4px;font-size:9px}.location-away{border-color:#6f8492}.location-field{color:#247044;border-color:#69a17e;background:#edf8f1}.location-pool{color:#32687c;border-color:#7fa6b6}.location-hall{color:#4e5961}.location-other{color:#655b4d;border-color:#a49a8a}

.calendar-trainer-lists li.trainer-unavailable{color:#8a6464}.calendar-trainer-lists li.trainer-unavailable span{text-decoration:line-through}.calendar-trainer-lists li.trainer-unavailable small{display:inline;margin-left:7px;color:#a34f49;font-size:10px;font-weight:700}

.calendar-request-notice{margin:10px 12px 0;padding:9px 12px;border:1px solid #d7a746;border-left:5px solid #d99a25;border-radius:7px;background:#fff6dc;color:#68490d;font-weight:700}
.real-calendar-event.calendar-color-request,.calendar-month section button.calendar-color-request{border-left:4px solid var(--cal-border);background:var(--cal-bg);color:var(--cal-text)}
.calendar-list-view>button.calendar-color-request{background:var(--cal-bg);color:var(--cal-text);box-shadow:inset 6px 0 var(--cal-border)}
.real-calendar-event.pending-request:before,.calendar-month button.pending-request:after{content:'ANFRAGE';display:inline-block;padding:1px 3px;border-radius:3px;background:#73500d;color:#fff;font-size:7px;font-weight:900;letter-spacing:.04em}
.real-calendar-event.pending-request:before{position:absolute;left:3px;bottom:3px}
.calendar-pending-detail{padding:11px 13px;border:1px solid #d7a746;border-left:5px solid #d99a25;border-radius:7px;background:#fff6dc;color:#68490d}
.calendar-pending-detail p{margin-top:4px}


