.retreat-portal { max-width: 860px; }
.retreat-card { background:#fff; border:1px solid #ddd; padding:16px; border-radius:10px; margin:12px 0; }
.retreat-card textarea { width:100%; }
.retreat-table { width:100%; border-collapse: collapse; }
.retreat-table th, .retreat-table td { border:1px solid #e3e3e3; padding:8px; vertical-align: top; }
.retreat-msg { margin-top:10px; }

.retreat-alert { border-radius:10px; padding:12px; border:1px solid #ddd; background:#fafafa; }
.retreat-alert-ok { border-color:#b7e1b7; background:#f3fff3; }
.retreat-alert-warn { border-color:#f0d49b; background:#fffaf0; }
.retreat-alert-error { border-color:#f2b2b2; background:#fff2f2; }

/* Desktop / Tablet: 3 Spalten in einer Zeile */
.retreat-copy-row{
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin: 8px 0;
}

.retreat-copy-label{
  font-weight: 600;
  white-space: nowrap;
}

.retreat-copy-value{
  padding: 6px 10px;
  border: 1px dashed #ccc;
  width: 250px;
  border-radius: 6px;
  background: #fff;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  min-width: 0; /* wichtig gegen overflow */
  line-height: 1.3;
}

.retreat-copy-btn{
  padding: 5px 10px;
  white-space: nowrap;
}

/* Mobile: untereinander */
@media (max-width: 700px){
  .retreat-copy-row{
    grid-template-columns: 1fr;
    gap: 6px;
    align-items: stretch;
  }

  .retreat-copy-label{
    white-space: normal;
  }

  .retreat-copy-value{
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .retreat-copy-btn{
    width: 100%;
  }
}
