.umschalter-wrapper {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: nowrap;
gap: 0.6em;
margin-bottom: 1em;
max-width: 100%;
}
.umschalt-box { min-width: 0; word-break: break-word; }
.umschalt-box:first-child { flex: 1; text-align: right; }
.umschalt-box:nth-child(2) { flex: 0 0 auto; text-align: center; width: 3.6em; }
.umschalt-box:last-child { flex: 1; text-align: left; }
.umschalt-label {
color: var(--michael-dgrau);
text-decoration: none;
font-weight: 500;
font-size: 1em;
cursor: pointer;
display: inline-block;
white-space: normal;
}
.umschalt-label.active-label { font-weight: 700; color: var(--michael-brom1); }
.umschalt-toggle {
display: inline-block;
width: 3em;
height: 1.6em;
background-color: var(--michael-hbrom);
border-radius: 1em;
border: 2px solid var(--michael-brom1);
position: relative;
text-decoration: none;
cursor: pointer;
}
.umschalt-toggle-kreis {
content: '';
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 1.2em;
height: 1.2em;
background-color: var(--michael-brom1);
border-radius: 50%;
transition: left 0.25s ease;
}
.umschalt-toggle-kreis.links  { left: 0.2em; }
.umschalt-toggle-kreis.rechts { left: calc(100% - 1.4em); } .stm-wrapper { display:block; }
.stm-year, .stm-month {
margin: 1rem 0 .25rem;
font-size: 1.1rem; font-weight: 700;
}
.stm-day-group { display:block; margin-bottom: 1rem; }
.stm-card {
display:block;
padding: .75rem .875rem;
border: 1px solid rgba(0,0,0,.08);
border-radius: .75rem;
background: #fff;
box-shadow: 0 1px 2px rgba(0,0,0,.04);
margin-bottom: .75rem;
}
.stm-row { line-height: 1.35; font-size: 1em; } .stm-row-1 { margin-bottom: .375rem; font-weight: 700;} .stm-row-2.stm-time { margin-bottom: .25rem; } .stm-row-3.stm-title { font-weight: 700;  } .stm-row-4 { margin-top: .25rem; } .stm-date { opacity: .95; word-break: normal; } .stm-hint-inline {
color: var(--michael-brom1);
margin-top: .25rem;
font-size: 0.8em;
}
.stm-hint-inline p { margin: 0.25rem 0 0; } @media (min-width: 1025px) {
.stm-wrapper { display:block; }
.stm-day-group { margin-bottom: .25rem; }
.stm-card {
display: grid; grid-template-columns: 14ch 16ch minmax(40%, 1fr);
align-items: start;
gap: .25rem .75rem;
border-left: none; border-right: none;
box-shadow: none;
border-radius: 0px;
border-top: 0px;
border-bottom: 1px solid rgba(0,0,0,.1);
padding: .5rem .25rem;
margin: 0;
} .stm-row-1 { grid-column: 1; } .stm-row-2 { grid-column: 2; } .stm-row-3 { grid-column: 3; } .stm-row-4 { grid-column: 3; }  .stm-date { hyphens: auto; } .stm-row { font-size: 1rem; }
}