.ss-detail-button {
  border: 0;
  border-radius: 999px;
  padding: 8px 12px;
  background: #eef1fa;
  color: var(--blue);
  font: inherit;
  font-size: .72rem;
  font-weight: 900;
  cursor: pointer;
}

.ss-program-modal {
  width: min(760px, calc(100vw - 32px));
  max-height: min(860px, calc(100vh - 32px));
  padding: 0;
  border: 0;
  border-radius: 28px;
  color: var(--ink);
  box-shadow: 0 30px 100px rgba(16, 29, 70, .32);
}

.ss-program-modal::backdrop { background: rgba(15, 27, 64, .66); backdrop-filter: blur(5px); }
.ss-modal-content { padding: clamp(28px, 5vw, 54px); background: #fff; }
.ss-modal-close { position: sticky; z-index: 2; top: 16px; float: right; margin: 16px 16px -60px 0; width: 42px; height: 42px; border: 0; border-radius: 50%; background: var(--blue); color: #fff; font-size: 1.7rem; line-height: 1; cursor: pointer; }
.ss-modal-kicker { color: var(--teal); font-weight: 950; text-transform: uppercase; letter-spacing: .1em; font-size: .76rem; }
.ss-program-modal h2 { max-width: 620px; margin: 12px 0 18px; color: var(--blue); font-size: clamp(2.2rem, 5vw, 4rem); line-height: .98; letter-spacing: -.045em; }
.ss-program-modal h3 { color: var(--blue); margin: 0 0 8px; }
.ss-modal-lead { font-size: 1.15rem; line-height: 1.6; }
.ss-modal-meta { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0; }
.ss-modal-meta span { padding: 9px 13px; border-radius: 999px; background: var(--paper); font-size: .82rem; font-weight: 850; }
.ss-program-modal section { padding: 22px 0; border-top: 1px dashed var(--line); line-height: 1.6; }
.ss-modal-trainers { display: flex; flex-wrap: wrap; gap: 18px; }
.ss-modal-trainer { display: flex; align-items: center; gap: 12px; padding: 9px 16px 9px 9px; border-radius: 999px; background: var(--paper); }
.ss-modal-trainer img,.ss-modal-trainer span { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; background: var(--yellow); color: var(--blue); display: grid; place-items: center; font-size: 1.3rem; font-weight: 950; }
.ss-modal-actions { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 12px; padding-top: 24px; }
.ss-modal-actions .ss-book { padding: 14px 22px; font-size: .9rem; }
.ss-edit-training,.ss-cancel-booking { border: 0; border-radius: 999px; padding: 9px 12px; color: var(--blue); background: #e8edf9; text-decoration: none; font-size: .72rem; font-weight: 900; cursor: pointer; }
.ss-edit-training { display:inline-grid; place-items:center; width:34px; height:34px; padding:0; font-size:1.15rem; line-height:1; }
.ss-meal-warning { margin:8px 0; padding:9px 11px; border-radius:10px; background:#fff2b8; color:#6b5100; font-size:.74rem; font-weight:850; line-height:1.35; }
.ss-cancel-booking { color: #9e2631; background: #ffe1e3; }
.ss-book.is-conflict { background: #d8dbe2; color: #697187!important; cursor: not-allowed; }
.ss-conflict-note { color: #7a5360; font-size: .72rem; font-weight: 900; }
.ss-toast.is-error { background: #a5303d; }
.ss-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: -70px; }
.ss-stats article { min-height: 170px; display: flex; flex-direction: column; justify-content: space-between; padding: 26px; border-radius: 24px; background: #fff; box-shadow: 0 12px 30px rgba(23,32,57,.08); }
.ss-stats article:nth-child(2) { background: #fff0a7; }
.ss-stats article:nth-child(3) { background: #c9eee7; }
.ss-stats strong { color: var(--blue); font-size: 4rem; line-height: 1; }
.ss-stats span { font-weight: 900; }
.ss-autosave-status { padding: 12px 14px; border-radius: 12px; background: var(--paper); color: #687085; font-size: .84rem; }
.ss-day-grid { display: grid; grid-template-columns: 82px minmax(0, 1fr); grid-template-rows: repeat(var(--grid-rows), minmax(44px, auto)); column-gap: 12px; padding: 24px; min-width: 0; }
.ss-grid-time { grid-column: 1; align-self: start; color: var(--blue); font-weight: 950; line-height: 1; transform: translateY(-.45em); }
.ss-grid-event { min-width: 0; padding: 3px 0; z-index: 1; }
.ss-grid-event { display: block; align-self: stretch; grid-column: 2; width: calc((100% - (var(--event-lanes) - 1) * 12px) / var(--event-lanes)); margin-left: calc(var(--event-lane) * (100% + 12px) / var(--event-lanes)); min-width: 0; border:0; border-radius:0; padding:4px 0; background:transparent; }
.ss-grid-event .ss-slot-body { height: 100%; min-height: 0; overflow: visible; display: flex; flex-direction: column; background: #fff; border-radius: 12px; border-left: 7px solid var(--yellow); padding: 12px; box-shadow: 0 5px 15px rgba(23,32,57,.08); }
.ss-day > header, .ss-day > header h3 { color: #fff; }
.ss-function.is-blue, .ss-function.is-blue h3, .ss-function.is-blue p, .ss-function.is-blue > b { color: #fff; }
.ss-grid-event.ss-slot-campus .ss-slot-body { border-color: var(--coral); }
.ss-grid-event.ss-slot-verpflegung .ss-slot-body { border-color: #82afea; background: #e7f1ff; }
.ss-grid-event footer { margin-top: auto; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ss-grid-event h4 { margin: 7px 0; color: var(--blue); }

.ss-id-page { min-height: 100vh; background: var(--paper); }
.ss-id-layout { width: min(1180px, calc(100% - 36px)); margin: 52px auto 90px; display: grid; grid-template-columns: 360px minmax(0,1fr); gap: 28px; align-items: start; }
.ss-student-card { position: sticky; top: 24px; overflow: hidden; border-radius: 30px; background: var(--blue); color: #fff; box-shadow: 16px 18px 0 var(--yellow); }
.ss-student-photo { aspect-ratio: 1; width: 100%; object-fit: cover; background: #d8e1fb; }
.ss-student-placeholder { aspect-ratio: 1; display: grid; place-items: center; background: var(--teal); color: var(--blue); font-size: 7rem; font-weight: 950; }
.ss-student-info { padding: 30px; }
.ss-student-info small { color: #bfcdf7; text-transform: uppercase; letter-spacing: .12em; font-weight: 900; }
.ss-student-info h1 { margin: 8px 0 18px; font-size: 2.6rem; line-height: .95; }
.ss-student-info p { line-height: 1.55; }
.ss-personal-plan { display: flex; flex-direction: column; gap: 18px; }
.ss-personal-head { padding: 30px; border-radius: 28px; background: var(--teal); color: var(--blue); }
.ss-personal-head h2 { margin: 8px 0; font-size: clamp(2.3rem,5vw,4.5rem); line-height: .95; letter-spacing: -.05em; }
.ss-personal-item { display: grid; grid-template-columns: 110px minmax(0,1fr) auto; gap: 20px; align-items: center; padding: 22px; border-radius: 22px; background: #fff; border-left: 8px solid var(--yellow); }
.ss-personal-item.is-trainer { border-color: var(--coral); }
.ss-personal-time { color: var(--blue); font-weight: 950; }
.ss-personal-time small { display: block; color: #6c7485; }
.ss-personal-item h3 { margin: 0 0 6px; color: var(--blue); }
.ss-personal-badge { padding: 8px 11px; border-radius: 999px; background: var(--paper); font-size: .72rem; font-weight: 900; }

@media(max-width:800px){.ss-day{overflow:visible}.ss-day-grid{display:block;min-width:0;padding:12px}.ss-grid-time{display:none}.ss-grid-event{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;width:100%;margin:0;padding:5px 0}.ss-grid-event::before{content:attr(data-start);align-self:start;padding-top:10px;color:var(--blue);font-size:.72rem;font-weight:950;line-height:1}.ss-grid-event .ss-slot-body{height:auto;min-width:0}.ss-grid-event footer{margin-top:10px}.ss-stats{grid-template-columns:1fr;margin-top:-60px}.ss-id-layout{grid-template-columns:1fr}.ss-student-card{position:static;max-width:430px}.ss-personal-item{grid-template-columns:82px minmax(0,1fr)}.ss-personal-badge{grid-column:2}}
.ss-form-shell.single,.ss-training-editor,.ss-gallery-shell{max-width:1180px;margin:60px auto;padding:0 24px}.ss-form-shell.single{display:block}.ss-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ss-field input,.ss-field select{width:100%;border:2px solid #dedbd2;border-radius:14px;padding:13px;background:#fff;font:inherit}.ss-check{display:flex;gap:10px;align-items:center;margin:20px 0;font-weight:800}.ss-profile-photo{display:flex;align-items:center;gap:24px}.ss-profile-photo img{width:120px;height:120px;border-radius:24px;object-fit:cover}.ss-training-editor{display:grid;gap:28px}.ss-training-editor .ss-form-card header{display:flex;justify-content:space-between;gap:20px}.ss-training-editor h2{margin:10px 0}.ss-status{align-self:flex-start;background:#e8edf9;color:var(--blue);padding:8px 12px;border-radius:999px;font-weight:900}.ss-gallery-shell{display:grid;gap:34px}.ss-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ss-gallery-grid figure{margin:0;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 8px 25px rgba(23,32,57,.08)}.ss-gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.ss-gallery-grid figcaption{display:flex;flex-direction:column;gap:6px;padding:18px}.ss-gallery-grid small{color:#697187}.ss-upload-progress{font-weight:800;color:var(--blue)}
@media(max-width:800px){.ss-field-row,.ss-gallery-grid{grid-template-columns:1fr}.ss-profile-photo{align-items:flex-start;flex-direction:column}.ss-training-editor .ss-form-card header{flex-direction:column}}
.ss-privacy-check{display:flex;align-items:flex-start;gap:12px;margin:22px 0;padding:18px;border-radius:16px;background:#edf5ff;line-height:1.5}.ss-privacy-check input{margin-top:4px;flex:0 0 auto}.ss-training-modal{width:min(1240px,calc(100vw - 28px));padding:0;overflow:hidden}.ss-training-iframe{display:block;width:100%;height:min(900px,92vh);border:0;background:var(--paper)}.ss-embed-form{min-height:100vh;background:var(--paper);padding:22px}.ss-embed-form .ss-training-editor{max-width:none;margin:0;padding:0}.ss-embed-form .ss-form-card{margin:0}
