/* ========== Views: Cards, Kanäle, Kalender, … (index.php + styleguide) ========== */
.robby-cards-wrap {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.robby-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--robby-space-2);
  list-style: none;
  margin: 0;
  padding: 0;
}
.robby-cards--event-location,
.robby-cards--teams,
.robby-cards--formel1,
.robby-cards--soccer,
.robby-cards--presentation,
.robby-cards--channel,
.robby-cards--calendar,
.robby-cards--subscriptions,
.robby-cards--channels-list {
  gap: var(--robby-space-1);
}
/* ?view=channels (Todo 002 channels.mdc): größere Texte, Follower-Button rechts in einer Zeile */
.robby-view--channels .robby-view-title {
  font-size: var(--robby-font-size-2xl);
  font-weight: 700;
  margin-bottom: var(--robby-space-3);
}
.robby-view--channels .robby-cards-empty {
  font-size: var(--robby-font-size-lg);
  line-height: 1.5;
}
.robby-view--channels .robby-channels-search-status {
  margin: -0.25rem 0 var(--robby-space-3, 1rem);
  font-size: var(--robby-font-size-base);
  color: var(--robby-text-muted, #666);
}
.robby-view--channels .robby-card--channels-list .robby-card__line.robby-channel-row {
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--robby-space-2) var(--robby-space-3);
  font-size: var(--robby-font-size-lg);
  line-height: 1.45;
  padding: var(--robby-space-3) var(--robby-space-4);
}
/* Todo 016: gestapelte Zeile – keine 2-Spalten-Grid, Buttons linksbündig, Beschreibung darunter */
.robby-view--channels .robby-card--channels-list .robby-card__line.robby-channel-row.robby-channel-row--stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex-wrap: unset;
  justify-content: flex-start;
  gap: var(--robby-space-2, 0.5rem);
}
.robby-view--channels .robby-channel-row__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.75rem;
  width: 100%;
  order: 1;
}
.robby-view--channels .robby-channel-row__head .robby-channel-private {
  margin-left: 0;
}
.robby-view--channels .robby-channel-active-inline {
  font-size: var(--robby-font-size-sm, 0.875rem);
  color: var(--robby-text-muted, #666);
  font-weight: 500;
}
/* Legacy: altes 2er-Grid (falls noch Klassen im Cache) */
.robby-view--channels .robby-card--channels-list .robby-card__line.robby-channel-row.robby-channel-row--grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(10rem, 38%);
  align-items: start;
  flex-wrap: unset;
  justify-content: unset;
  column-gap: var(--robby-space-4, 1.25rem);
  row-gap: var(--robby-space-2, 0.5rem);
}
.robby-view--channels .robby-channel-row__text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}
.robby-view--channels .robby-channel-row__text .robby-channel-name {
  font-size: var(--robby-font-size-xl);
  font-weight: 600;
  color: var(--robby-text);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.robby-view--channels .robby-channel-private {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: 0.5rem;
  vertical-align: middle;
  gap: 0.25rem;
}
.robby-view--channels .robby-channel-private-label {
  font-size: var(--robby-font-size-sm, 0.875rem);
  font-weight: 500;
}
.robby-view--channels .robby-channel-private .robby-icon {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
  flex-shrink: 0;
}
.robby-view--channels .robby-channel-private--yes {
  color: #2e7d32;
}
.robby-view--channels .robby-channel-private--yes .robby-icon {
  fill: #2e7d32;
}
.robby-view--channels .robby-channel-private--no {
  color: #c62828;
}
.robby-view--channels .robby-channel-private--no .robby-icon {
  fill: #c62828;
}
.robby-view--channels .robby-channel-row__text .robby-channel-category {
  display: inline-block;
  margin-left: 0.5rem;
  font-size: var(--robby-font-size-sm, 0.875rem);
  color: var(--robby-text-muted, #666);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.robby-view--channels .robby-channel-row__text .robby-channel-type {
  font-size: var(--robby-font-size-base);
  color: var(--robby-text-muted, #666);
  font-weight: 500;
}
.robby-view--channels .robby-channel-row__text .robby-channel-description {
  margin: 0.35rem 0 0.5rem;
  max-width: 100%;
  font-size: var(--robby-font-size-base);
  line-height: 1.45;
  color: var(--robby-text-muted, #555);
  font-weight: 400;
  order: 2;
}
/* Suchtreffer: ein Begriff = eine helle Farbe (Index aus Suchliste, max. 10 Farben) */
.robby-view--channels .robby-channels-hit {
  padding: 0.05em 0.2em;
  border-radius: 0.2em;
  font-weight: 600;
  color: inherit;
}
.robby-view--channels .robby-channels-hit--0 { background: #ffe8e8; }
.robby-view--channels .robby-channels-hit--1 { background: #fff3d6; }
.robby-view--channels .robby-channels-hit--2 { background: #e8f8e0; }
.robby-view--channels .robby-channels-hit--3 { background: #dff6ff; }
.robby-view--channels .robby-channels-hit--4 { background: #eee8ff; }
.robby-view--channels .robby-channels-hit--5 { background: #ffe8f4; }
.robby-view--channels .robby-channels-hit--6 { background: #e8fff6; }
.robby-view--channels .robby-channels-hit--7 { background: #f5f0e6; }
.robby-view--channels .robby-channels-hit--8 { background: #e0ecff; }
.robby-view--channels .robby-channels-hit--9 { background: #f0e8dc; }
.robby-view--channels .robby-channel-row__actions {
  margin-left: 0;
  margin-top: 0.25rem;
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--robby-space-2, 0.5rem);
  min-width: 0;
  width: 100%;
  max-width: 100%;
  order: 3;
}
/* Alle Buttons in channels-View: minimale Höhe, max 3px Padding (.robby.robby-app … schlägt .robby .robby-btn) */
.robby.robby-app .robby-view--channels .robby-btn {
  padding: 3px 0.5rem;
  min-height: auto;
  line-height: 1.2;
  font-weight: 400;
}
.robby-view--channels .robby-channel-row--grid .robby-channel-row__actions {
  justify-self: stretch;
  margin-left: 0;
}
.robby-modal__body--follow-login .robby-follow-login-modal__text {
  margin: 0 0 var(--robby-space-3, 1rem);
  line-height: 1.5;
  color: var(--robby-text, #1a1a1a);
}
.robby-modal__body--follow-login .robby-follow-login-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--robby-space-2, 0.5rem);
  align-items: center;
}
.robby-modal__body--follow-login .robby-content-title--primary {
  font-size: var(--robby-font-size-base, 1rem);
  font-weight: 600;
  margin: 0 0 var(--robby-space-2, 0.5rem);
}
.robby-view--channels .robby-channels-follow-form {
  display: inline-flex;
  margin: 0;
  align-items: center;
}
.robby-view--channels .robby-btn--channels-follow-push,
.robby-view--channels .robby-btn--channels-followed,
.robby-view--channels .robby-btn--channels-paused {
  font-size: var(--robby-font-size-base);
  font-weight: 600;
  padding: 3px 0.5rem;
  min-height: auto;
  line-height: 1.2;
  white-space: nowrap;
  border: none;
  border-radius: var(--robby-radius-sm, 6px);
  cursor: pointer;
  color: #fff;
}
.robby-view--channels .robby-btn--channels-follow-push {
  background: #e65100;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
}
.robby-view--channels .robby-btn--channels-follow-push:hover,
.robby-view--channels .robby-btn--channels-follow-push:focus-visible {
  background: #ef6c00;
  outline: 2px solid rgba(230, 81, 0, 0.45);
  outline-offset: 2px;
}
.robby-view--channels .robby-btn--channels-followed {
  background: #2e7d32;
}
.robby-view--channels .robby-btn--channels-followed:hover,
.robby-view--channels .robby-btn--channels-followed:focus-visible {
  background: #388e3c;
  outline: 2px solid rgba(46, 125, 50, 0.45);
  outline-offset: 2px;
}
.robby-view--channels .robby-btn--channels-paused {
  background: #c62828;
}
.robby-view--channels .robby-btn--channels-paused:hover,
.robby-view--channels .robby-btn--channels-paused:focus-visible {
  background: #d32f2f;
  outline: 2px solid rgba(198, 40, 40, 0.45);
  outline-offset: 2px;
}
.robby.robby-app .robby-view--channels a.robby-btn--channels-follower {
  font-size: var(--robby-font-size-base);
  font-weight: 600;
  padding: 3px 0.5rem;
  min-height: auto;
  line-height: 1.2;
  white-space: nowrap;
  background: #1565c0;
  color: #fff;
  border: none;
  border-radius: var(--robby-radius-sm, 6px);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
}
.robby.robby-app .robby-view--channels a.robby-btn--channels-follower:hover,
.robby.robby-app .robby-view--channels a.robby-btn--channels-follower:focus-visible {
  background: #1976d2;
  color: #fff;
  outline: 2px solid rgba(21, 101, 192, 0.45);
  outline-offset: 2px;
}
.robby-view--channels .robby-btn--channels-events {
  font-size: var(--robby-font-size-base);
  font-weight: 600;
  padding: 3px 0.5rem;
  min-height: auto;
  line-height: 1.2;
  white-space: nowrap;
}

/* Follower-Liste: kompakter Titel, Kopfzeile mit Buttons (Todo 007) */
.robby-view--follower .robby-follower-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--robby-space-2, 0.5rem) var(--robby-space-3, 1rem);
  margin-bottom: var(--robby-space-3, 1rem);
}
.robby-view--follower .robby-follower-header__title {
  margin: 0;
  font-size: var(--robby-font-size-lg, 1.125rem);
  font-weight: 600;
  line-height: 1.35;
  flex: 1 1 auto;
  min-width: 0;
}
.robby-view--follower .robby-follower-header__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--robby-space-2, 0.5rem);
  margin-left: auto;
}
.robby-view--follower .robby-btn--follower-back,
.robby-view--follower .robby-btn--follower-invite {
  font-size: var(--robby-font-size-sm, 0.875rem);
  font-weight: 600;
  padding: 0.45rem 0.85rem;
  white-space: nowrap;
}

/* Einladung / Konto aktiviert (Todo 007) */
.robby-view--invite-follower .robby-view-title--invite {
  font-size: var(--robby-font-size-xl, 1.25rem);
  font-weight: 600;
}
.robby-invite-follower__intro {
  margin: 0 0 var(--robby-space-3, 1rem);
  color: var(--robby-text-muted, #555);
  font-size: var(--robby-font-size-base);
}
.robby-invite-follower__form {
  max-width: 28rem;
}
.robby-invite-follower__field {
  margin-bottom: var(--robby-space-3, 1rem);
}
.robby-invite-follower__label {
  display: block;
  font-size: var(--robby-font-size-sm);
  font-weight: 500;
  margin-bottom: 0.25rem;
}
.robby-invite-follower__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--robby-space-2, 0.5rem);
  margin-top: var(--robby-space-4, 1.25rem);
}
.robby-invite-follower__flash--ok {
  padding: 0.65rem 1rem;
  border-radius: var(--robby-radius-sm, 6px);
  background: rgba(46, 125, 50, 0.12);
  color: #1b5e20;
  margin-bottom: var(--robby-space-3, 1rem);
}
.robby-invite-follower__flash--err {
  color: #b71c1c;
}
.robby-view--account-activated .robby-view-title--compact {
  font-size: var(--robby-font-size-xl, 1.25rem);
}
.robby-account-activated__box {
  max-width: 36rem;
}
.robby-account-activated__text {
  font-size: var(--robby-font-size-base);
  line-height: 1.55;
  margin: 0 0 var(--robby-space-3, 1rem);
}
.robby-account-activated__signoff {
  margin: 0 0 var(--robby-space-3, 1rem);
  font-size: var(--robby-font-size-base);
}
.robby-account-activated__actions {
  margin-top: var(--robby-space-2, 0.5rem);
}
.robby-account-activated--error {
  color: #b71c1c;
}

/* Kanalbesitzer: Headline „Event anlegen“, Event-Liste Edit-Icon (Todo 004 channels.mdc) */
.robby-channel-headline__line--owner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--robby-space-2, 0.5rem);
  width: 100%;
}
.robby-channel-headline__line--owner .robby-channel-headline__title {
  flex: 1 1 auto;
  min-width: 0;
}
.robby-channel-headline__btn-new-event {
  margin-left: auto;
  flex-shrink: 0;
}
.robby-card__line--channel-owner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem 0.35rem;
}
.robby-channel-event-edit {
  margin-left: auto;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem;
  color: var(--robby-text-muted, #666);
  border-radius: var(--robby-radius-sm, 4px);
}
.robby-channel-event-edit:hover,
.robby-channel-event-edit:focus-visible {
  color: var(--robby-primary, #1976d2);
  background: var(--robby-surface-alt, rgba(0, 0, 0, 0.05));
}
.robby-channel-event-edit__icon {
  display: block;
}
.robby-event-editor-flash {
  margin: 0 0 var(--robby-space-3, 1rem);
  padding: 0.65rem 1rem;
  border-radius: var(--robby-radius-sm, 4px);
  font-size: var(--robby-font-size-base);
}
.robby-event-editor-flash--ok {
  background: rgba(34, 139, 34, 0.12);
  color: #1b5e20;
}
.robby-event-editor-flash--err {
  background: rgba(211, 47, 47, 0.12);
  color: #b71c1c;
}
.robby-view--event-editor .robby-event-editor-wrap {
  max-width: 100%;
  margin: 0 auto;
}
.robby-event-editor__header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--robby-space-3, 1rem);
  gap: var(--robby-space-2, 0.5rem);
}
.robby.robby-app .robby-view--event-editor .robby-event-editor__title {
  font-size: var(--robby-font-size-base, 1rem);
  font-weight: 600;
  margin: 0;
  flex: 0 0 auto;
}
.robby-event-editor__channel-hint {
  font-size: var(--robby-font-size-base);
  color: var(--robby-text-muted, #666);
  flex: 0 0 auto;
  margin: 0;
}
.robby.robby-app .robby-view--event-editor .robby-event-editor__card {
  background: #fff8e1;
  border: 1px solid var(--robby-border, #e0e0e0);
  border-radius: var(--robby-radius-md, 8px);
  padding: var(--robby-space-3, 1rem);
  margin-bottom: var(--robby-space-3, 1rem);
}
.robby-event-editor__group {
  border: none;
  padding: 0;
  margin: 0;
}
.robby-event-editor__group-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-bottom: var(--robby-space-2, 0.5rem);
}
.robby-event-editor__legend {
  font-weight: 600;
  font-size: var(--robby-font-size-lg);
  padding: 0;
  margin: 0;
  flex: 0 0 auto;
}
.robby-event-editor__geo-btn {
  flex: 0 0 auto;
  margin-left: auto;
}
.robby-event-editor__label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--robby-space-2);
  margin-bottom: 10px;
  font-size: var(--robby-font-size-sm);
}
.robby-event-editor__label-text {
  font-weight: 500;
  font-size: var(--robby-font-size-sm);
  color: var(--robby-text);
  white-space: nowrap;
  flex-shrink: 0;
  min-width: 8rem;
}
.robby-event-editor__label .robby-form-input {
  flex: 1 1 auto;
  min-width: 0;
  margin-top: 0;
  width: 100%;
  font-size: calc(var(--robby-font-size-base, 1rem) + 1pt);
}
.robby-event-editor__grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px var(--robby-space-4);
  width: 100%;
}
.robby-event-editor__label--full-width {
  grid-column: 1 / -1;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}
.robby-event-editor__label--full-width .robby-event-editor__label-text {
  min-width: auto;
  margin-bottom: var(--robby-space-1);
}
.robby-event-editor__label--full-width .robby-form-input {
  width: 100%;
}
.robby-event-editor__grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px var(--robby-space-4);
  width: 100%;
}
.robby-event-editor__grid-4 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px var(--robby-space-4);
  width: 100%;
}
@media (max-width: 768px) {
  .robby-event-editor__grid-2,
  .robby-event-editor__grid-3,
  .robby-event-editor__grid-4 {
    grid-template-columns: 1fr;
  }
}
.robby-event-editor__textarea {
  min-height: 5rem;
  resize: vertical;
}
.robby-event-editor__req {
  color: #c62828;
}
.robby-event-editor__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--robby-space-2, 0.5rem);
  margin-top: var(--robby-space-4, 1.25rem);
}
.robby.robby-app .robby-view--event-editor .robby-btn,
.robby.robby-app .robby-view--event-editor .robby-btn--primary,
.robby.robby-app .robby-view--event-editor .robby-btn--secondary {
  padding: 3px 0.5rem;
  min-height: auto;
  line-height: 1.2;
  min-width: auto;
  font-weight: 400;
}
@media (max-width: 768px) {
  .robby.robby-app .robby-view--event-editor .robby-btn {
    padding: 3px 0.4rem;
    min-height: auto;
    line-height: 1.2;
  }
}
@media (max-width: 480px) {
  /* Schmale Viewports: rechte Spalte etwas breiter, Buttons umbrechen */
  .robby-view--channels .robby-card--channels-list .robby-card__line.robby-channel-row.robby-channel-row--grid {
    grid-template-columns: minmax(0, 1fr) minmax(9rem, 42%);
  }
  .robby-view--channels .robby-channel-row--grid .robby-channel-row__actions {
    max-width: 100%;
    justify-content: flex-end;
  }
  .robby-view--channels .robby-card--channels-list .robby-card__line.robby-channel-row {
    flex-wrap: nowrap;
    padding-left: var(--robby-space-3);
    padding-right: var(--robby-space-3);
  }
  .robby-view--channels .robby-channel-row__text .robby-channel-name {
    font-size: var(--robby-font-size-lg);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
  }
  .robby.robby-app .robby-view--channels .robby-btn {
    padding: 3px 0.4rem;
    min-height: auto;
    line-height: 1.2;
    font-size: var(--robby-font-size-sm);
  }
}
.robby-card--teams .robby-card__line-right--teams {
  display: inline-flex;
  align-items: center;
  gap: var(--robby-space-1) 12px;
  margin-left: auto;
  flex-shrink: 0;
  min-width: 0;
}
.robby-card--teams .robby-card__value--location {
  text-align: right;
  min-width: 0;
  flex: 1 1 auto;
  max-width: 14em;
}
.robby-card--teams .robby-card__line-right--teams .robby-card__line-subscription {
  margin-left: 0;
  flex-shrink: 0;
}
.robby-card--teams .robby-card__line-subscription {
  flex-shrink: 0;
}
/* Soccer: kompakte Zeile analog calendar */
.robby-card__line--soccer-match {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--robby-space-1) var(--robby-space-2);
}
.robby-card__line--soccer-match .robby-soccer-match-meta {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: var(--robby-space-1) var(--robby-space-2);
  flex-shrink: 1;
  min-width: 0;
}
.robby-card__line--soccer-match .robby-soccer-match-home {
  display: inline-flex;
  align-items: center;
  gap: var(--robby-space-1);
  min-width: 0;
  flex-shrink: 1;
  overflow-wrap: anywhere;
}
.robby-card__line--soccer-match .robby-soccer-match-sep {
  color: var(--robby-gray);
  font-weight: 300;
  flex-shrink: 0;
}
.robby-card__line--soccer-match .robby-soccer-match-away {
  display: inline-flex;
  align-items: center;
  gap: var(--robby-space-1);
  min-width: 0;
  flex-shrink: 1;
  text-align: left;
  overflow-wrap: anywhere;
}
.robby-card--subscriptions .robby-card__line-right {
  margin-left: auto;
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--robby-space-1) var(--robby-space-2);
}
.robby-card--subscriptions .robby-card__line-actions {
  display: inline-flex;
  align-items: center;
  gap: var(--robby-space-1);
}
/* Subscriptions: min-width pro Spalte (32px, 15em, 15em, 10em, 15em, 32px, 15em, 6em) */
.robby-card--subscriptions .robby-card__icon-wrap {
  min-width: 24px;
  max-width: 24px;
}
.robby-card--subscriptions .robby-sub-col-name {
  min-width: 8em;
  flex: 0 0 8em;
  max-width: 8em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.robby-card--subscriptions .robby-sub-col-category {
  min-width: 6em;
  flex: 0 0 6em;
  max-width: 6em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.robby-card--subscriptions .robby-sub-col-filter {
  min-width: 6em;
}
.robby-card--subscriptions .robby-sub-col-reminder {
  min-width: 15em;
}
.robby-card--subscriptions .robby-subscriptions-push-toggle {
  min-width: 32px;
}
.robby-card--subscriptions .robby-sub-col-alarmtime {
  min-width: 10em;
  flex: 0 0 10em;   /* Breite auch bei leerem Inhalt "–" halten */
  flex-shrink: 0;
  font-weight: 600;
}
/* Alarmzeit-Farben analog ?view=soccer: heute rot, nächste 7 Tage orange, sonst grün */
.robby-card--subscriptions .robby-sub-col-alarmtime.robby-event-date--red {
  color: #c62828;
}
.robby-card--subscriptions .robby-sub-col-alarmtime.robby-event-date--orange {
  color: #e65100;
}
.robby-card--subscriptions .robby-sub-col-alarmtime.robby-event-date--green {
  color: #2e7d32;
}
.robby-card--subscriptions .robby-sub-col-alarmtime.robby-subscriptions-alarmzeit--sent {
  color: var(--robby-success-text, #0a5f0a);
}
.robby-card--subscriptions .robby-card__line-actions {
  min-width: 4em;
}
/* Downline-Cards: Checkbox rechtsbündig */
.robby-card--downline .robby-downline-checkbox-wrap {
  margin-left: auto;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
/* Push-Form: Textarea vergrößert */
.robby-push-form .robby-push-form__input {
  width: 100%;
  box-sizing: border-box;
  min-height: 120px;
  margin-bottom: var(--robby-space-2, 0.5rem);
}
/* Push-Form: sichtbare Erfolgs-/Fehlermeldung */
.robby-push-form__message {
  padding: 0.75rem 1rem;
  margin-top: var(--robby-space-2, 0.5rem);
  border-radius: var(--robby-radius, 6px);
  display: block;
}
.robby-push-form__message[hidden] {
  display: none;
}
.robby-push-form__message.robby-form-message--success {
  background: var(--robby-success-bg, #d4edda);
  color: var(--robby-success-text, #155724);
  border: 1px solid var(--robby-success-border, #c3e6cb);
}
.robby-push-form__message.robby-form-message--error {
  background: var(--robby-error-bg, #f8d7da);
  color: var(--robby-error-text, #721c24);
  border: 1px solid var(--robby-error-border, #f5c6cb);
}
/* Teams-Cards: Checkbox ganz rechts, klein, orange wenn gecheckt */
.robby-card--teams .robby-teams-checkbox-checked-wrap .robby-teams-subscription-checkbox--checked {
  width: 14px;
  height: 14px;
  min-width: 14px;
  min-height: 14px;
  accent-color: var(--robby-primary, #f80);
}
.robby-card--teams .robby-teams-checkbox-empty,
.robby-card--teams .robby-teams-subscription-checkbox--link .robby-teams-checkbox-empty {
  width: 14px;
  height: 14px;
  min-width: 14px;
  min-height: 14px;
}
.robby-card--formel1 .robby-card__line-provider,
.robby-card--presentation .robby-card__line-provider,
.robby-card--channel .robby-card__line-provider {
  margin-left: auto;
  flex-shrink: 0;
}
.robby-card--formel1 .robby-card__line .robby-card__flag,
.robby-card--presentation .robby-card__line .robby-card__flag,
.robby-card--channel .robby-card__line .robby-card__flag {
  vertical-align: middle;
  width: 24px;
  height: 16px;
  margin-right: 2px;
}
.robby-card {
  background: var(--robby-bg);
  border: var(--robby-border);
  border-radius: var(--robby-radius);
  box-shadow: var(--robby-shadow);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.robby-card--compact {
  border-radius: var(--robby-radius-sm);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.robby-card--info {
  background: #e3f2fd;
  border-left: 4px solid var(--robby-primary);
  color: var(--robby-primary-dark);
}
.robby-card--info .robby-card__text {
  margin: 0;
  flex: 1 1 auto;
}
.robby-card--info .robby-card__action {
  flex-shrink: 0;
}
.robby .robby-msg--empty-search .robby-btn {
  margin-top: var(--robby-space-2);
}
.robby-card__line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--robby-space-1) var(--robby-space-2);
  padding: var(--robby-space-2) var(--robby-space-3);
  font-size: var(--robby-font-size-sm);
  color: var(--robby-text);
  line-height: 1.4;
}
.robby-card__line .robby-card__icon-link,
.robby-card__line .robby-card__icon-wrap {
  flex-shrink: 0;
}
.robby-card__line .robby-card__icon {
  display: block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
}
.robby-card__icon--flag {
  border-radius: 2px;
  object-fit: cover;
}
.robby-card__title-group {
  display: inline-flex;
  align-items: baseline;
  gap: 1em;
  flex-wrap: nowrap;
  margin-right: 1em;
  min-width: 0;
}
.robby-card__title-group .robby-card__name {
  min-width: 0;
}
.robby-cards--presentation .robby-card__title-group .robby-card__name {
  min-width: 12em;
}
.robby-cards--calendar .robby-card__title-group {
  flex-wrap: wrap;
  min-width: 0;
}
.robby-cards--calendar .robby-card__title-group .robby-card__name {
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.robby-card__name {
  font-weight: 600;
  color: var(--robby-text);
}
.robby-card__categories {
  color: var(--robby-primary);
  font-size: inherit;
  min-width: 0;
}
.robby-card__category {
  color: var(--robby-text-muted);
  font-size: var(--robby-font-size-xs);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.robby-card__description {
  margin-top: var(--robby-space-2, 0.5rem);
  padding-top: var(--robby-space-2, 0.5rem);
  color: var(--robby-text-muted);
  font-size: var(--robby-font-size-sm);
  line-height: 1.5;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.robby-card__cat {
  color: var(--robby-text-muted);
  font-size: var(--robby-font-size-xs);
}
.robby-card__sep {
  color: var(--robby-gray);
  font-weight: 300;
  user-select: none;
}
.robby-card__line .robby-card__value {
  min-width: 0;
  overflow-wrap: anywhere;
}
.robby-card__line .robby-card__link {
  color: var(--robby-link-color, #06c);
  text-decoration: underline;
}
.robby-card__line .robby-card__flag {
  vertical-align: middle;
  width: 24px;
  height: 16px;
}
.robby-cards-empty {
  margin: var(--robby-space-4) 0;
  color: var(--robby-text-muted);
  font-size: var(--robby-font-size-sm);
}
.robby-cards-empty__searchkeys {
  color: var(--robby-primary, #ff8c00);
  font-weight: 500;
}
.robby-cards-wrap .robby-events-count {
  margin-top: var(--robby-space-4);
}

.robby-events-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--robby-font-size-sm);
}

.robby-events-th,
.robby-events-td {
  padding: var(--robby-space-2) 3px;
  text-align: left;
  vertical-align: top;
  border-bottom: var(--robby-border);
}

.robby-events-th {
  font-weight: 600;
  color: var(--robby-secondary, #666);
  background: rgba(255, 152, 0, 0.06);
}

.robby-events-tr:nth-child(even) .robby-events-td {
  background: rgba(255, 152, 0, 0.06);
}

.robby-events-th--icon,
.robby-events-td--icon {
  width: var(--robby-icon-size);
  min-width: var(--robby-icon-size);
  text-align: center;
}

.robby-events-th--icon .robby-events-analog-clock,
.robby-events-td--icon .robby-events-category-icon,
.robby-events-td--icon .robby-events-analog-clock {
  max-height: var(--robby-icon-size);
  height: var(--robby-icon-size);
  width: auto;
  display: block;
  margin: 0 auto;
}

.robby-events-th--icon .robby-events-analog-clock .robby-analog-clock-svg,
.robby-events-td--icon .robby-events-analog-clock .robby-analog-clock-svg {
  width: var(--robby-icon-size);
  height: var(--robby-icon-size);
}

.robby-soccer-title {
  margin: 0 0 var(--robby-space-4);
  font-size: var(--robby-font-size-xl);
  font-weight: 600;
}

.robby-soccer-wer-was-wo {
  display: inline-block;
}

.robby-soccer-wer-was-wo__league {
  font-weight: 600;
}

.robby-soccer-wer-was-wo__sep {
  margin: 0 var(--robby-space-1);
  color: var(--robby-gray, #666);
}

.robby-soccer-wer-was-wo__match {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--robby-space-1);
}

.robby-soccer-wer-was-wo__home {
  display: inline-flex;
  align-items: center;
  gap: var(--robby-space-1);
  min-width: 10em;
  flex-shrink: 0;
}

.robby-soccer-wer-was-wo__away {
  display: inline-flex;
  align-items: center;
  gap: var(--robby-space-1);
  min-width: 0;
}

.robby-soccer-wer-was-wo__icon {
  vertical-align: middle;
  flex-shrink: 0;
}

.robby-soccer-wer-was-wo__vs {
  margin: 0 var(--robby-space-1);
  color: var(--robby-gray, #666);
}

/* Hervorhebung von Suchbegriffen (verschiedene helle Hintergründe) */
.robby-highlight {
  padding: 0 2px;
  border-radius: 2px;
}
.robby-highlight--1 { background-color: #fff3cd; }
.robby-highlight--2 { background-color: #cce5ff; }
.robby-highlight--3 { background-color: #d4edda; }
.robby-highlight--4 { background-color: #f8d7da; }
.robby-highlight--5 { background-color: #e2d5f1; }
.robby-highlight--6 { background-color: #fff8e1; }

/* Todo 017: Teams-Subscription-Spalte (Alarm/Checkbox) */
.robby-teams-subscription-checkbox {
  display: inline-block;
  vertical-align: middle;
}
.robby-teams-subscription-checkbox--checked {
  accent-color: #080;
  cursor: default;
}

/* ?view=teams: angeklickte (abonnierte) Checkbox größer und orange */
.robby-teams-checkbox-checked-wrap {
  display: inline-block;
  vertical-align: middle;
}
.robby-teams-checkbox-checked-wrap .robby-teams-subscription-checkbox--checked {
  width: var(--robby-icon-size);
  height: var(--robby-icon-size);
  min-width: var(--robby-icon-size);
  min-height: var(--robby-icon-size);
  accent-color: var(--robby-primary, #f80);
  cursor: default;
}

/* Subscriptions: aktivierte Checkbox gleiche Größe wie Delete-Icon (24px), magenta */
.robby-subscriptions-push-toggle .robby-teams-subscription-checkbox--checked {
  display: inline-block;
  width: 24px;
  height: 24px;
  box-sizing: border-box;
  border: 2px solid magenta;
  background: rgba(255, 0, 255, 0.15);
  border-radius: 2px;
  color: magenta;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  pointer-events: none;
}
.robby-subscriptions-push-toggle .robby-teams-subscription-checkbox--checked::after {
  content: "✓";
}
.robby-teams-subscription-checkbox--link {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.robby-teams-checkbox-empty {
  display: inline-block;
  width: 24px;
  height: 24px;
  border: 2px solid #666;
  border-radius: 2px;
  background: #fff;
  box-sizing: border-box;
}
.robby-teams-checkbox-empty--disabled {
  border-color: #ccc;
  background: var(--robby-bg, #f5f5f5);
  cursor: default;
}

.robby-subscriptions-push-toggle {
  display: inline-block;
  min-width: 24px;
  min-height: 24px;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.robby-subscriptions-push-toggle:hover {
  opacity: 0.85;
}
.robby-subscriptions-push-toggle .robby-teams-checkbox-empty.robby-subscriptions-push-toggle--off {
  cursor: pointer;
  border-color: #666;
  pointer-events: none;
}

/* Subscriptions: Edit/Delete ohne Rand und grauen Hintergrund */
.robby-subscriptions-td--actions .robby-subscriptions-action {
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.robby-subscriptions-td--actions .robby-subscriptions-action:hover {
  background: transparent;
  opacity: 0.85;
}

.robby-subscriptions-ck-teams {
  font-size: 0.9rem;
  color: var(--robby-text-muted, #666);
  margin-top: 0.25rem;
  margin-bottom: var(--robby-space-2);
}
.robby-subscriptions-ck-teams code {
  font-size: 0.85em;
  background: var(--robby-gray);
  padding: 0.15em 0.4em;
  border-radius: 3px;
}

.robby-subscriptions-alarmzeit--sent {
  color: var(--robby-success-text, #0a5f0a);
  font-weight: 500;
}

.robby-soccer-th-vs,
.robby-soccer-td-vs {
  width: 1%;
  white-space: nowrap;
  text-align: center;
}

.robby-events-td--place {
  display: block;
}

.robby-events-td--place .robby-events-flag {
  display: inline-block;
  vertical-align: middle;
  margin-right: var(--robby-space-1);
}

.robby-events-th--km,
.robby-events-td--km {
  text-align: right;
  font-size: calc(1em - 1pt);
}

.robby-events-td--km-magenta { color: magenta; }
.robby-events-td--km-red { color: #c00; }
.robby-events-td--km-orange { color: var(--robby-primary, #f80); }
.robby-events-td--km-green { color: #080; }

.robby-events-td--place > span {
  display: inline;
}

.robby-events-place-content {
  flex: 1;
  min-width: 0;
}

.robby-events-place-map {
  flex-shrink: 0;
  display: inline-flex;
  line-height: 0;
}

.robby-events-analog-clock {
  display: inline-block;
  max-width: 24px;
  max-height: 24px;
  color: magenta;
}

.robby-analog-clock-svg {
  display: block;
}

.robby-events-analog-clock .robby-analog-clock-svg circle,
.robby-events-analog-clock .robby-analog-clock-svg line {
  stroke: magenta;
  stroke-width: 2.5px;
}

.robby-events-analog-clock .robby-analog-clock-svg line[id="robby-clock-sec"] {
  stroke-width: 1.5px;
}

.robby-events-category-icon,
.robby-events-flag {
  display: inline-block;
  vertical-align: middle;
}

.robby-events-flag {
  margin-right: var(--robby-space-1);
}

.robby-events-td--beginn {
  min-width: 11rem;
}

.robby-events-beginn-line {
  display: inline-block;
  white-space: nowrap;
}

.robby-events-beginn-line .robby-event-date {
  display: inline;
  margin-right: var(--robby-space-1);
}

.robby-events-beginn-line .robby-event-time {
  margin-right: var(--robby-space-1);
}

.robby-events-beginn-map {
  display: inline-flex;
  vertical-align: middle;
}

/* Vertikales Mobil-Layout: Content-Tabelle und Abstände (max. 5px Rand) */
@media (max-width: 767px) {
  /* Hohe Spezifität statt !important (Konflikt mit .robby-container / Tabellenzellen) */
  .robby.robby-app main.robby-app-content .robby-container.robby-app-content-inner {
    margin-left: 0;
    margin-right: 0;
  }
  .robby.robby-app .robby-app-content .robby-events-table .robby-events-th,
  .robby.robby-app .robby-app-content .robby-events-table .robby-events-td {
    padding-left: 3px;
    padding-right: 3px;
  }
  .robby.robby-app .robby-app-content .robby-events-table th:first-child,
  .robby.robby-app .robby-app-content .robby-events-table td.robby-events-td--icon {
    width: var(--robby-icon-size);
    min-width: var(--robby-icon-size);
    max-width: var(--robby-icon-size);
  }
  .robby.robby-app .robby-app-content .robby-events-table th:nth-child(2),
  .robby.robby-app .robby-app-content .robby-events-table td.robby-events-td--beginn {
    width: 90px;
    max-width: 90px;
    min-width: 90px;
    overflow-wrap: break-word;
    word-break: break-word;
  }
}

.robby-event-date {
  font-weight: 600;
}

.robby-event-date--red {
  color: #c62828;
}

.robby-event-date--orange {
  color: #e65100;
}

.robby-event-date--green {
  color: #2e7d32;
}

.robby-card__cfp-deadline {
  font-weight: 600;
}
.robby-cfp--past {
  color: #c62828;
}
.robby-cfp--soon {
  color: #e65100;
}
.robby-cfp--future {
  color: #2e7d32;
}

.robby-event-time {
  font-size: 0.875em;
  color: var(--robby-text-muted, #666);
}

.robby-events-td--title {
  font-weight: 500;
}

.robby-events-map-link {
  display: inline-flex;
}

.robby-events-map-link img {
  display: block;
}

.robby-events-map-empty {
  color: var(--robby-text-muted, #999);
}

.robby-events-provider-link {
  color: var(--robby-primary);
  text-decoration: none;
}

.robby-events-provider-link:hover {
  text-decoration: underline;
}

.robby-events-td--empty {
  text-align: center;
  color: var(--robby-text-muted, #999);
  font-style: italic;
}

.robby-events-pagination {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--robby-space-4);
  margin-top: var(--robby-space-6);
  padding: var(--robby-space-4) 0;
}

.robby-events-pagination__info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--robby-space-2) var(--robby-space-4);
  font-size: var(--robby-font-size-sm);
  color: var(--robby-text-muted, #666);
}

.robby-events-pagination__count {
  font-weight: 600;
  color: var(--robby-text);
}

.robby-events-pagination__range {
  color: var(--robby-text-muted, #666);
}

.robby-events-pagination__nav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: var(--robby-space-2) var(--robby-space-4);
}

.robby-events-pagination__link {
  display: inline-flex;
}

.robby-events-pagination__link:hover {
  opacity: 0.85;
}

.robby-events-pagination__placeholder {
  display: inline-block;
  width: var(--robby-icon-size);
  height: var(--robby-icon-size);
}

.robby-events-pagination__numbers {
  display: inline-flex;
  align-items: center;
  gap: var(--robby-space-1);
}

.robby-events-pagination__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--robby-icon-size);
  width: var(--robby-icon-size);
  height: var(--robby-icon-size);
  box-sizing: border-box;
  padding: 0;
  font-size: var(--robby-font-size-sm);
  font-weight: 600;
  color: var(--robby-primary);
  text-decoration: none;
  border: var(--robby-border);
  border-radius: var(--robby-radius-sm);
  background: var(--robby-bg);
  transition: background-color var(--robby-transition), color var(--robby-transition), border-color var(--robby-transition);
}

.robby-events-pagination__num:hover {
  background: var(--robby-gray);
  color: var(--robby-primary);
}

.robby-events-pagination__num--current {
  color: var(--robby-bg);
  background: var(--robby-primary);
  border-color: var(--robby-primary);
  cursor: default;
}

/* Filter-Zeile (Liga:, Buttons) als einzeilige Card */
.robby-cards--filter {
  gap: var(--robby-space-2);
  margin-bottom: var(--robby-space-2);
}
.robby-card__line--filter {
  padding: var(--robby-space-2) var(--robby-space-3);
  display: block;
}
.robby-teams-filter--in-card {
  margin: 0;
  width: 100%;
  flex-wrap: wrap;
}
.robby-card__filter-hint {
  margin: 0;
  padding: var(--robby-space-2) var(--robby-space-3) var(--robby-space-3);
  font-size: var(--robby-font-size-sm);
  color: var(--robby-text-muted, #666);
  line-height: 1.4;
  border-top: 1px solid var(--robby-gray, #eee);
}
.robby-card__filter-hint .robby-card__link {
  color: var(--robby-primary);
  text-decoration: underline;
}

.robby-teams-filter {
  margin-bottom: var(--robby-space-2);
  gap: var(--robby-space-2);
}

.robby-event-location-filter {
  margin-top: 5px;
  margin-bottom: 5px;
}
.robby-card__line.robby-el-headline-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--robby-space-1) var(--robby-space-2);
  font-size: var(--robby-font-size-base);
  font-weight: normal;
}
.robby-card__line.robby-el-headline-line .robby-channel-headline__title {
  font-size: var(--robby-font-size-lg);
  font-weight: 600;
}
.robby-card__line.robby-el-headline-line .robby-channel-headline__title {
  flex-shrink: 0;
  white-space: nowrap;
}
.robby-el-inline-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--robby-space-1) var(--robby-space-2);
  justify-content: flex-start;
  flex: 1 1 auto;
  min-width: 0;
}
.robby.robby-app .robby-teams-filter .robby-teams-filter__link--active-el {
  background: var(--robby-primary);
  color: var(--robby-bg);
  font-weight: 700;
}
.robby-el-inline-filter .robby-teams-filter__link {
  padding-top: 2px;
  padding-bottom: 2px;
  font-size: 0.8em;
}
.robby-teams-filter__label {
  font-weight: 600;
  color: var(--robby-text-muted, #666);
  margin-right: var(--robby-space-1);
}
/* Spezifisch: Liga-Filter-Buttons (Magenta) – überschreibt .robby a */
nav.robby-teams-filter .robby-teams-filter__link,
.robby-teams-filter .robby-teams-filter__link {
  display: inline-block;
  padding: var(--robby-space-1) var(--robby-space-2);
  border-radius: var(--robby-radius-sm);
  background: var(--robby-gray);
  color: var(--robby-text);
  font-weight: 600;
  text-decoration: none;
  transition: background-color var(--robby-transition), color var(--robby-transition);
}
.robby.robby-app .robby-teams-filter .robby-teams-filter__link:hover {
  background: var(--robby-primary);
  color: var(--robby-bg);
}
.robby.robby-app .robby-teams-filter .robby-teams-filter__link--active,
.robby.robby-app .robby-teams-filter__link--active {
  background: var(--robby-primary);
  color: var(--robby-bg);
}

/* Todo 043: Toggle „Teams filtern“ rechtsbündig neben Liga-Filter */
.robby-teams-filter--row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--robby-space-2);
}
/* Abstand zwischen Liga-Buttons in ?view=teams und ?view=soccer: max 12px, nicht auseinanderziehen */
.robby-teams-filter--view-teams.robby-teams-filter--row {
  gap: 12px;
  justify-content: flex-start;
}
.robby-teams-filter__group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--robby-space-1);
}
.robby-teams-filter__group--other-leagues {
  flex-basis: auto;
}
.robby-teams-filter__toggle,
.robby-teams-filter__toggle-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  padding: var(--robby-space-1) var(--robby-space-2);
  border-radius: var(--robby-radius-sm);
  background: var(--robby-gray);
  color: var(--robby-text);
  font-weight: 600;
  text-decoration: none;
  transition: background-color var(--robby-transition), color var(--robby-transition);
  cursor: pointer;
  border: none;
}
.robby-teams-filter__toggle-wrap input.robby-teams-filter-checkbox {
  width: 1.1em;
  height: 1.1em;
  margin: 0;
  flex-shrink: 0;
}
.robby.robby-app .robby-teams-filter__toggle:hover,
.robby.robby-app .robby-teams-filter__toggle-wrap:hover {
  background: var(--robby-primary);
  color: var(--robby-bg);
  text-decoration: none;
}
.robby.robby-app .robby-teams-filter__toggle--active,
.robby.robby-app .robby-teams-filter__toggle-wrap.robby-teams-filter__toggle--active {
  background: var(--robby-primary);
  color: var(--robby-bg);
  text-decoration: none;
}
.robby.robby-app .robby-teams-filter__toggle:hover,
.robby.robby-app .robby-teams-filter__toggle-wrap:hover,
.robby.robby-app a.robby-teams-filter__toggle:hover {
  color: var(--robby-bg);
  text-decoration: none;
}
.robby.robby-app .robby-teams-filter__toggle--active,
.robby.robby-app .robby-teams-filter__toggle-wrap.robby-teams-filter__toggle--active,
.robby.robby-app a.robby-teams-filter__toggle.robby-teams-filter__toggle--active {
  color: var(--robby-bg);
  text-decoration: none;
}

.robby-teams-filter__right {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--robby-space-2);
}
.robby-teams-filter__input {
  min-width: 8em;
  max-width: 260px;
  width: auto;
  background: var(--robby-bg-alt);
  border: 1px solid var(--robby-border-color, var(--robby-gray));
  border-radius: var(--robby-radius-sm);
  padding: var(--robby-space-1) var(--robby-space-2);
  font-size: var(--robby-font-size-sm);
  font-family: var(--robby-font-family);
  color: var(--robby-text-muted);
  cursor: default;
  pointer-events: none;
  line-height: 1.4;
}

.robby-teams-filter__status {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.robby-teams-filter__status-icon {
  display: block;
}
.robby-teams-filter__status--on .robby-teams-filter__status-icon {
  color: #0a7c0a;
}
.robby-teams-filter__status--off .robby-teams-filter__status-icon {
  color: #c62828;
}

.robby-app-bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 50;
  display: flex;
  flex-direction: column;
  background: var(--robby-bg);
  border-top: var(--robby-border);
}

.robby-app-channel-bar {
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: var(--robby-bar-gap);
  flex-wrap: nowrap;
  padding: var(--robby-bar-pad) 10px var(--robby-bar-pad) var(--robby-bar-pad);
  min-height: var(--robby-app-channel-bar-height);
  border-top: 1px solid var(--robby-gray, #eee);
  overflow: hidden;
}

.robby-app-channel-bar__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  padding: 2px var(--robby-bar-item-pad-x);
  font-size: var(--robby-bar-label-size);
  color: var(--robby-text);
  text-decoration: none;
  border-radius: var(--robby-radius-sm);
  transition: background-color var(--robby-transition), color var(--robby-transition);
  min-width: var(--robby-bar-item-min);
  flex: 1 1 0;
  max-width: 80px;
  overflow: hidden;
}

/* Block 3–6 (Formel 1, Fussball, Präsentation, Teams): Textbereich 40px breiter */
.robby-app-channel-bar__item:nth-child(2),
.robby-app-channel-bar__item:nth-child(3),
.robby-app-channel-bar__item:nth-child(4),
.robby-app-channel-bar__item:nth-child(5) {
  min-width: calc(var(--robby-bar-item-min) + 40px);
  max-width: 120px;
}

.robby-app-channel-bar__item:hover {
  background: var(--robby-gray);
  color: var(--robby-primary);
}

.robby-app-channel-bar__item--active {
  background: var(--robby-gray);
  color: var(--robby-primary);
  font-weight: 600;
}

.robby-app-channel-bar__item img {
  display: block;
  width: var(--robby-icon-size);
  height: var(--robby-icon-size);
}

.robby-app-search {
  padding: var(--robby-space-2) 10px var(--robby-space-2) var(--robby-space-2);
  flex-shrink: 0;
}

.robby-app-search__form {
  display: flex;
  align-items: center;
  gap: var(--robby-icon-gap);
  max-width: 100%;
}

/* Padding oben = Hover-Brücke zum Dropdown (vertikal rauffahren) */
.robby-app-search-channel {
  position: relative;
  flex-shrink: 0;
  padding-top: 4px;
}

.robby-app-search-channel__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--robby-touch-min);
  height: var(--robby-touch-min);
  border-radius: var(--robby-radius-sm);
  transition: background-color var(--robby-transition);
}

.robby-app-search-channel__icon:hover {
  background: var(--robby-gray);
}

.robby-app-search-channel__icon img {
  display: block;
  width: var(--robby-icon-size);
  height: var(--robby-icon-size);
}

.robby-app-search-channel__dropdown {
  position: absolute;
  bottom: 100%;
  left: 0;
  margin-bottom: 0;
  min-width: 140px;
  background: var(--robby-bg);
  border: var(--robby-border);
  border-radius: var(--robby-radius);
  box-shadow: var(--robby-shadow-lg);
  z-index: 60;
  padding: var(--robby-space-2);
  display: none;
  flex-direction: column;
  gap: var(--robby-space-1);
}

.robby-app-search-channel:hover .robby-app-search-channel__dropdown {
  display: flex;
}

.robby-app-search-channel__hr {
  margin: var(--robby-space-2) 0;
  border: 0;
  border-top: 1px solid var(--robby-gray);
  flex-shrink: 0;
}

.robby-app-search-channel__item {
  display: flex;
  align-items: center;
  gap: var(--robby-space-3);
  min-height: var(--robby-touch-min);
  padding: var(--robby-space-2) var(--robby-space-3);
  font-family: var(--robby-font-family);
  font-size: var(--robby-font-size-sm);
  color: var(--robby-text);
  text-decoration: none;
  border-radius: var(--robby-radius-sm);
  transition: background-color var(--robby-transition), color var(--robby-transition);
}

.robby-app-search-channel__item:hover {
  background: var(--robby-gray);
  color: var(--robby-primary);
}

.robby-app-search-channel__item--active {
  background: var(--robby-gray);
  color: var(--robby-primary);
  font-weight: 600;
}

.robby-app-search-channel__item img {
  display: block;
  width: var(--robby-icon-size);
  height: var(--robby-icon-size);
  flex-shrink: 0;
}

.robby-app-search__input-wrap {
  position: relative;
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
}

.robby-app-search__input {
  flex: 1;
  min-width: 0;
  min-height: var(--robby-touch-min);
  padding: var(--robby-space-2) var(--robby-space-4);
  font-family: var(--robby-font-family);
  font-size: var(--robby-font-size-base);
  border: var(--robby-border);
  border-radius: var(--robby-radius);
  background: var(--robby-bg);
  color: var(--robby-text);
}

/* Native Clear-Button von type="search" entfernen */
.robby-app-search__input::-webkit-search-cancel-button {
  display: none;
  -webkit-appearance: none;
}

.robby-app-search__input::-ms-clear {
  display: none;
}

.robby-app-search__input-wrap:has(.robby-app-search__clear) .robby-app-search__input {
  padding-right: calc(var(--robby-space-4) + 24px + var(--robby-space-2));
}

.robby-app-search__input--location {
  flex: 1;
  min-width: 0;
}

.robby-app-search__form .robby-app-search__input:not(.robby-app-search__input--location) {
  flex: 3;
}

.robby-app-search__input:focus {
  outline: none;
  border-color: var(--robby-primary);
  box-shadow: 0 0 0 3px rgba(255, 140, 0, 0.2);
}

.robby-app-search__clear {
  position: absolute;
  right: var(--robby-space-2);
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--robby-text-muted, #808080);
  transition: color var(--robby-transition);
  flex-shrink: 0;
}

.robby-app-search__clear:hover,
.robby-app-search__clear:focus {
  color: var(--robby-text, #505050);
  outline: none;
}

.robby-app-search__clear .robby-icon {
  width: 20px;
  height: 20px;
  display: block;
}

.robby-app-search__btn {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--robby-touch-min);
  height: var(--robby-touch-min);
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--robby-text);
}

.robby-app-search__btn:hover {
  color: var(--robby-primary);
}

.robby-app-search__btn img {
  display: block;
  width: var(--robby-icon-size);
  height: var(--robby-icon-size);
}

.robby-search-msg {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  padding: 0.5rem 0.75rem;
  margin-bottom: 0.25rem;
  background: var(--robby-primary, #1976d2);
  color: #fff;
  font-size: 0.875rem;
  border-radius: 4px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
}

.robby-search-msg--visible {
  opacity: 1;
  visibility: visible;
}

.robby-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Modal (About) */
.robby-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--robby-space-4);
}

.robby-modal[hidden] {
  display: none;
}

.robby-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}

.robby-modal__dialog {
  position: relative;
  width: 100%;
  max-width: 90vw;
  max-height: 90vh;
  min-width: 280px;
  min-height: 200px;
  overflow: auto;
  resize: both;
  background: var(--robby-bg);
  border-radius: var(--robby-radius-lg);
  box-shadow: var(--robby-shadow-lg);
  padding: var(--robby-space-8);
}

.robby-modal__close {
  position: absolute;
  top: var(--robby-space-2);
  right: var(--robby-space-2);
  width: var(--robby-touch-min);
  height: var(--robby-touch-min);
  padding: 0;
  font-size: 1.5rem;
  line-height: 1;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--robby-text-muted);
}

.robby-modal__close:hover {
  color: var(--robby-text);
}

.robby-modal__body {
  padding-top: var(--robby-space-4);
}

.robby-modal__body--profile {
  padding-top: 0;
}

.robby-modal__body--profile .robby-user__table-wrap {
  width: 100%;
  box-sizing: border-box;
}

.robby-modal__body--profile .robby-user__table {
  table-layout: fixed;
  width: 100%;
}

.robby-modal__body--profile .robby-user__th {
  width: 38%;
  max-width: 12em;
}

.robby-modal__body--profile .robby-user__td {
  width: 62%;
  padding-left: var(--robby-space-3);
  padding-right: var(--robby-space-3);
}

.robby-modal__body--profile .robby-user__td .robby-form-input,
.robby-modal__body--profile .robby-user__td .robby-form-textarea,
.robby-modal__body--profile .robby-user__td select.robby-form-input {
  width: 100%;
  box-sizing: border-box;
}

.robby-login-spacer {
  margin-top: 20px;
}

.robby-login-actions--row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.robby-btn--gray {
  background-color: var(--robby-gray, #dedede);
  color: var(--robby-text, #505050);
}

.robby-btn--gray:hover {
  background-color: var(--robby-gray-dark, #bdbdbd);
}

.robby-modal--doc .robby-modal__dialog {
  max-width: 36rem;
}

.robby-modal__body--doc .robby-doc-modal-content {
  padding: 0;
}

body.robby-modal-open {
  overflow: hidden;
}

.robby-user__title {
  margin: 0 0 var(--robby-space-4);
  padding: 0;
  font-size: var(--robby-font-size-2xl);
  color: var(--robby-primary);
}

.robby-user .robby-user__title:first-child {
  margin-top: 0;
}

.robby-user__subtitle {
  margin: 0 0 var(--robby-space-4);
  font-size: var(--robby-font-size-sm);
  color: var(--robby-text-muted);
}

.robby-user__message {
  margin-bottom: var(--robby-space-4);
  padding: 0.75rem;
  border-radius: var(--robby-radius);
  font-size: var(--robby-font-size-sm);
}
.robby-user__message--success {
  background: var(--robby-success-bg, #d4edda);
  color: var(--robby-success-text, #155724);
  border: 1px solid var(--robby-success-border, #c3e6cb);
}
.robby-user__message--error {
  background: var(--robby-error-bg, #f8d7da);
  color: var(--robby-error-text, #721c24);
  border: 1px solid var(--robby-error-border, #f5c6cb);
}
.robby-user .robby-form-message--success {
  background: var(--robby-success-bg, #d4edda);
  color: var(--robby-success-text, #155724);
  border: 1px solid var(--robby-success-border, #c3e6cb);
}
.robby-user .robby-form-message--error {
  background: var(--robby-error-bg, #f8d7da);
  color: var(--robby-error-text, #721c24);
  border: 1px solid var(--robby-error-border, #f5c6cb);
}

.robby-user__actions {
  margin-top: var(--robby-space-4);
  padding-top: var(--robby-space-4);
  border-top: 1px solid var(--robby-gray);
}
.robby-user__actions .robby-btn-primary {
  padding: var(--robby-space-2) var(--robby-space-4);
  font-size: var(--robby-font-size-sm);
  font-family: var(--robby-font-family);
  background: var(--robby-primary);
  color: var(--robby-text-inverse, #fff);
  border: 1px solid var(--robby-primary);
  border-radius: var(--robby-radius);
  cursor: pointer;
  transition: background-color var(--robby-transition), color var(--robby-transition), border-color var(--robby-transition);
}
.robby-user__actions .robby-btn-primary:hover:not(:disabled) {
  background: var(--robby-primary-dark);
  border-color: var(--robby-primary-dark);
}
.robby-user__actions .robby-btn-primary:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.robby-user__td .robby-form-input,
.robby-user__td .robby-form-textarea,
.robby-user__td select.robby-form-input {
  width: 100%;
  padding: 0.5rem 0.75rem;
  font-size: var(--robby-font-size-sm);
  font-family: inherit;
  border: 1px solid var(--robby-gray);
  border-radius: var(--robby-radius);
  background: var(--robby-bg-primary);
  color: var(--robby-text);
  box-sizing: border-box;
}

/* Todo 049: Passwort ein-/ausblenden (Eye-Button) */
.robby-password-wrap {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  width: 100%;
}
.robby-password-wrap .robby-form-input,
.robby-password-wrap .form-control {
  flex: 1;
  min-width: 0;
}
.robby-password-toggle {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 1px solid var(--robby-gray);
  border-radius: var(--robby-radius);
  background: var(--robby-bg-primary);
  color: var(--robby-text);
  cursor: pointer;
}
.robby-password-toggle:hover {
  background: var(--robby-gray-light, #e0e0e0);
}
.robby-password-toggle .robby-icon-eye,
.robby-password-toggle .robby-icon-eye-slash {
  display: block;
}

.robby-user__td .robby-form-textarea {
  min-height: 4rem;
  resize: vertical;
}
.robby-user__td .robby-btn-primary {
  padding: var(--robby-space-2) var(--robby-space-4);
  font-size: var(--robby-font-size-sm);
  font-family: var(--robby-font-family);
  background: var(--robby-primary);
  color: var(--robby-text-inverse, #fff);
  border: 1px solid var(--robby-primary);
  border-radius: var(--robby-radius);
  cursor: pointer;
  transition: background-color var(--robby-transition), color var(--robby-transition), border-color var(--robby-transition);
}
.robby-user__td .robby-btn-primary:hover:not(:disabled) {
  background: var(--robby-primary-dark);
  border-color: var(--robby-primary-dark);
}
.robby-user__td .robby-btn-primary:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.robby-user__avatar {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--robby-space-4);
  margin-bottom: var(--robby-space-4);
}

.robby-user__avatar-img-wrap {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--robby-gray);
  background: var(--robby-bg-alt);
  flex-shrink: 0;
}

.robby-user__avatar-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.robby-user__avatar-img--fallback {
  object-fit: contain;
  padding: var(--robby-space-2);
}

.robby-user__upload-form {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.robby-user__file-input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.robby-user__upload-btn {
  display: inline-block;
  padding: var(--robby-space-2) var(--robby-space-4);
  font-size: var(--robby-font-size-sm);
  font-family: var(--robby-font-family);
  color: var(--robby-primary);
  background: transparent;
  border: 1px solid var(--robby-primary);
  border-radius: var(--robby-radius);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.robby-user__upload-btn:hover {
  background: var(--robby-primary);
  color: var(--robby-text-inverse);
}

.robby-user__upload-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--robby-space-1);
}

.robby-user__upload-hint {
  font-size: var(--robby-font-size-xs);
  color: var(--robby-text-muted);
  margin: 0;
}

.robby-user__upload-msg {
  font-size: var(--robby-font-size-sm);
  margin: 0;
}

.robby-user__upload-msg--ok {
  color: var(--robby-success, #2e7d32);
}

.robby-user__upload-msg--error {
  color: var(--robby-danger, #c62828);
}

.robby-user__geo {
  margin-top: var(--robby-space-4);
  padding-top: var(--robby-space-4);
  border-top: 1px solid var(--robby-gray);
}

/* Einstellungen: Schriftgröße (settings_modal.php) */
.robby-settings-font-size {
  margin-top: var(--robby-space-4);
}
.robby-settings-font-size__btns {
  display: flex;
  flex-wrap: wrap;
  gap: var(--robby-space-2);
  margin-top: var(--robby-space-2);
}
.robby-settings-font-btn {
  padding: var(--robby-space-2) var(--robby-space-4);
  font-family: var(--robby-font-family);
  font-size: var(--robby-font-size-sm);
  color: var(--robby-text);
  background: var(--robby-bg);
  border: var(--robby-border);
  border-radius: var(--robby-radius);
  cursor: pointer;
  transition: background-color var(--robby-transition), color var(--robby-transition);
}
.robby-settings-font-btn:hover {
  background: var(--robby-gray);
  color: var(--robby-primary);
}
.robby-settings-font-btn--active {
  background: var(--robby-primary);
  color: var(--robby-text-inverse);
  border-color: var(--robby-primary);
}

/* Einstellungen: Channels im Kalender */
.robby-settings-divider {
  border: 0;
  margin: var(--robby-space-6) 0 0;
  height: 1px;
  background: var(--robby-gray);
}

.robby-settings-about-logo {
  margin-top: var(--robby-space-4);
  margin-bottom: var(--robby-space-2);
}

.robby-settings-about-logo__img {
  display: block;
  height: 36px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
}
.robby-settings-channels-subtitle {
  margin-top: var(--robby-space-4);
}
.robby-settings-channels-hint {
  margin-top: var(--robby-space-2);
  font-size: var(--robby-font-size-sm);
}
.robby-settings-calendar-channels {
  display: flex;
  flex-wrap: wrap;
  gap: var(--robby-space-4);
  margin-top: var(--robby-space-2);
}
.robby-settings-channel-cb {
  display: inline-flex;
  align-items: center;
  gap: var(--robby-space-2);
  cursor: pointer;
  font-size: var(--robby-font-size-sm);
  color: var(--robby-text);
}
.robby-settings-channel-input {
  width: 1.25rem;
  height: 1.25rem;
  accent-color: var(--robby-primary);
}

.robby-settings-actions {
  margin-top: var(--robby-space-6);
}
.robby-settings-apply-btn {
  display: inline-block;
  padding: var(--robby-space-2) var(--robby-space-4);
  font-family: var(--robby-font-family);
  font-size: var(--robby-font-size-sm);
  font-weight: 500;
  color: var(--robby-text-inverse);
  background: var(--robby-primary);
  border: 1px solid var(--robby-primary);
  border-radius: var(--robby-radius);
  cursor: pointer;
  transition: background-color var(--robby-transition), border-color var(--robby-transition), color var(--robby-transition);
}
.robby-settings-apply-btn:hover {
  background: var(--robby-primary-dark);
  border-color: var(--robby-primary-dark);
}

.robby-user__geo-label {
  display: flex;
  align-items: center;
  gap: var(--robby-space-2);
  cursor: pointer;
  font-size: var(--robby-font-size-sm);
  color: var(--robby-text);
}

.robby-user__geo-checkbox {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  accent-color: var(--robby-primary);
}

.robby-user__geo-text {
  flex: 1;
}

.robby-user__geo-coords {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--robby-space-2);
  margin-top: var(--robby-space-2);
  font-size: var(--robby-font-size-sm);
  color: var(--robby-text);
}

.robby-user__geo-coords-text {
  flex: 1;
}

.robby-user__geo-coords-empty {
  color: var(--robby-text-muted);
  font-style: italic;
}

.robby-user__geo-map-link {
  display: inline-flex;
  flex-shrink: 0;
  line-height: 0;
}

.robby-user__geo-map-link:hover {
  opacity: 0.85;
}

.robby-user__geo-map-icon {
  display: block;
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.robby-user__geo-request-btn {
  flex-shrink: 0;
  padding: var(--robby-space-2) var(--robby-space-3);
  font-size: var(--robby-font-size-sm);
  font-family: var(--robby-font-family);
  color: var(--robby-primary);
  background: transparent;
  border: 1px solid var(--robby-primary);
  border-radius: var(--robby-radius);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.robby-user__geo-request-btn:hover:not(:disabled) {
  background: var(--robby-primary);
  color: var(--robby-text-inverse);
}

.robby-user__geo-request-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.robby-user__geo-error {
  flex-basis: 100%;
  display: block;
  margin-top: var(--robby-space-2);
  font-size: var(--robby-font-size-sm);
  color: var(--robby-primary-dark);
}

.robby-user__geo-error[hidden] {
  display: none;
}

.robby-user__error {
  margin: 0;
  color: var(--robby-primary-dark);
  font-size: var(--robby-font-size-sm);
}

.robby-user__caption {
  font-weight: 600;
  text-align: left;
  padding-bottom: var(--robby-space-2);
  color: var(--robby-text-muted);
}

.robby-user__heading-2 {
  font-size: 1.1rem;
  margin: 1rem 0 0.5rem;
  font-weight: 600;
  color: var(--robby-primary);
}

/* User page (?view=user): Abstände zwischen Cards und Innenabstände */
.robby-app-content .robby-container > .robby-cards-wrap + .robby-cards-wrap {
  margin-top: var(--robby-space-4);
}
.robby-app-content .robby-container > .robby-user--page {
  margin-top: var(--robby-space-4);
  padding: 0 var(--robby-space-4);
}
.robby-app-content .robby-container > .robby-user--page + .robby-cards-wrap {
  margin-top: var(--robby-space-4);
}
.robby-card--user-location,
.robby-card--user-geo,
.robby-card--push-send {
  padding: var(--robby-space-4);
}
.robby-card--user-location .robby-user__heading-2:first-child,
.robby-card--user-geo .robby-user__heading-2:first-child,
.robby-card--push-send .robby-user__heading-2:first-child {
  margin-top: 0;
}
.robby-card--user-location .robby-user__table-wrap,
.robby-card--user-location .robby-user__grid4-wrap,
.robby-card--user-geo .robby-user__geo,
.robby-card--push-send .robby-push-form {
  margin-top: var(--robby-space-3);
}
.robby-user--page .robby-user__avatar {
  margin-bottom: var(--robby-space-4);
}
.robby-user--page .robby-user__table-wrap,
.robby-user--page .robby-user__grid4-wrap {
  margin-top: 0;
}

.robby-user__muted {
  color: var(--robby-text-muted);
  font-size: var(--robby-font-size-sm);
  margin: 0.5rem 0;
}

.robby-dashboard-downline-wrap {
  margin-top: var(--robby-space-4);
}

.robby-dashboard-downline-table {
  table-layout: auto;
  width: 100%;
}

.robby-modal__body--profile .robby-dashboard-downline-table {
  table-layout: auto;
}

.robby-dashboard-downline-table .robby-user__th,
.robby-dashboard-downline-table .robby-user__td {
  width: auto;
  max-width: none;
}

.robby-user__td.robby-user__td--status-pending {
  color: #e65100;
}

.robby-user__td.robby-user__td--status-active {
  color: #2e7d32;
}

.robby-user__table-wrap {
  overflow-x: auto;
  border: 1px solid var(--robby-gray);
  border-radius: var(--robby-radius);
}

.robby-user__table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--robby-font-size-sm);
}

.robby-user__row {
  border-bottom: 1px solid var(--robby-gray);
}

.robby-user__row:last-child {
  border-bottom: 0;
}

.robby-user__grid4-wrap {
  border: 1px solid var(--robby-gray);
  border-radius: var(--robby-radius);
  overflow: hidden;
}

.robby-user__grid4 {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr;
  margin: 0;
  padding: 0;
  font-size: var(--robby-font-size-sm);
}

.robby-user__grid4-label,
.robby-user__grid4-value {
  padding: var(--robby-space-2) var(--robby-space-3);
  border-bottom: 1px solid var(--robby-gray);
  vertical-align: top;
  margin: 0;
}

.robby-user__grid4-label:nth-last-child(-n+4),
.robby-user__grid4-value:nth-last-child(-n+4) {
  border-bottom: 0;
}

.robby-user__grid4-label {
  font-weight: 600;
  color: var(--robby-text-muted);
  background: var(--robby-bg-alt);
  white-space: nowrap;
}

.robby-user__grid4-value {
  color: var(--robby-text);
  word-break: break-word;
}

@media (max-width: 600px) {
  .robby-user__grid4 {
    grid-template-columns: auto 1fr;
  }
  .robby-user__grid4-label:nth-last-child(-n+4),
  .robby-user__grid4-value:nth-last-child(-n+4) {
    border-bottom: 1px solid var(--robby-gray);
  }
  .robby-user__grid4-label:last-child,
  .robby-user__grid4-value:last-child {
    border-bottom: 0;
  }
}

/* Registrierung: Optional-Felder erst nach Anlegen des Kontos anzeigen */
.robby-register-optional-section {
  display: none;
}
.robby-registration-done .robby-register-optional-section {
  display: table-row-group;
}

.robby-user__th {
  text-align: left;
  padding: var(--robby-space-2) var(--robby-space-3);
  font-weight: 600;
  color: var(--robby-text-muted);
  background: var(--robby-bg-alt);
  white-space: nowrap;
  width: 1%;
  vertical-align: top;
}

.robby-user__td {
  padding: var(--robby-space-2) var(--robby-space-3);
  color: var(--robby-text);
  vertical-align: top;
}

.robby-about__title {
  margin: 0 0 var(--robby-space-4);
  font-size: var(--robby-font-size-2xl);
  color: var(--robby-primary);
}

.robby-about__company,
.robby-about__address,
.robby-about__legal,
.robby-about__links {
  margin: 0 0 var(--robby-space-4);
  font-size: var(--robby-font-size-sm);
  color: var(--robby-text);
}

.robby-about__links a {
  color: var(--robby-primary);
}

