:root {
  color-scheme: light;
  --mr-navy: #07275f;
  --mr-blue: #0874ea;
  --mr-blue-strong: #0559c7;
  --mr-sky: #e9f7ff;
  --mr-sand: #fff6df;
  --mr-ink: #112b52;
  --mr-muted: #667b94;
  --mr-line: #dbe8f2;
  --mr-card: rgba(255, 255, 255, .97);
  --mr-shadow: 0 10px 28px rgba(20, 67, 112, .09);
}

html,
body {
  min-height: 100%;
  background: #eff8ff;
}

html:not([data-app-ready="1"]) .app-header,
html:not([data-app-ready="1"]) .app-nav {
  visibility: hidden;
}

body {
  background:
    radial-gradient(circle at 92% 4%, rgba(255, 218, 102, .24), transparent 21rem),
    radial-gradient(circle at 3% 30%, rgba(84, 200, 237, .14), transparent 24rem),
    linear-gradient(180deg, #f4fbff 0, #eef8ff 55%, #f8fbfd 100%);
  color: var(--mr-ink);
}

button,
[role="button"],
input,
select,
textarea {
  touch-action: manipulation;
}

button {
  transition: transform .14s ease, background-color .14s ease, box-shadow .14s ease, opacity .14s ease;
}

button:active:not(:disabled) {
  transform: scale(.975);
}

button:disabled {
  cursor: wait;
  opacity: .58;
}

:focus-visible {
  outline: 3px solid rgba(8, 116, 234, .34);
  outline-offset: 2px;
}

.app-header {
  background:
    radial-gradient(circle at 78% 25%, rgba(72, 205, 241, .27), transparent 12rem),
    linear-gradient(118deg, #06275f 0%, #0758ba 54%, #078dd1 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .17);
  box-shadow: 0 8px 24px rgba(4, 37, 82, .18);
}

.app-header::after {
  right: 90px;
  top: -24px;
  opacity: .09;
}

.brand {
  letter-spacing: -.025em;
}

.brand-logo {
  border-radius: 16px;
  background: linear-gradient(145deg, #64dbef, #0874e8);
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, .1), 0 8px 18px rgba(0, 31, 77, .22);
}

.round-button {
  background: rgba(255, 255, 255, .13);
  box-shadow: inset 0 1px rgba(255, 255, 255, .12);
}

.app-main {
  padding-top: 13px;
}

.connection-banner {
  position: relative;
  z-index: 75;
  width: min(740px, calc(100% - 20px));
  min-height: 56px;
  margin: 8px auto 0;
  padding: 9px 10px;
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid #b8d9f4;
  border-radius: 16px;
  background: rgba(237, 248, 255, .98);
  color: #153c68;
  box-shadow: 0 8px 22px rgba(17, 68, 113, .11);
}

.connection-banner[hidden] {
  display: none !important;
}

.connection-banner[data-state="offline"] {
  border-color: #f0d28c;
  background: rgba(255, 249, 232, .98);
  color: #654814;
}

.connection-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #1686e8;
  box-shadow: 0 0 0 5px rgba(22, 134, 232, .12);
  animation: connection-pulse 1.5s ease-in-out infinite;
}

.connection-banner[data-state="offline"] .connection-dot {
  background: #e99b12;
  box-shadow: 0 0 0 5px rgba(233, 155, 18, .13);
}

.connection-banner strong,
.connection-banner small {
  display: block;
}

.connection-banner strong {
  font-size: 12px;
}

.connection-banner small {
  margin-top: 2px;
  color: inherit;
  font-size: 9px;
  line-height: 1.35;
  opacity: .78;
}

.connection-banner button {
  min-height: 36px;
  padding: 0 11px;
  border: 0;
  border-radius: 11px;
  background: #fff;
  color: inherit;
  font-size: 10px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(70, 115, 159, .16);
}

.app-version {
  margin-left: auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eaf5ff;
  color: #0a69ce;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
}

.card {
  border-color: rgba(197, 219, 235, .82);
  border-radius: 20px;
  background: var(--mr-card);
  box-shadow: var(--mr-shadow);
}

.app-nav {
  height: 68px !important;
  border-color: rgba(184, 208, 226, .72) !important;
  border-radius: 18px 18px 0 0 !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 -8px 28px rgba(15, 55, 98, .12) !important;
}

.nav-item {
  min-height: 52px;
  color: #60758d;
}

.nav-item.active {
  color: var(--mr-blue);
  background: linear-gradient(180deg, #eef7ff, #e5f2ff) !important;
  box-shadow: inset 0 0 0 1px rgba(71, 153, 235, .08);
}

.camera-circle {
  background: linear-gradient(145deg, #0877ed, #08a7d6);
  box-shadow: 0 8px 20px rgba(8, 112, 218, .32);
}

.section-head h2,
.feed-intro h1,
.profile-edit-head h1,
.user-map-intro h1 {
  letter-spacing: -.02em;
}

.beach-card {
  border-color: #cce5f0;
  background:
    radial-gradient(circle at 78% 13%, rgba(255, 213, 78, .34), transparent 22%),
    linear-gradient(145deg, #ffffff 0%, #eaf9ff 60%, #fff4dc 100%);
}

.beach-facts {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.beach-facts .beach-fact:nth-child(4) {
  display: block !important;
}

/* 1.4.7 – gemeinsame Foto-Pinnwand */
.home-photo-wall {
  overflow: hidden;
}

.home-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  overflow: hidden;
  border-radius: 18px;
  background: #e7eff7;
  padding: 5px;
}

.photo-wall-tile {
  position: relative;
  display: block;
  min-width: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 14px;
  background: #dce7f2;
  box-shadow: none;
  text-align: left;
}

.photo-wall-tile > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .2s ease;
}

.photo-wall-tile:active > img {
  transform: scale(.97);
}

.photo-wall-shade {
  position: absolute;
  inset: auto 0 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 4px;
  padding: 22px 7px 6px;
  color: #fff;
  background: linear-gradient(transparent, rgba(4, 24, 47, .78));
}

.photo-wall-shade strong,
.photo-wall-shade small {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 8px;
  line-height: 1.15;
}

.photo-wall-shade strong {
  max-width: 58%;
  font-size: 9px;
}

.photo-wall-empty,
.photo-board-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 120px;
  padding: 18px;
  border-radius: 18px;
  color: #60778e;
  background: linear-gradient(145deg, #f4f9fd, #eef4fa);
  text-align: center;
}

.photo-wall-empty > span,
.photo-board-empty > span { font-size: 26px; }
.photo-wall-empty small { font-size: 9px; }
.photo-wall-empty button,
.photo-board-empty button {
  margin-top: 4px;
  padding: 8px 13px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #1675e8, #22b6d7);
  font-weight: 800;
}

.photo-wall-empty.compact { min-height: 104px; }

.photo-board-screen {
  display: grid;
  gap: 12px;
  padding-bottom: 14px;
}

.photo-board-hero {
  position: relative;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 17px 16px !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 96% 0, rgba(255, 213, 83, .28), transparent 36%),
    linear-gradient(145deg, #fff, #f0faff) !important;
}

.photo-board-hero h1 {
  margin: 3px 0 4px;
  color: #102f55;
  font-size: 22px;
  line-height: 1.05;
}

.photo-board-hero p {
  margin: 0;
  color: #6c8196;
  font-size: 10px;
  line-height: 1.4;
}

.photo-board-camera {
  display: grid;
  justify-items: center;
  gap: 3px;
  width: 62px;
  padding: 10px 5px;
  border: 0;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(145deg, #1474ec, #18b6dd);
  box-shadow: 0 10px 22px rgba(17, 119, 210, .24);
  font-size: 8px;
  font-weight: 800;
}

.photo-board-camera .icon { width: 22px; height: 22px; }

.photo-board-tools {
  position: sticky;
  top: 4px;
  z-index: 5;
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(170, 195, 216, .7);
  border-radius: 18px;
  background: rgba(250, 253, 255, .94);
  box-shadow: 0 8px 22px rgba(32, 71, 106, .09);
  backdrop-filter: blur(14px);
}

.photo-filter-chips {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.photo-filter-chips button {
  min-height: 35px;
  border: 1px solid #d8e5f0;
  border-radius: 12px;
  color: #38556f;
  background: #fff;
  font-size: 10px;
  font-weight: 800;
}

.photo-filter-chips button.active {
  border-color: transparent;
  color: #fff;
  background: linear-gradient(135deg, #237ee9, #25b7d9);
}

.photo-user-filter {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px;
  color: #71869a;
  font-size: 9px;
  font-weight: 800;
}

.photo-user-filter select {
  width: 100%;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid #d9e5ef;
  border-radius: 11px;
  color: #183b5e;
  background: #f4f8fc;
  font-weight: 700;
}

.photo-board-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.photo-board-grid .photo-wall-tile {
  aspect-ratio: 4 / 5;
  border-radius: 18px;
  box-shadow: 0 7px 18px rgba(24, 57, 87, .13);
}

.photo-board-grid .photo-board-empty {
  grid-column: 1 / -1;
  min-height: 240px;
}

.photo-board-grid .photo-wall-shade {
  padding: 38px 10px 9px;
}

.photo-board-grid .photo-wall-shade strong { font-size: 11px; }
.photo-board-grid .photo-wall-shade small { font-size: 9px; }

.photo-load-more {
  min-height: 44px;
  border: 1px solid #bed7e9;
  border-radius: 15px;
  color: #1769ba;
  background: #fff;
  font-weight: 900;
}

.photo-board-note {
  margin: 0 10px;
  color: #788b9d;
  font-size: 9px;
  line-height: 1.45;
  text-align: center;
}

.photo-detail-sheet {
  height: min(92dvh, 760px);
  max-height: calc(100dvh - 18px);
  overflow: hidden;
  background: #f4f8fc;
}

.photo-detail-content {
  height: calc(100% - 58px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 12px calc(16px + env(safe-area-inset-bottom));
}

.photo-detail-card,
.photo-detail-comments {
  overflow: hidden;
  border: 1px solid #dce7f0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(23, 57, 89, .08);
}

.photo-detail-image {
  display: block;
  width: 100%;
  max-height: 56dvh;
  padding: 0;
  border: 0;
  background: #102a42;
}

.photo-detail-image img {
  display: block;
  width: 100%;
  max-height: 56dvh;
  object-fit: contain;
}

.photo-detail-author {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px 14px 4px;
}

.photo-detail-author strong,
.photo-detail-author small { display: block; }
.photo-detail-author strong { color: #16385d; font-size: 12px; }
.photo-detail-author small { margin-top: 2px; color: #8494a3; font-size: 9px; }

.photo-detail-copy { padding: 8px 14px 12px; }
.photo-detail-copy h2 { margin: 0; color: #102f55; font-size: 19px; }
.photo-detail-copy p { margin: 6px 0 0; color: #5f7489; font-size: 11px; line-height: 1.45; white-space: pre-wrap; }

.photo-detail-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  border-top: 1px solid #edf2f6;
  background: #edf2f6;
}

.photo-detail-actions > button,
.photo-detail-actions > span {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: center;
  align-items: center;
  gap: 4px;
  min-height: 48px;
  padding: 6px;
  border: 0;
  color: #557087;
  background: #fff;
}

.photo-detail-actions small { grid-column: 1 / -1; font-size: 8px; }
.photo-detail-actions button.active { color: #e34168; }
.photo-detail-actions button > span { font-size: 16px; }

.photo-detail-comments {
  margin-top: 10px;
  padding: 14px;
}

.photo-detail-comments h3 { margin: 0 0 10px; color: #17395b; font-size: 15px; }
.photo-comment-row { display: grid; grid-template-columns: auto 1fr; gap: 8px; padding: 8px 0; border-bottom: 1px solid #edf2f6; }
.photo-comment-row strong { color: #183b5e; font-size: 10px; }
.photo-comment-row p { margin: 3px 0; color: #3c5267; font-size: 11px; line-height: 1.4; }
.photo-comment-row small { color: #8a9aa8; font-size: 8px; }
.photo-comments-empty { padding: 18px 8px; color: #8293a2; font-size: 10px; text-align: center; }

#photo-comment-form {
  display: grid;
  grid-template-columns: 1fr 42px;
  gap: 7px;
  margin-top: 11px;
}

#photo-comment-form input {
  min-width: 0;
  min-height: 42px;
  padding: 0 13px;
  border: 1px solid #d5e1eb;
  border-radius: 999px;
  background: #f4f7fa;
}

#photo-comment-form button {
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #1475ec, #17afd9);
}

#photo-comment-form .icon { width: 20px; height: 20px; }

.profile-photo-posts { overflow: hidden; }
.profile-photo-grid .photo-wall-shade { display: none; }

.composer-photo-preview {
  grid-template-columns: repeat(3, minmax(0, 76px)) !important;
  justify-content: start;
  gap: 7px !important;
}

.composer-photo-preview .photo-preview {
  aspect-ratio: 1 / 1;
  max-height: 76px;
  border-radius: 13px !important;
}

.composer-photo-preview .photo-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photo-rights-confirmation {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 9px;
  margin: 8px 14px 4px;
  padding: 11px;
  border: 1px solid #b9d6ea;
  border-radius: 14px;
  color: #36536d;
  background: #f1f9ff;
}

.photo-rights-confirmation[hidden] { display: none !important; }
.photo-rights-confirmation input { width: 19px; height: 19px; margin: 1px 0 0; accent-color: #1677df; }
.photo-rights-confirmation strong,
.photo-rights-confirmation small { display: block; }
.photo-rights-confirmation strong { color: #143a60; font-size: 11px; }
.photo-rights-confirmation small { margin-top: 3px; font-size: 8px; line-height: 1.45; }

@media (max-width: 350px) {
  .home-photo-grid { gap: 4px; padding: 4px; }
  .photo-wall-tile { border-radius: 11px; }
  .photo-board-hero { grid-template-columns: 28px 1fr; }
  .photo-board-camera { grid-column: 2; width: 100%; grid-auto-flow: column; }
}

.beach-fact {
  min-height: 48px;
  border-color: rgba(197, 220, 232, .88);
  background: rgba(255, 255, 255, .84);
}

.beach-fact small {
  font-size: 8px;
  line-height: 1.25;
  white-space: normal;
}

.weather-grid {
  gap: 2px;
  padding: 3px 7px 12px;
}

.weather-day {
  border: 0;
  border-radius: 12px;
  background: linear-gradient(180deg, #f8fcff, #eef7fc);
}

.weather-day:first-child {
  background: linear-gradient(180deg, #eaf6ff, #deefff);
  color: #075fc8;
}

.weather-day .temps {
  font-weight: 700;
}

.feed-intro-actions {
  flex-shrink: 0;
}

.feed-search-panel {
  padding: 12px;
  overflow: visible;
}

.feed-search-panel > label {
  display: block;
  margin: 0 2px 7px;
  color: #385674;
  font-size: 11px;
  font-weight: 800;
}

.feed-search-panel > div {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 34px;
  gap: 7px;
  align-items: center;
  min-height: 46px;
  padding: 0 8px 0 12px;
  border: 1px solid #ccdeeb;
  border-radius: 15px;
  background: #f8fbfd;
}

.feed-search-panel .icon {
  width: 20px;
  height: 20px;
  color: var(--mr-blue);
}

.feed-search-panel input {
  min-width: 0;
  height: 42px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--mr-ink);
  font-size: 13px;
}

.feed-search-panel button {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: #e9f0f5;
  color: #587088;
  font-size: 20px;
}

.feed-search-panel small {
  display: block;
  min-height: 13px;
  margin: 6px 3px 0;
  color: var(--mr-muted);
  font-size: 10px;
}

.post-action {
  min-height: 46px;
}

.comments-sheet,
.notification-sheet,
.action-sheet {
  border: 1px solid rgba(203, 220, 232, .84);
  border-bottom: 0;
}

.comment-reply-context {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 14px;
  border-top: 1px solid #e5edf3;
  background: #edf7ff;
  color: #315b83;
  font-size: 11px;
  font-weight: 800;
}

.comment-reply-context[hidden] {
  display: none !important;
}

.comment-reply-context button {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: #dbeaf5;
  color: #48677f;
  font-size: 18px;
}

.switch-row.is-disabled {
  background: #f2f4f6;
  opacity: .72;
}

.primary-wide,
.publish-button {
  background: linear-gradient(135deg, var(--mr-blue-strong), #078dd8);
  box-shadow: 0 7px 18px rgba(7, 102, 213, .18);
}

.offline-cache-notice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
  padding: 11px 12px;
  border: 1px solid #efd493;
  border-radius: 17px;
  background: linear-gradient(135deg, #fffaf0, #fff3d6);
  color: #614713;
}

.offline-cache-notice strong,
.offline-cache-notice small {
  display: block;
}

.offline-cache-notice strong {
  font-size: 12px;
}

.offline-cache-notice small {
  margin-top: 2px;
  font-size: 9px;
  line-height: 1.35;
  opacity: .78;
}

.offline-cache-notice button {
  min-height: 38px;
  padding: 0 11px;
  border: 0;
  border-radius: 12px;
  background: #fff;
  color: #765615;
  font-size: 10px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(141, 101, 17, .14);
}

.connection-wait {
  max-width: 560px;
  min-height: 126px;
  margin: 24px auto;
  padding: 22px;
  display: flex;
  align-items: center;
  gap: 16px;
  background: linear-gradient(145deg, #fff, #edf8ff);
}

.connection-wait h2,
.chat-load-error h2 {
  margin: 0;
  font-size: 17px;
}

.connection-wait p,
.chat-load-error p {
  margin: 5px 0 0;
  color: var(--mr-muted);
  font-size: 11px;
  line-height: 1.45;
}

.connection-spinner {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border: 4px solid #dbeefe;
  border-top-color: var(--mr-blue);
  border-radius: 50%;
  animation: connection-spin .8s linear infinite;
}

.inline-load-error {
  max-width: 540px;
  margin: 12px auto;
  padding: 20px 18px;
  text-align: center;
  background: linear-gradient(145deg, #fff, #f0f8ff);
}

.load-error-icon {
  width: 44px;
  height: 44px;
  margin: 0 auto 8px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #e7f3ff;
  color: var(--mr-blue);
  font-size: 25px;
  font-weight: 900;
}

.inline-load-error .primary-wide {
  margin-top: 14px;
}

.chat-load-error {
  width: min(520px, calc(100% - 28px));
  margin: auto;
  padding: 24px 18px;
  border: 1px solid var(--mr-line);
  border-radius: 22px;
  background: #fff;
  text-align: center;
  box-shadow: var(--mr-shadow);
}

.chat-load-error .primary-wide {
  margin-top: 16px;
}

.boot-error {
  max-width: 540px;
  margin: 24px auto;
  text-align: center;
  background: linear-gradient(145deg, #fff, #eef8ff 66%, #fff8e8);
}

.boot-error::before {
  content: '🌊';
  display: block;
  margin-bottom: 8px;
  font-size: 38px;
}

.toast {
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 14px;
  background: rgba(7, 39, 86, .96);
  box-shadow: 0 12px 30px rgba(0, 24, 60, .24);
}

@media (max-width: 390px) {
  .connection-banner {
    width: calc(100% - 14px);
    grid-template-columns: 10px minmax(0, 1fr);
  }

  .connection-banner button {
    grid-column: 2;
    width: max-content;
  }

  .offline-cache-notice {
    grid-template-columns: 1fr;
  }

  .offline-cache-notice button {
    width: max-content;
  }

  .beach-facts {
    gap: 4px;
  }

  .beach-fact {
    padding-inline: 2px;
  }

  .feed-intro-actions {
    gap: 4px;
  }

  .small-icon-btn {
    width: 38px;
    height: 38px;
    padding: 9px;
  }

  .weather-grid {
    padding-inline: 4px;
  }

  .weather-day {
    padding-inline: 0;
  }
}

@keyframes connection-pulse {
  0%, 100% { transform: scale(.88); opacity: .7; }
  50% { transform: scale(1); opacity: 1; }
}

@keyframes connection-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}


/* 1.4.3 – kompaktes App-Menü und robuste Facebook-artige Kommentarantworten */
.app-menu-sheet {
  width: min(560px, calc(100% - 18px)) !important;
  max-height: calc(100dvh - 12px) !important;
  padding: 5px 8px max(7px, env(safe-area-inset-bottom, 0px)) !important;
  display: flex !important;
  flex-direction: column;
  overflow: hidden !important;
  border-radius: 26px 26px 0 0 !important;
  background:
    radial-gradient(circle at 90% 2%, rgba(255, 213, 77, .18), transparent 9rem),
    radial-gradient(circle at 4% 18%, rgba(60, 193, 234, .13), transparent 12rem),
    linear-gradient(180deg, #fbfdff 0%, #f3f9fd 100%) !important;
  box-shadow: 0 -18px 46px rgba(7, 37, 78, .24) !important;
}

.app-menu-sheet > .grabber {
  flex: 0 0 auto;
  margin-bottom: 3px;
  background: #a9b8c7;
}

.app-menu-head {
  position: relative;
  flex: 0 0 auto;
  min-height: 43px;
  padding: 0 2px 5px !important;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid rgba(199, 218, 233, .75);
}

.app-menu-head > div {
  min-width: 0;
  flex: 1;
}

.app-menu-head strong {
  display: block;
  color: #102d58;
  font-size: 15px !important;
  line-height: 1.1;
  letter-spacing: -.02em;
}

.app-menu-head small {
  display: block;
  margin-top: 2px;
  color: #74879d !important;
  font-size: 7px !important;
  font-weight: 700;
}

.app-menu-head .app-version {
  flex: 0 0 auto;
  margin-left: 0;
  padding: 4px 7px;
  background: linear-gradient(135deg, #e5f3ff, #f3f9ff);
  box-shadow: inset 0 0 0 1px rgba(63, 142, 218, .08);
}

.app-menu-head > button {
  width: 32px !important;
  height: 32px !important;
  flex: 0 0 32px;
  border: 0 !important;
  border-radius: 11px !important;
  background: #eaf1f7 !important;
  color: #45617c !important;
  font-size: 20px !important;
  line-height: 1;
}

.app-menu-scroll {
  min-height: 0;
  flex: 0 1 auto;
  padding: 5px 0 1px !important;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-content: start;
  gap: 4px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
}

.app-menu-scroll::-webkit-scrollbar {
  display: none;
}

.app-menu-scroll > button {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  min-width: 0;
  min-height: 52px !important;
  margin: 0;
  padding: 4px 2px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2px;
  border: 1px solid rgba(202, 220, 234, .88);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .99), rgba(245, 250, 254, .98));
  color: #17365e;
  text-align: center;
  box-shadow: 0 4px 12px rgba(24, 69, 111, .06);
}

.app-menu-scroll > button:active {
  border-color: rgba(75, 153, 225, .5);
  background: linear-gradient(145deg, #edf7ff, #f8fcff);
  box-shadow: 0 2px 7px rgba(24, 69, 111, .08);
}

.app-menu-scroll .action-icon {
  width: 26px !important;
  height: 26px !important;
  flex: 0 0 26px;
  border-radius: 9px !important;
  background: linear-gradient(145deg, #e9f5ff, #f5faff) !important;
  color: #0a71db !important;
  font-size: 14px !important;
  box-shadow: inset 0 0 0 1px rgba(40, 132, 217, .05);
}

.app-menu-scroll > button:nth-child(4n+2) .action-icon {
  background: linear-gradient(145deg, #eef8f3, #f8fcfa) !important;
  color: #21805d !important;
}

.app-menu-scroll > button:nth-child(4n+3) .action-icon {
  background: linear-gradient(145deg, #fff6df, #fffaf0) !important;
  color: #bd7710 !important;
}

.app-menu-scroll > button:nth-child(4n+4) .action-icon {
  background: linear-gradient(145deg, #f2efff, #faf9ff) !important;
  color: #6652b5 !important;
}

.app-menu-scroll strong {
  display: block;
  color: #17345d;
  font-size: 8.2px !important;
  line-height: 1.08;
  text-align: center;
  overflow-wrap: anywhere;
}

.app-menu-scroll small {
  display: none !important;
}

.app-menu-footer-actions {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr);
  gap: 5px;
  padding-top: 5px;
}

.app-menu-footer-actions > button {
  appearance: none;
  -webkit-appearance: none;
  min-width: 0;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 5px 8px;
  border-radius: 13px;
  font: inherit;
  font-weight: 900;
}

.app-menu-footer-actions > button[hidden] {
  display: none !important;
}

.app-menu-footer-actions .action-icon {
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  font-size: 14px;
}

.app-menu-footer-actions strong {
  display: block;
  font-size: 9px;
  line-height: 1.1;
}

.app-menu-footer-actions small {
  display: none;
}

.app-menu-footer-actions > .app-menu-support {
  border-color: #cc2331;
  background: linear-gradient(135deg, #d92f3d, #b9182a);
  color: #fff;
  box-shadow: 0 7px 18px rgba(181, 24, 42, .22);
}

.app-menu-footer-actions > .app-menu-support .action-icon {
  background: rgba(255, 255, 255, .16) !important;
  color: #fff !important;
}

.app-menu-footer-actions > .app-menu-support strong {
  color: #fff;
}

.app-menu-footer-actions > .app-menu-logout {
  border: 1px solid #e4a7ad;
  background: linear-gradient(145deg, #fff, #fff1f2);
  color: #ad2532;
  box-shadow: 0 4px 12px rgba(117, 25, 39, .08);
}

.app-menu-footer-actions > .app-menu-logout .action-icon {
  background: #ffe5e8;
  color: #b52131;
}

.app-menu-sheet > .cancel-action {
  display: none !important;
}

.comment-row {
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 8px;
  margin: 10px 0;
}

.comment-row.reply {
  margin: 8px 0 8px 28px;
}

.comment-row.reply .comment-row.reply {
  margin-left: 12px;
}

.comment-content {
  min-width: 0;
}

.comment-bubble {
  border-radius: 16px;
  background: linear-gradient(145deg, #f0f4f8, #f5f7fa);
}

.comment-meta {
  min-height: 28px;
  padding: 1px 4px 0;
  display: flex;
  align-items: center;
  gap: 9px;
}

.comment-time {
  display: inline;
  margin: 0;
  color: #8493a5;
  font-size: 9px;
}

.comment-reply-button {
  min-height: 28px;
  padding: 4px 5px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #536a82;
  font-size: 10px;
  font-weight: 900;
}

.comment-reply-button:active {
  background: #e9f1f7;
  color: #096ed8;
}

.comment-more {
  width: 34px;
  height: 34px;
  margin-top: 2px;
  color: #718196;
  font-size: 18px;
}

.comment-children {
  margin-top: 2px;
}

@media (max-width: 370px) {
  .app-menu-sheet {
    padding-inline: 8px !important;
  }

  .app-menu-scroll {
    gap: 3px;
  }

  .app-menu-scroll > button {
    min-height: 49px !important;
    padding: 3px 2px;
    gap: 2px;
    border-radius: 12px;
  }

  .app-menu-scroll .action-icon {
    width: 24px !important;
    height: 24px !important;
    flex-basis: 24px;
    border-radius: 8px !important;
    font-size: 13px !important;
  }

  .app-menu-scroll strong {
    font-size: 7.5px !important;
  }

  .app-menu-footer-actions {
    gap: 4px;
  }

  .app-menu-footer-actions > button {
    min-height: 39px;
    padding-inline: 5px;
  }

  .comment-row.reply {
    margin-left: 18px;
  }
}


/* 1.4.5 – kompakter Header mit neuem Rosapineta-Symbol */
.app-header {
  min-height: 64px !important;
  height: 64px !important;
  padding: 7px 12px !important;
}

.app-header::after {
  right: 76px;
  top: -38px;
  font-size: 84px;
  opacity: .065;
}

.brand {
  min-width: 0;
  gap: 9px;
  font-size: 20px !important;
  line-height: 1;
  white-space: nowrap;
}

.brand > span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
}

.brand-logo {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .52);
  border-radius: 14px !important;
  background: #f1dfba !important;
  box-shadow: 0 5px 13px rgba(0, 28, 66, .22) !important;
}

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

.header-actions {
  flex: 0 0 auto;
  gap: 6px;
}

.header-actions .round-button {
  width: 40px;
  height: 40px;
  padding: 10px;
}

@media (max-width: 370px) {
  .app-header {
    padding-inline: 9px !important;
  }

  .brand {
    gap: 7px;
    font-size: 17px !important;
  }

  .brand-logo {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px;
    border-radius: 13px !important;
  }

  .header-actions {
    gap: 4px;
  }

  .header-actions .round-button {
    width: 37px;
    height: 37px;
    padding: 9px;
  }
}

/* 1.4.5 – Beitragstypen und echte Umfragen */
.feed-filter-row {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  padding: 0 2px 2px;
  scrollbar-width: none;
}
.feed-filter-row::-webkit-scrollbar { display: none; }
.feed-filter-chip {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid #d6e2ed;
  border-radius: 999px;
  background: #fff;
  color: #4d627b;
  font-size: 10px;
  font-weight: 850;
  box-shadow: 0 3px 10px rgba(16, 56, 101, .05);
}
.feed-filter-chip.active {
  border-color: #0c78ec;
  background: linear-gradient(135deg, #0b71e8, #16a7e4);
  color: #fff;
}

.feed-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0 0 7px;
  padding: 5px 9px;
  border: 1px solid #d7e5f1;
  border-radius: 999px;
  background: #f3f8fd;
  color: #315a83;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .02em;
}
.feed-type-question .feed-type-badge { background: #edf6ff; color: #0c6cca; }
.feed-type-tip .feed-type-badge { background: #fff8df; color: #916100; }
.feed-type-meetup .feed-type-badge { background: #f1efff; color: #6847b6; }
.feed-type-alert .feed-type-badge { background: #fff0e9; color: #b44f23; }
.feed-type-poll .feed-type-badge { background: #eef8f5; color: #15725f; }

.feed-type-question {
  border-color: #bcdcf6 !important;
  box-shadow: 0 8px 24px rgba(16, 113, 204, .10) !important;
}
.feed-type-question .post-body h2::after {
  content: ' ?';
  color: #0b75e7;
}

.feed-poll {
  margin: 0 12px 11px;
  padding: 12px;
  border: 1px solid #d7e6e1;
  border-radius: 17px;
  background: linear-gradient(145deg, #f6fcfa, #eef8ff);
}
.feed-poll h3 {
  margin: 0 0 10px;
  color: #14355b;
  font-size: 14px;
  line-height: 1.3;
}
.feed-poll-options {
  display: grid;
  gap: 7px;
}
.feed-poll-option {
  position: relative;
  min-height: 45px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  overflow: hidden;
  border: 1px solid #cfdfe9;
  border-radius: 13px;
  background: #fff;
  color: #25435f;
  font-size: 11px;
  font-weight: 800;
  text-align: left;
}
.feed-poll-option::before {
  content: '';
  position: absolute;
  z-index: 0;
  inset: 0 auto 0 0;
  width: var(--poll-percent, 0%);
  background: rgba(14, 135, 214, .13);
}
.feed-poll-option > span,
.feed-poll-option > strong { position: relative; z-index: 1; }
.feed-poll-option.voted {
  border-color: #0c7be9;
  color: #0968c3;
}
button.feed-poll-option:disabled { opacity: 1; }
.feed-poll-meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
  color: #74869a;
  font-size: 9px;
}

.composer-type-context {
  margin: 0 14px 2px;
  padding: 10px 12px;
  border: 1px solid #dbe7f1;
  border-radius: 14px;
  background: #f6faff;
  color: #49617c;
  font-size: 11px;
  line-height: 1.4;
}
.composer-type-context strong {
  display: block;
  margin-bottom: 2px;
  color: #16375e;
  font-size: 12px;
}
.full-sheet.is-type-question .composer-type-context {
  border-color: #b9d9f3;
  background: #edf7ff;
}
.full-sheet.is-type-poll .composer-type-context {
  border-color: #c8e3da;
  background: #f0faf7;
}

.composer-poll {
  margin: 3px 14px 12px;
  padding: 13px;
  border: 1px solid #cfe3dc;
  border-radius: 18px;
  background: linear-gradient(145deg, #f4fbf8, #eef8ff);
}
.composer-poll[hidden] { display: none !important; }
.composer-poll-head {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 11px;
}
.composer-poll-head > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  background: #e1f2ed;
  font-size: 20px;
}
.composer-poll-head strong,
.composer-poll-head small { display: block; }
.composer-poll-head strong { color: #16375a; font-size: 13px; }
.composer-poll-head small { margin-top: 2px; color: #718499; font-size: 9px; }
.composer-poll label { display: block; }
.composer-poll label > span {
  display: block;
  margin: 0 2px 5px;
  color: #49627e;
  font-size: 9px;
  font-weight: 850;
}
.composer-poll input {
  width: 100%;
  height: 44px;
  border: 1px solid #d1e0e9;
  border-radius: 12px;
  outline: none;
  background: #fff;
  color: #1d3858;
  padding: 0 12px;
}
.composer-poll input:focus {
  border-color: #0b7ce9;
  box-shadow: 0 0 0 3px rgba(11, 124, 233, .12);
}
.composer-poll-options {
  display: grid;
  gap: 7px;
  margin-top: 9px;
}
.composer-poll-options label {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  border: 1px solid #d1e0e9;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.composer-poll-options label > span {
  display: grid;
  height: 42px;
  margin: 0;
  place-items: center;
  background: #e9f4fb;
  color: #276495;
  font-size: 11px;
}
.composer-poll-options input {
  height: 42px;
  border: 0;
  border-radius: 0;
  box-shadow: none !important;
}
.composer-add-poll-option {
  min-height: 40px;
  margin-top: 8px;
  border: 1px dashed #9fc5db;
  border-radius: 12px;
  background: rgba(255,255,255,.72);
  color: #246a9c;
  font-size: 10px;
  font-weight: 850;
}
.composer-poll-end { margin-top: 10px; }

@media (max-width: 380px) {
  .composer-type-context,
  .composer-poll { margin-left: 10px; margin-right: 10px; }
}

/* 1.6.0 – neue öffentliche Willkommen-/Loginseite */
.nav-item[data-route="messages"] > .icon {
  width: 23px !important;
  height: 23px !important;
  margin: 0 !important;
  transform: none !important;
}
.nav-item[data-route="messages"] > .icon svg {
  width: 100% !important;
  height: 100% !important;
  stroke-width: 2 !important;
}

body.app-guest {
  overflow-x: hidden;
  background: #d9eef7;
}
body.app-guest .app-header,
body.app-guest .app-nav {
  display: none !important;
}
body.app-guest #app-shell,
body.app-guest .app-main {
  width: 100%;
  min-height: 100dvh;
}
body.app-guest .app-main {
  max-width: none;
  margin: 0;
  padding: 0 !important;
  overflow: visible;
  background: #d9eef7;
}
body.app-guest .connection-banner {
  position: fixed;
  z-index: 140;
  top: max(8px, env(safe-area-inset-top, 0px));
  left: 50%;
  transform: translateX(-50%);
}

.guest-welcome {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 100dvh;
  overflow: clip;
  color: #102a52;
  background: #d7edf7;
}
.guest-background,
.guest-background-shade {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.guest-background {
  z-index: 0;
  overflow: hidden;
  background: linear-gradient(180deg, #62c5f2, #dff3f8 52%, #8c9b85);
}
.guest-background img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 50% 52%;
  transform: none;
  transform-origin: 50% 50%;
  filter: saturate(.96) contrast(.98);
}
.guest-background-shade {
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(4, 30, 65, .19) 0, rgba(7, 45, 77, .03) 25%, transparent 48%, rgba(7, 35, 55, .16) 68%, rgba(6, 25, 43, .3) 100%),
    radial-gradient(circle at 50% 8%, rgba(255, 255, 255, .25), transparent 32%);
}
.guest-layout {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 100dvh;
}
.guest-hero {
  width: min(760px, 100%);
  min-height: clamp(330px, 52dvh, 540px);
  margin: 0 auto;
  padding: max(12px, env(safe-area-inset-top, 0px)) 12px 18px;
}
.guest-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.guest-brand {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 6px 10px 6px 6px;
  border: 1px solid rgba(255, 255, 255, .66);
  border-radius: 19px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 8px 22px rgba(5, 43, 78, .16);
  -webkit-backdrop-filter: blur(15px) saturate(1.14);
  backdrop-filter: blur(15px) saturate(1.14);
}
.guest-brand img {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: block;
  object-fit: cover;
  border-radius: 14px;
  box-shadow: 0 4px 11px rgba(4, 50, 72, .17);
}
.guest-brand > span {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.guest-brand strong {
  overflow: hidden;
  color: #07365d;
  font-size: clamp(15px, 4.5vw, 20px);
  line-height: 1.05;
  letter-spacing: -.035em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.guest-brand small {
  color: #1b6176;
  font-size: 6.5px;
  font-weight: 900;
  letter-spacing: .13em;
  line-height: 1.15;
  white-space: nowrap;
}
.guest-language {
  position: relative;
  z-index: 8;
  flex: 0 0 auto;
}
.guest-language-toggle {
  min-width: 67px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 9px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 17px;
  color: #0b365f;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 8px 22px rgba(5, 43, 78, .15);
  -webkit-backdrop-filter: blur(15px) saturate(1.14);
  backdrop-filter: blur(15px) saturate(1.14);
}
.guest-language-flag {
  font-size: 20px;
  line-height: 1;
}
.guest-language-toggle strong {
  font-size: 10px;
  letter-spacing: .03em;
}
.guest-language-chevron {
  margin-top: -3px;
  color: #52718b;
  font-size: 14px;
  line-height: 1;
}
.guest-language-menu {
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  width: 176px;
  display: grid;
  gap: 3px;
  padding: 7px;
  border: 1px solid rgba(255, 255, 255, .75);
  border-radius: 17px;
  background: rgba(247, 252, 255, .95);
  box-shadow: 0 18px 38px rgba(4, 33, 65, .25);
  -webkit-backdrop-filter: blur(20px) saturate(1.18);
  backdrop-filter: blur(20px) saturate(1.18);
}
.guest-language-menu[hidden] {
  display: none !important;
}
.guest-language-menu button {
  min-height: 42px;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  gap: 7px;
  align-items: center;
  padding: 0 9px;
  border: 0;
  border-radius: 12px;
  color: #173a60;
  background: transparent;
  text-align: left;
}
.guest-language-menu button > span {
  font-size: 19px;
}
.guest-language-menu button strong {
  font-size: 11px;
}
.guest-language-menu button small {
  color: #7590a6;
  font-size: 8px;
  font-weight: 900;
}
.guest-language-menu button.is-selected {
  color: #0868cf;
  background: #e9f5ff;
  box-shadow: inset 0 0 0 1px #cde5f8;
}
.guest-claim {
  width: min(540px, calc(100% - 24px));
  display: grid;
  gap: 4px;
  margin: 14px auto 0;
  padding: 10px 15px;
  border: 1px solid rgba(255, 255, 255, .68);
  border-radius: 18px;
  color: #12375f;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 9px 24px rgba(7, 44, 76, .14);
  text-align: center;
  -webkit-backdrop-filter: blur(15px) saturate(1.1);
  backdrop-filter: blur(15px) saturate(1.1);
}
.guest-claim strong {
  font-size: clamp(14px, 4.1vw, 18px);
  line-height: 1.15;
}
.guest-claim span {
  color: #446782;
  font-size: clamp(9px, 2.7vw, 11px);
  line-height: 1.35;
}
.guest-panel {
  width: min(640px, calc(100% - 14px));
  margin: 0 auto max(7px, env(safe-area-inset-bottom, 0px));
  padding: 17px;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 27px;
  background: linear-gradient(160deg, rgba(255, 255, 255, .95), rgba(247, 252, 255, .9));
  box-shadow: 0 20px 55px rgba(5, 35, 67, .24), inset 0 1px rgba(255, 255, 255, .8);
  -webkit-backdrop-filter: blur(20px) saturate(1.1);
  backdrop-filter: blur(20px) saturate(1.1);
}
.guest-actions {
  display: grid;
  gap: 8px;
  margin: 0 0 12px;
}
.guest-actions button {
  width: 100%;
  min-height: 49px;
  border-radius: 15px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: -.01em;
}
.guest-register {
  border: 0;
  color: #fff;
  background: linear-gradient(112deg, #0872ed 0%, #087ff0 50%, #10afd0 100%);
  box-shadow: 0 9px 22px rgba(7, 108, 221, .27), inset 0 1px rgba(255, 255, 255, .22);
}
.guest-login {
  border: 1px solid #9bcaf0;
  color: #123b68;
  background: rgba(255, 255, 255, .8);
  box-shadow: inset 0 1px rgba(255, 255, 255, .9);
}
.guest-benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.guest-benefits article {
  min-width: 0;
  min-height: 101px;
  display: grid;
  grid-template-columns: 39px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 10px 9px;
  border: 1px solid rgba(198, 217, 232, .73);
  border-radius: 17px;
  background: rgba(255, 255, 255, .69);
  box-shadow: 0 5px 15px rgba(27, 70, 108, .06);
}
.guest-benefit-icon {
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #0871dd;
  background: #e9f5ff;
}
.guest-benefit-icon .icon {
  width: 23px;
  height: 23px;
}
.guest-benefit-icon.coral {
  color: #e95142;
  background: #fff0e9;
}
.guest-benefit-icon.teal {
  color: #047f8f;
  background: #e7f7f7;
}
.guest-benefit-icon.green {
  color: #167e65;
  background: #e8f7f1;
}
.guest-benefits strong {
  display: block;
  color: #153459;
  font-size: 10.5px;
  line-height: 1.2;
}
.guest-benefits p {
  margin: 4px 0 0;
  color: #60758c;
  font-size: 8.8px;
  line-height: 1.35;
}
.guest-protected {
  max-width: 570px;
  display: grid;
  grid-template-columns: 19px minmax(0, 1fr);
  gap: 7px;
  align-items: start;
  margin: 11px auto 0;
  color: #55718e;
  font-size: 8.6px;
  line-height: 1.4;
}
.guest-protected .icon {
  width: 17px;
  height: 17px;
  color: #0874e8;
}
.guest-disclaimer {
  max-width: 575px;
  margin: 8px auto 0;
  padding-top: 8px;
  border-top: 1px solid rgba(176, 200, 218, .52);
  color: #6d8092;
  font-size: 7.8px;
  line-height: 1.4;
  text-align: center;
}

@media (max-width: 365px) {
  .guest-hero { padding-left: 8px; padding-right: 8px; }
  .guest-brand { gap: 7px; padding-right: 8px; }
  .guest-brand img { width: 42px; height: 42px; flex-basis: 42px; border-radius: 13px; }
  .guest-brand strong { font-size: 15px; }
  .guest-brand small { font-size: 5.8px; letter-spacing: .11em; }
  .guest-language-toggle { min-width: 62px; height: 45px; padding: 0 7px; }
  .guest-language-flag { font-size: 18px; }
  .guest-panel { width: calc(100% - 10px); padding: 13px; border-radius: 24px; }
  .guest-benefits { gap: 6px; }
  .guest-benefits article { min-height: 99px; grid-template-columns: 34px minmax(0, 1fr); gap: 6px; padding: 9px 7px; }
  .guest-benefit-icon { width: 34px; height: 34px; border-radius: 11px; }
  .guest-benefit-icon .icon { width: 20px; height: 20px; }
  .guest-benefits strong { font-size: 9.5px; }
  .guest-benefits p { font-size: 7.6px; }
}

@media (max-height: 760px) {
  .guest-hero { min-height: clamp(300px, 45dvh, 355px); }
  .guest-claim { margin-top: 10px; padding-top: 8px; padding-bottom: 8px; }
  .guest-panel { padding-top: 14px; padding-bottom: 13px; }
  .guest-actions { gap: 6px; margin-bottom: 9px; }
  .guest-actions button { min-height: 44px; }
  .guest-benefits article { min-height: 93px; }
  .guest-protected { margin-top: 8px; }
  .guest-disclaimer { margin-top: 6px; padding-top: 6px; }
}

@media (min-width: 700px) and (max-height: 700px) {
  .guest-hero { min-height: 240px; }
  .guest-benefits { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .guest-benefits article { min-height: 106px; }
}

@media (min-width: 900px) {
  body.app-guest .app-main {
    display: grid;
    place-items: center;
    background: #e8f4f8;
  }

  .guest-welcome {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: clamp(22px, 3vw, 42px);
  }

  .guest-background img {
    object-position: 50% 61%;
    transform: scale(1.06);
    filter: blur(14px) saturate(.82) contrast(.94);
    opacity: .5;
  }

  .guest-background-shade {
    background:
      linear-gradient(105deg, rgba(4, 31, 62, .3), rgba(225, 244, 250, .55) 48%, rgba(255, 248, 230, .78)),
      radial-gradient(circle at 13% 10%, rgba(66, 190, 233, .2), transparent 31rem),
      radial-gradient(circle at 91% 8%, rgba(255, 213, 83, .18), transparent 24rem);
  }

  .guest-layout {
    width: min(1420px, 100%);
    min-height: min(880px, calc(100vh - clamp(44px, 6vw, 84px)));
    display: grid;
    grid-template-columns: minmax(470px, 1.18fr) minmax(450px, .82fr);
    gap: clamp(20px, 2.4vw, 36px);
    align-items: stretch;
    margin: 0 auto;
  }

  .guest-hero {
    width: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: clamp(22px, 2.5vw, 34px);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 38px;
    background-image:
      linear-gradient(180deg, rgba(5, 37, 70, .08), rgba(5, 33, 61, .04) 48%, rgba(5, 28, 52, .58)),
      url('/app-native/welcome-rosolina.webp?v=160');
    background-image:
      linear-gradient(180deg, rgba(5, 37, 70, .08), rgba(5, 33, 61, .04) 48%, rgba(5, 28, 52, .58)),
      image-set(
        url('/app-native/welcome-rosolina.avif?v=160') type('image/avif'),
        url('/app-native/welcome-rosolina.webp?v=160') type('image/webp')
      );
    background-position: center 60%;
    background-size: cover;
    box-shadow: 0 28px 75px rgba(4, 34, 65, .24);
  }

  .guest-topbar {
    width: 100%;
  }

  .guest-brand {
    padding: 7px 13px 7px 7px;
    border-radius: 21px;
  }

  .guest-brand img {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
    border-radius: 15px;
  }

  .guest-brand strong {
    font-size: 21px;
  }

  .guest-language-toggle {
    min-width: 76px;
    height: 52px;
  }

  .guest-claim {
    width: min(570px, calc(100% - 24px));
    margin: auto auto 0;
    padding: 15px 20px;
    border-radius: 21px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 13px 35px rgba(4, 31, 61, .22);
  }

  .guest-claim strong {
    font-size: 20px;
  }

  .guest-claim span {
    font-size: 12px;
  }

  .guest-panel {
    width: 100%;
    max-width: 570px;
    align-self: center;
    margin: 0;
    padding: clamp(20px, 2.2vw, 29px);
    border-radius: 34px;
    box-shadow: 0 28px 75px rgba(4, 34, 65, .21), inset 0 1px rgba(255, 255, 255, .9);
  }

  .guest-actions {
    gap: 10px;
    margin-bottom: 17px;
  }

  .guest-actions button {
    min-height: 55px;
    border-radius: 17px;
    font-size: 14px;
  }

  .guest-benefits {
    gap: 10px;
  }

  .guest-benefits article {
    min-height: 112px;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
    padding: 13px 12px;
    border-radius: 19px;
  }

  .guest-benefit-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
  }

  .guest-benefits strong {
    font-size: 12px;
  }

  .guest-benefits p {
    font-size: 9.5px;
    line-height: 1.42;
  }

  .guest-protected {
    margin-top: 15px;
    font-size: 9.5px;
  }

  .guest-disclaimer {
    margin-top: 11px;
    padding-top: 10px;
    font-size: 8.5px;
  }
}

@media (min-width: 900px) and (max-height: 760px) {
  .guest-welcome { padding: 18px; }
  .guest-layout { min-height: calc(100vh - 36px); }
  .guest-hero { padding: 20px; }
  .guest-panel { padding: 18px; }
  .guest-actions { gap: 7px; margin-bottom: 11px; }
  .guest-actions button { min-height: 47px; }
  .guest-benefits { gap: 7px; }
  .guest-benefits article { min-height: 94px; padding: 9px; }
  .guest-protected { margin-top: 9px; }
  .guest-disclaimer { margin-top: 7px; padding-top: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .guest-background img { transform: none; }
}

@media (prefers-reduced-motion: reduce) and (min-width: 900px) {
  .guest-background img { transform: scale(1.06); }
}

/* 1.4.8 – eigenständiger Upload nur für die Foto-Pinnwand */
.photo-upload-sheet {
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-bottom: calc(22px + env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 92% 6%, rgba(255, 220, 104, .22), transparent 13rem),
    linear-gradient(180deg, #f8fcff, #eef8ff);
}

.photo-upload-intro {
  padding: 14px 18px 10px;
}

.photo-upload-author {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
}

.photo-upload-author strong,
.photo-upload-author small {
  display: block;
}

.photo-upload-author strong {
  color: #15375e;
  font-size: 12px;
}

.photo-upload-author small {
  margin-top: 2px;
  color: #71859a;
  font-size: 9px;
}

.photo-upload-badge {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  color: #0868c9;
  background: #e6f5ff;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.photo-upload-intro h2 {
  margin: 8px 0 5px;
  color: #102f55;
  font-size: 22px;
  letter-spacing: -.025em;
}

.photo-upload-intro p {
  margin: 0;
  color: #667d94;
  font-size: 10px;
  line-height: 1.45;
}

.photo-upload-preview {
  min-height: 162px;
  margin: 0 18px;
  padding: 6px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  border: 1px solid #cfdfeb;
  border-radius: 20px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 10px 24px rgba(25, 69, 108, .08);
}

.photo-upload-preview .photo-preview {
  min-width: 0;
  aspect-ratio: 1 / 1;
  border-radius: 13px;
}

.photo-upload-preview .photo-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photo-upload-empty {
  grid-column: 1 / -1;
  min-height: 148px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  border: 1px dashed #a9cce4;
  border-radius: 15px;
  color: #276a9f;
  background: linear-gradient(145deg, #f5fbff, #edf7ff);
}

.photo-upload-empty span { font-size: 28px; }
.photo-upload-empty strong { font-size: 12px; }
.photo-upload-empty small { color: #71869a; font-size: 9px; }

.photo-upload-toolbar {
  margin: 9px 18px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.photo-upload-toolbar button {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  border: 1px solid #c7dceb;
  border-radius: 12px;
  color: #1769b7;
  background: #fff;
  font-size: 10px;
  font-weight: 850;
}

.photo-upload-toolbar .icon { width: 18px; height: 18px; }
.photo-upload-toolbar small { color: #71869a; font-size: 9px; font-weight: 800; }

.photo-upload-fields {
  margin: 14px 18px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.photo-upload-fields label {
  display: grid;
  gap: 5px;
  color: #294c6d;
  font-size: 9px;
  font-weight: 850;
}

.photo-upload-fields label:first-child,
.photo-upload-fields label:last-child {
  grid-column: 1 / -1;
}

.photo-upload-fields label span small {
  color: #8192a3;
  font-weight: 650;
}

.photo-upload-fields input,
.photo-upload-fields select,
.photo-upload-fields textarea {
  width: 100%;
  min-height: 42px;
  padding: 10px 11px;
  border: 1px solid #cfdeea;
  border-radius: 13px;
  color: #15375e;
  background: rgba(255, 255, 255, .96);
  font: inherit;
  font-size: 11px;
  font-weight: 650;
  resize: vertical;
}

.photo-upload-rights {
  margin: 14px 18px 0;
}

.photo-upload-note {
  margin: 10px 22px 0;
  color: #768a9c;
  font-size: 8px;
  line-height: 1.4;
  text-align: center;
}

@media (max-width: 360px), (max-height: 720px) {
  .photo-upload-intro { padding-top: 10px; }
  .photo-upload-intro h2 { font-size: 19px; }
  .photo-upload-preview { min-height: 132px; }
  .photo-upload-empty { min-height: 118px; }
  .photo-upload-fields { margin-top: 10px; }
  .photo-upload-rights { margin-top: 10px; }
}

/* 1.4.9 – klare Freunde-, Such- und Anfragenansicht */
.messages-screen #message-content.friends-card {
  overflow: visible;
}

.friends-overview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  background:
    radial-gradient(circle at 92% 10%, rgba(255, 222, 105, .22), transparent 28%),
    linear-gradient(145deg, #ffffff, #f3faff);
  border-bottom: 1px solid #e6eef5;
}

.friends-overview-head h2 {
  margin: 2px 0 3px;
  color: #14335d;
  font-size: 19px;
}

.friends-overview-head p {
  margin: 0;
  color: #72869b;
  font-size: 9px;
  line-height: 1.35;
}

.friends-kicker {
  color: #0a75d9;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .13em;
}

.find-friends-button,
.friends-empty button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 12px;
  border: 0;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(135deg, #0874e8, #12a8e7);
  box-shadow: 0 7px 16px rgba(7, 112, 219, .18);
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}

.find-friends-button > span:first-child {
  font-size: 17px;
  line-height: 1;
}

.friends-list {
  display: grid;
}

.friend-card-row {
  min-height: 74px;
  padding: 11px 14px;
}

.friend-copy small {
  display: block;
  margin-top: 3px;
  color: #2f8c6d;
  font-size: 8px;
  font-weight: 800;
}

.friend-message-button {
  min-width: 82px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 10px;
  border: 1px solid #cfe0ed;
  border-radius: 13px;
  color: #176bb8;
  background: #fff;
  font-size: 9px;
  font-weight: 850;
}

.friend-message-button .icon {
  width: 18px;
  height: 18px;
}

.friend-message-button.is-disabled {
  color: #8595a5;
  background: #eef3f7;
  opacity: .78;
}

#people-search-slot {
  padding: 10px;
  background: #f5faff;
  border-bottom: 1px solid #deebf4;
}

.people-search {
  padding: 12px;
  border: 1px solid #cfe0ec;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 9px 20px rgba(24, 70, 110, .08);
}

.people-search header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.people-search header strong {
  display: block;
  color: #15365f;
  font-size: 13px;
}

.people-search header small {
  display: block;
  margin-top: 2px;
  color: #7b8ea1;
  font-size: 9px;
}

.people-search header button {
  width: 31px;
  height: 31px;
  border: 0;
  border-radius: 50%;
  color: #60768c;
  background: #edf3f8;
  font-size: 20px;
}

.people-search-field {
  height: 45px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  padding: 0 8px;
  border: 1px solid #c9dce9;
  border-radius: 14px;
  color: #1974c5;
  background: #fafdff;
}

.people-search-field > span {
  text-align: center;
  font-size: 20px;
  transform: rotate(-20deg);
}

.people-search-field input {
  min-width: 0;
  height: 42px;
  padding: 0 5px;
  border: 0;
  outline: 0;
  color: #203e61;
  background: transparent;
  font-size: 12px;
}

.people-search-hint {
  margin: 7px 3px 0;
  color: #7b8ea2;
  font-size: 8px;
}

.people-results {
  display: grid;
  gap: 4px;
  margin-top: 8px;
  padding-top: 5px;
  border-top: 1px solid #edf2f6;
}

.people-result {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 7px 2px;
}

.people-result strong {
  display: block;
  color: #17325a;
  font-size: 12px;
}

.people-result strong.admin { color: #d62f39; }

.people-result small {
  display: block;
  margin-top: 2px;
  color: #7a8da4;
  font-size: 9px;
}

.people-result button {
  min-height: 38px;
  padding: 7px 10px;
  border: 0;
  border-radius: 11px;
  color: #fff;
  background: #0870e5;
  font-size: 9px;
  font-weight: 850;
}

.people-result button[disabled] {
  color: #6f8194;
  background: #e8eef4;
}

.people-search-loading {
  padding: 13px 8px;
  color: #70859a;
  text-align: center;
  font-size: 9px;
}

.people-search-feedback {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 8px;
  align-items: center;
  padding: 10px;
  border-radius: 13px;
  color: #385674;
  background: #f1f7fb;
}

.people-search-feedback > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #16805e;
  background: #dff5eb;
}

.people-search-feedback strong,
.people-search-feedback small {
  display: block;
}

.people-search-feedback strong { font-size: 10px; }
.people-search-feedback small { margin-top: 2px; color: #7a8da0; font-size: 8px; }

.friends-empty {
  min-height: 170px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  padding: 22px 18px;
  color: #6f8398;
  text-align: center;
}

.friends-empty > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  color: #1475c8;
  background: #e7f4ff;
  font-size: 23px;
}

.friends-empty strong { color: #17365c; font-size: 14px; }
.friends-empty p { max-width: 280px; margin: 0 0 5px; font-size: 10px; line-height: 1.4; }
.friends-empty.requests > span { color: #278969; background: #e2f5ed; }

.request-section + .request-section {
  border-top: 8px solid #eff6fb;
}

.request-section-head {
  min-height: 43px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 13px;
  border-bottom: 1px solid #e9eff4;
}

.request-section-head h2 {
  margin: 0;
  color: #19385f;
  font-size: 13px;
}

.request-section-head span {
  min-width: 23px;
  height: 23px;
  padding: 0 6px;
  border-radius: 99px;
  color: #0b6dcc;
  background: #e7f3ff;
  font-size: 9px;
  font-weight: 900;
  line-height: 23px;
  text-align: center;
}

.request-section.sent .request-section-head span {
  color: #765a1d;
  background: #fff4d9;
}

.request-row {
  min-height: 67px;
}

.request-waiting {
  padding: 8px 9px;
  border-radius: 10px;
  color: #7b6225;
  background: #fff5dd;
  font-size: 8px;
  font-weight: 850;
  white-space: nowrap;
}

.request-group-empty {
  padding: 15px 13px;
  color: #8091a3;
  font-size: 9px;
}

@media (max-width: 380px) {
  .friends-overview-head { align-items: flex-start; padding: 14px 12px; }
  .find-friends-button { min-width: 43px; padding: 0 10px; }
  .find-friends-button > span:last-child { display: none; }
  .friend-card-row { grid-template-columns: 46px minmax(0, 1fr) 44px; padding: 10px; }
  .friend-message-button { min-width: 42px; width: 42px; padding: 0; }
  .friend-message-button > span:last-child { display: none; }
  .friend-actions { flex-direction: column; }
  .friend-actions button { padding: 6px 7px; font-size: 8px; }
}

/* 1.4.9 – antippbare Community-Profile */
.friend-card-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

.friend-profile-button,
.request-profile-button,
.people-result-profile {
  min-width: 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
}

.friend-profile-button {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 18px;
  gap: 10px;
  align-items: center;
  padding: 0;
  border-radius: 13px;
}

.friend-profile-button:active,
.request-profile-button:active,
.people-result-profile:active {
  background: #edf6fd;
}

.friend-copy {
  min-width: 0;
}

.friend-copy strong,
.friend-location {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.friend-location {
  margin-top: 2px;
  color: #74889e;
  font-size: 9px;
}

.friend-profile-arrow {
  color: #6c8297;
  font-size: 23px;
  font-weight: 500;
}

.request-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

.request-profile-button {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  padding: 2px;
  border-radius: 12px;
}

.request-profile-button strong,
.request-profile-button small {
  display: block;
}

.request-profile-button small {
  margin-top: 3px;
  overflow: hidden;
  color: #7a8ca2;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.people-result {
  grid-template-columns: minmax(0, 1fr) auto;
}

.people-result .people-result-profile {
  min-height: 46px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  padding: 2px;
  border-radius: 12px;
  color: inherit;
  background: transparent;
}

.people-result .people-result-profile span {
  min-width: 0;
}

.people-result .people-result-profile strong,
.people-result .people-result-profile small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.community-profile-screen {
  position: fixed;
  z-index: 180;
  inset: 0;
  display: flex;
  flex-direction: column;
  color: #16345d;
  background:
    radial-gradient(circle at 93% 11%, rgba(255, 221, 102, .22), transparent 24%),
    linear-gradient(180deg, #edf9ff 0%, #f8fcff 48%, #eef7fd 100%);
}

.community-profile-head {
  flex: 0 0 auto;
  min-height: 64px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  gap: 7px;
  align-items: center;
  padding: max(8px, env(safe-area-inset-top, 0px)) 12px 8px;
  border-bottom: 1px solid rgba(205, 223, 236, .9);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 5px 18px rgba(24, 65, 104, .07);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.community-profile-head > button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 14px;
  color: #176cba;
  background: #edf6fd;
  font-size: 30px;
}

.community-profile-head > div {
  min-width: 0;
  text-align: center;
}

.community-profile-head small,
.community-profile-head strong {
  display: block;
}

.community-profile-head small {
  color: #2581c9;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .12em;
}

.community-profile-head strong {
  margin-top: 1px;
  font-size: 15px;
}

.community-profile-head .community-profile-head-message {
  color: #fff;
  background: linear-gradient(145deg, #0872e8, #10a8e5);
  font-size: inherit;
}

.community-profile-head-message .icon {
  width: 21px;
  height: 21px;
}

.community-profile-scroll {
  flex: 1 1 auto;
  width: min(760px, 100%);
  margin: 0 auto;
  padding: 12px 10px max(32px, env(safe-area-inset-bottom, 0px));
  overflow-y: auto;
  overscroll-behavior: contain;
}

.community-profile-hero {
  position: relative;
  overflow: hidden;
  padding: 18px 16px 14px;
  border: 1px solid #d2e2ee;
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 14%, rgba(255, 219, 91, .36), transparent 23%),
    radial-gradient(circle at 4% 92%, rgba(42, 183, 222, .17), transparent 26%),
    #fff;
  box-shadow: 0 10px 26px rgba(22, 68, 112, .1);
}

.community-profile-hero:after {
  content: '🌴 〰〰';
  position: absolute;
  right: -5px;
  bottom: 43px;
  opacity: .08;
  font-size: 48px;
  pointer-events: none;
}

.community-profile-identity {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.community-profile-identity .avatar {
  border-width: 4px;
  font-size: 22px;
}

.community-friend-label {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 99px;
  color: #19775c;
  background: #e4f6ef;
  font-size: 8px;
  font-weight: 900;
}

.community-profile-identity h1 {
  margin: 5px 0 3px;
  overflow: hidden;
  color: #12315c;
  font-size: clamp(23px, 7vw, 32px);
  line-height: 1.05;
  text-overflow: ellipsis;
}

.community-profile-identity p {
  margin: 0;
  color: #667d96;
  font-size: 10px;
  line-height: 1.4;
}

.community-profile-points {
  display: block;
  margin-top: 6px;
  color: #294665;
  font-size: 11px;
}

.community-profile-message {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 47px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 15px;
  border: 0;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(135deg, #0870e7, #11aae6);
  box-shadow: 0 8px 17px rgba(4, 111, 218, .2);
  font-size: 11px;
  font-weight: 900;
}

.community-profile-message .icon {
  width: 22px;
  height: 22px;
}

.community-profile-privacy {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 10px;
  color: #71869a;
  text-align: center;
  font-size: 8px;
  line-height: 1.35;
}

.community-profile-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}

.community-profile-facts article {
  min-width: 0;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 8px;
  padding: 11px;
  border: 1px solid #d6e5ef;
  border-radius: 17px;
  background: rgba(255, 255, 255, .94);
}

.community-profile-facts article > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #eef7ff;
}

.community-profile-facts strong,
.community-profile-facts p {
  display: block;
}

.community-profile-facts strong {
  font-size: 10px;
}

.community-profile-facts p {
  margin: 3px 0 0;
  overflow: hidden;
  color: #71849a;
  font-size: 9px;
  line-height: 1.35;
  text-overflow: ellipsis;
}

.community-profile-interests,
.community-profile-stays,
.community-profile-posts,
.community-profile-photos,
.community-profile-private-content {
  margin-top: 10px;
}

.community-profile-interests {
  padding: 14px;
}

.community-profile-stays {
  overflow: hidden;
}

.community-profile-stay-list {
  display: grid;
  padding: 0 12px;
}

.community-profile-stay {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 20px;
  gap: 10px;
  align-items: center;
  padding: 11px 0;
  border-top: 1px solid #eaf0f4;
}

.community-profile-stay:first-child {
  border-top: 0;
}

.community-profile-stay-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(145deg, #e9f7ff, #fff5d9);
  font-size: 22px;
}

.community-profile-stay small,
.community-profile-stay strong,
.community-profile-stay p {
  display: block;
  margin: 0;
}

.community-profile-stay small {
  color: #1481c7;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .08em;
}

.community-profile-stay strong {
  margin-top: 2px;
  font-size: 11px;
}

.community-profile-stay p {
  margin-top: 3px;
  overflow: hidden;
  color: #71849a;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.community-profile-stay-lock {
  font-size: 12px;
  opacity: .72;
}

.community-profile-stay-note {
  margin: 0;
  padding: 7px 12px 13px;
  color: #7a8c9f;
  font-size: 8px;
  line-height: 1.4;
}

.community-profile-interests header h2 {
  margin: 2px 0 10px;
  font-size: 18px;
}

.community-interest-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.community-interest-chips span {
  padding: 8px 10px;
  border: 1px solid #d6e6f1;
  border-radius: 99px;
  color: #235b88;
  background: #f1f8fd;
  font-size: 9px;
  font-weight: 800;
}

.public-profile-post-list {
  padding: 0 12px 12px;
}

.public-profile-post {
  min-height: 82px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 1px;
  border-top: 1px solid #eaf0f4;
}

.public-profile-post:first-child {
  border-top: 0;
}

.public-profile-post-copy {
  min-width: 0;
}

.public-post-type {
  color: #1380c6;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}

.public-profile-post h3 {
  margin: 4px 0 2px;
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.public-profile-post p {
  display: -webkit-box;
  margin: 2px 0 5px;
  overflow: hidden;
  color: #5b7088;
  font-size: 10px;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.public-profile-post-copy small {
  color: #8393a4;
  font-size: 8px;
}

.public-post-image {
  width: 70px;
  height: 70px;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 13px;
  background: #e8f0f6;
}

.public-post-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.public-post-open {
  color: #59748d;
  font-size: 24px;
}

.public-profile-photo-grid {
  padding: 0 10px 12px;
}

.community-profile-empty-copy {
  margin: 0;
  padding: 5px 14px 16px;
  color: #74899e;
  font-size: 10px;
}

.community-profile-private-content {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 15px;
}

.community-profile-private-content > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #eff4f8;
}

.community-profile-private-content strong {
  font-size: 12px;
}

.community-profile-private-content p {
  margin: 3px 0 0;
  color: #73869a;
  font-size: 9px;
  line-height: 1.4;
}

.community-profile-loading,
.community-profile-error {
  flex: 1;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 30px;
  color: #71869a;
  text-align: center;
}

.community-profile-error > span {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  background: #eef4f8;
  font-size: 28px;
}

.community-profile-error h2,
.community-profile-error p {
  margin: 0;
}

.community-profile-error h2 {
  color: #17365d;
  font-size: 20px;
}

.community-profile-error p {
  max-width: 330px;
  font-size: 11px;
  line-height: 1.45;
}

.community-profile-error button {
  min-height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 13px;
  color: #fff;
  background: #0872e6;
  font-size: 10px;
  font-weight: 900;
}

@media (max-width: 380px) {
  .friend-card-row { grid-template-columns: minmax(0, 1fr) 44px; }
  .friend-profile-button { grid-template-columns: 46px minmax(0, 1fr) 14px; gap: 8px; }
  .community-profile-scroll { padding-inline: 7px; }
  .community-profile-hero { padding-inline: 13px; }
  .community-profile-identity { grid-template-columns: 78px minmax(0, 1fr); gap: 11px; }
  .community-profile-identity .avatar { --avatar: 78px !important; }
  .community-profile-facts { grid-template-columns: 1fr; }
  .community-profile-facts article { min-height: 58px; }
}

/* 1.5.0 – Urlaub, Vor-Ort-Community und Countdown */
.onsite-home-card{padding-bottom:14px;background:radial-gradient(circle at 92% 8%,rgba(255,218,91,.24),transparent 25%),linear-gradient(145deg,#fff,#f2fbff)}
.onsite-strip{display:flex;align-items:flex-start;gap:0;padding:2px 13px 0;overflow-x:auto;scrollbar-width:none}.onsite-strip::-webkit-scrollbar{display:none}
.onsite-avatar{min-width:56px;margin-right:-6px;padding:0;border:0;background:transparent;color:#17365e;text-align:center}.onsite-avatar .avatar{border:3px solid #fff;box-shadow:0 5px 13px rgba(19,78,128,.18)}.onsite-avatar>span:last-child{display:block;max-width:52px;margin:4px auto 0;overflow:hidden;font-size:8px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.onsite-more{min-width:44px;height:44px;display:grid;place-items:center;margin:2px 0 0 -1px;border:3px solid #fff;border-radius:50%;color:#fff;background:linear-gradient(135deg,#0875e8,#17aedf);font-size:10px;font-weight:900;box-shadow:0 5px 13px rgba(19,78,128,.18)}
.onsite-summary{margin:5px 15px 10px;color:#71859b;font-size:9px}.onsite-empty{display:flex;align-items:center;gap:10px;margin:0 13px 10px;padding:12px;border-radius:15px;background:#f1f8fc}.onsite-empty>span{font-size:24px}.onsite-empty strong,.onsite-empty small{display:block}.onsite-empty strong{font-size:11px}.onsite-empty small{margin-top:2px;color:#788a9d;font-size:8px}
.next-trip-banner{width:calc(100% - 26px);min-height:58px;display:grid;grid-template-columns:42px minmax(0,1fr) 16px;gap:9px;align-items:center;margin:0 13px;padding:8px 10px;border:1px solid #c8dfef;border-radius:16px;color:#17365e;background:rgba(255,255,255,.92);text-align:left}.next-trip-banner>span{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#e9f5ff;font-size:20px}.next-trip-banner strong,.next-trip-banner small{display:block}.next-trip-banner strong{font-size:12px}.next-trip-banner small{margin-top:2px;color:#71859c;font-size:8px;line-height:1.35}.next-trip-banner>b{color:#0a72dd;font-size:20px}.next-trip-banner.empty>span{color:#0a72dd;background:#e9f5ff;font-weight:900}
.travel-screen{display:grid;gap:10px}.travel-hero{min-height:145px;display:grid;grid-template-columns:38px minmax(0,1fr) 48px;gap:10px;align-items:start;padding:17px;border:1px solid #cfe1ef;border-radius:23px;background:radial-gradient(circle at 88% 14%,rgba(255,218,91,.35),transparent 27%),linear-gradient(145deg,#fff,#eaf8ff);box-shadow:0 12px 28px rgba(20,68,111,.09)}.travel-hero h1{margin:3px 0 5px;font-size:25px}.travel-hero p{margin:0;color:#657c96;font-size:10px;line-height:1.45}.travel-kicker{color:#0875d9;font-size:8px;font-weight:900;letter-spacing:.13em}.travel-hero-add{width:48px;height:54px;display:grid;place-items:center;padding:5px;border:0;border-radius:16px;color:#fff;background:linear-gradient(145deg,#0875e8,#17b2e3);box-shadow:0 9px 18px rgba(8,117,232,.22)}.travel-hero-add span{font-size:22px;line-height:18px}.travel-hero-add small{font-size:8px;font-weight:850}
.travel-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:5px;border:1px solid #d6e3ed;border-radius:18px;background:#fff;box-shadow:0 7px 18px rgba(20,68,111,.06)}.travel-tabs button{min-height:44px;border:0;border-radius:14px;color:#60758d;background:transparent;font-size:10px;font-weight:850}.travel-tabs button.active{color:#fff;background:linear-gradient(135deg,#0874e8,#16afe2);box-shadow:0 6px 14px rgba(7,112,219,.18)}.travel-tabs span{display:inline-grid;min-width:19px;height:19px;place-items:center;margin-left:3px;border-radius:99px;color:inherit;background:rgba(120,150,180,.14);font-size:8px}.travel-tabs .active span{background:rgba(255,255,255,.22)}
.travel-panel{overflow:hidden;border:1px solid #d5e3ed;border-radius:21px;background:#fff;box-shadow:0 10px 24px rgba(20,68,111,.07)}.my-travel-list,.community-stay-list{display:grid}.travel-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;padding:14px;border-bottom:1px solid #e9eff4}.travel-card:last-child{border-bottom:0}.travel-card.is-past{opacity:.68}.travel-card-icon{width:47px;height:47px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#edf8ff,#fff7de);font-size:23px}.travel-card-copy{min-width:0}.travel-card-copy strong,.travel-card-copy span,.travel-card-copy small{display:block}.travel-card-copy strong{font-size:13px}.travel-card-copy span{margin-top:3px;color:#486783;font-size:10px;font-weight:750}.travel-card-copy small{margin-top:3px;overflow:hidden;color:#7b8da0;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.travel-card-countdown{min-width:60px;padding:8px;border:0;border-radius:13px;color:#0870d5;background:#e8f4ff;font-size:13px;font-weight:900}.travel-card-countdown small{display:block;margin-top:2px;font-size:7px}.travel-card-past{font-size:8px;font-weight:850;color:#74879b}.travel-card-actions{grid-column:2/4;display:flex;gap:12px}.travel-card-actions button{padding:0;border:0;color:#3975a8;background:transparent;font-size:8px;font-weight:850}.travel-card-actions button:last-child{color:#b65463}.travel-add-wide{width:calc(100% - 24px);min-height:45px;margin:12px;border:1px dashed #91bee0;border-radius:14px;color:#0870d5;background:#f4faff;font-size:10px;font-weight:900}
.travel-empty{min-height:220px;display:grid;place-items:center;align-content:center;gap:6px;padding:24px;text-align:center}.travel-empty>span{font-size:38px}.travel-empty strong{font-size:15px}.travel-empty p{max-width:290px;margin:0;color:#74879c;font-size:10px;line-height:1.4}.travel-empty button{min-height:42px;margin-top:5px;padding:0 15px;border:0;border-radius:13px;color:#fff;background:#0874e8;font-size:10px;font-weight:850}.travel-empty.small{min-height:90px;grid-column:1/-1}.travel-panel-intro{display:flex;align-items:center;gap:10px;padding:13px 14px;border-bottom:1px solid #e8eff4;background:linear-gradient(145deg,#f2faff,#fffdf1)}.travel-panel-intro>span{font-size:24px}.travel-panel-intro strong,.travel-panel-intro small{display:block}.travel-panel-intro strong{font-size:13px}.travel-panel-intro small{margin-top:2px;color:#74879c;font-size:8px;line-height:1.35}
.community-stay{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:center;padding:11px 13px;border-bottom:1px solid #e9eff4}.community-stay:last-child{border-bottom:0}.community-stay-profile{min-width:0;display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center;padding:0;border:0;color:#17365e;background:transparent;text-align:left}.community-stay-profile strong,.community-stay-profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.community-stay-profile strong{font-size:12px}.community-stay-profile small{margin-top:3px;color:#74879b;font-size:8px}.community-stay-message{width:40px;height:40px;padding:10px;border:1px solid #d2e1ec;border-radius:13px;color:#176cb7;background:#fff}.community-stay-message .icon{width:19px;height:19px}.community-stay.compact{padding-block:9px}.community-stay.compact .community-stay-profile{grid-template-columns:40px minmax(0,1fr)}
.travel-calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;background:#f5faff}.travel-calendar-months>button{min-height:84px;display:grid;grid-template-columns:1fr auto;align-items:start;padding:11px;border:1px solid #d7e5ef;border-radius:15px;color:#244462;background:#fff;text-align:left}.travel-calendar-months>button.active{border-color:#6bb5ed;background:linear-gradient(145deg,#eaf6ff,#fff);box-shadow:0 6px 15px rgba(20,104,180,.12)}.travel-calendar-months strong{font-size:10px;text-transform:capitalize}.travel-calendar-months small{color:#6d849a;font-size:8px}.month-avatar-row{grid-column:1/-1;display:flex;margin-top:8px}.month-avatar-row .avatar{margin-right:-7px;border:2px solid #fff}.calendar-list{max-height:330px;overflow:auto}.travel-privacy-note{margin:0;padding:11px 14px;color:#70859a;background:#f9fbfd;font-size:8px;line-height:1.45}
.stay-editor{position:fixed;z-index:210;inset:0;display:flex;align-items:flex-end;padding-top:55px;background:rgba(10,30,58,.48);backdrop-filter:blur(5px)}.stay-editor-sheet{width:100%;max-height:calc(100dvh - 55px);display:grid;gap:12px;overflow:auto;padding:0 17px calc(22px + env(safe-area-inset-bottom));border-radius:25px 25px 0 0;color:#17365d;background:#fff}.stay-editor-sheet>header{position:sticky;z-index:2;top:0;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:9px;align-items:center;margin:0 -17px;padding:13px 17px;border-bottom:1px solid #e8eef3;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.stay-editor-sheet>header button:first-child{width:38px;height:38px;border:0;border-radius:50%;color:#5e7389;background:#eff3f7;font-size:21px}.stay-editor-sheet>header button[type=submit]{min-height:39px;padding:0 13px;border:0;border-radius:12px;color:#fff;background:#0873e6;font-size:10px;font-weight:900}.stay-editor-sheet>header small,.stay-editor-sheet>header h2{display:block;margin:0}.stay-editor-sheet>header small{color:#0a75d9;font-size:7px;font-weight:900;letter-spacing:.12em}.stay-editor-sheet>header h2{margin-top:2px;font-size:18px}.stay-editor-sheet>label,.stay-form-dates>label,.stay-visibility label{display:grid;gap:5px;color:#294766;font-size:9px;font-weight:850}.stay-editor-sheet input,.stay-editor-sheet select{width:100%;min-height:45px;padding:9px 11px;border:1px solid #cfdeea;border-radius:13px;color:#17365d;background:#fff;font-size:12px}.stay-form-dates{display:grid;grid-template-columns:1fr 1fr;gap:9px}.stay-visibility{display:grid;gap:10px;padding:12px;border:1px solid #d6e6f1;border-radius:16px;background:linear-gradient(145deg,#eff9ff,#fffaf0)}.stay-visibility>div{display:flex;gap:9px}.stay-visibility>div>span{font-size:22px}.stay-visibility p{margin:0}.stay-visibility strong,.stay-visibility small{display:block}.stay-visibility strong{font-size:11px}.stay-visibility small{margin-top:2px;color:#70859a;font-size:8px;line-height:1.4}.stay-editor-note{margin:0;color:#7b8da0;font-size:8px;line-height:1.4;text-align:center}
.countdown-screen{display:grid;gap:11px}.countdown-top{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:9px;align-items:center}.countdown-top span{color:#0874d8;font-size:7px;font-weight:900;letter-spacing:.13em}.countdown-top h1{margin:2px 0;font-size:21px}.countdown-edit{width:38px;height:38px;border:1px solid #d5e4ef;border-radius:13px;color:#176cb7;background:#fff}.countdown-select{display:grid;gap:4px;padding:10px 12px;border:1px solid #d6e4ef;border-radius:15px;background:#fff;color:#60768e;font-size:8px;font-weight:850}.countdown-select select{height:39px;border:0;color:#17365d;background:transparent;font-size:11px;font-weight:800}.countdown-card{position:relative;min-height:490px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:28px 18px;border:1px solid rgba(255,255,255,.7);border-radius:27px;color:#fff;background:linear-gradient(180deg,#0778df 0%,#24b7e7 52%,#9be6ee 72%,#ffe6a5 100%);box-shadow:0 18px 38px rgba(17,73,127,.2);text-align:center}.countdown-card:after{content:'';position:absolute;inset:auto -20% -7% -20%;height:28%;border-radius:50% 50% 0 0;background:rgba(255,255,255,.88)}.countdown-sun{position:absolute;right:9%;top:8%;width:65px;height:65px;border-radius:50%;background:#ffe16d;box-shadow:0 0 0 17px rgba(255,226,109,.14)}.countdown-palm{position:absolute;left:5%;bottom:11%;font-size:100px;filter:drop-shadow(0 8px 8px rgba(0,60,75,.18));transform:rotate(-8deg)}.countdown-wave{position:absolute;right:6%;bottom:16%;font-size:32px;opacity:.62}.countdown-brand,.countdown-copy,.countdown-numbers,.countdown-onsite,.countdown-card>p{position:relative;z-index:1}.countdown-brand{display:flex;align-items:center;gap:8px;margin-bottom:30px}.countdown-brand>span{width:47px;height:47px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.92);font-size:25px}.countdown-brand small,.countdown-brand strong{display:block;text-align:left}.countdown-brand small{font-size:7px;letter-spacing:.12em}.countdown-brand strong{margin-top:2px;font-size:12px}.countdown-copy small{font-size:10px}.countdown-copy h2{margin:7px 0 18px;font-size:28px;text-shadow:0 3px 10px rgba(0,50,100,.2)}.countdown-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;width:100%;max-width:420px}.countdown-numbers>span{display:grid;place-items:center;padding:11px 4px;border:1px solid rgba(255,255,255,.55);border-radius:16px;background:rgba(255,255,255,.2);backdrop-filter:blur(9px)}.countdown-numbers b{font-size:26px}.countdown-numbers small{font-size:7px;font-weight:800}.countdown-onsite{padding:17px 23px;border:1px solid rgba(255,255,255,.55);border-radius:18px;background:rgba(255,255,255,.22);font-size:18px;font-weight:900}.countdown-card>p{margin:24px 0 0;font-size:10px;font-weight:750}.countdown-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.countdown-actions button{min-height:75px;display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:11px;border:1px solid #d2e2ed;border-radius:17px;color:#17365d;background:#fff;text-align:left}.countdown-actions button>span{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:13px;color:#0873e5;background:#eaf5ff;font-size:20px}.countdown-actions strong{align-self:end;font-size:11px}.countdown-actions small{align-self:start;color:#75899c;font-size:8px}.countdown-note{margin:0 10px;color:#74889b;font-size:8px;line-height:1.4;text-align:center}.countdown-empty{max-width:520px;margin:30px auto;padding:28px 20px;text-align:center}.countdown-empty>span{font-size:55px}.countdown-empty h1{margin:10px 0 6px}.countdown-empty p{color:#6e8399}
.profile-friends-card{padding-bottom:13px}.profile-friend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 12px}.profile-friend-grid>button{min-width:0;display:flex;flex-direction:column;align-items:center;padding:9px 5px;border:1px solid #e0e9f0;border-radius:15px;color:#17365d;background:linear-gradient(145deg,#fff,#f5faff)}.profile-friend-grid .avatar{box-shadow:0 5px 12px rgba(24,72,115,.14)}.profile-friend-grid strong,.profile-friend-grid small{width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.profile-friend-grid strong{margin-top:6px;font-size:9px}.profile-friend-grid small{margin-top:2px;color:#788a9d;font-size:7px}.profile-friends-empty{display:grid;place-items:center;gap:5px;padding:20px;text-align:center}.profile-friends-empty>span{font-size:34px}.profile-friends-empty strong{font-size:12px}.profile-friends-empty button{min-height:38px;padding:0 13px;border:0;border-radius:12px;color:#fff;background:#0874e8;font-size:9px;font-weight:850}
@media(max-width:360px){.travel-hero{grid-template-columns:36px minmax(0,1fr) 44px;padding:14px}.travel-hero h1{font-size:22px}.travel-tabs button{font-size:9px}.travel-card{grid-template-columns:43px minmax(0,1fr) auto;padding:11px}.travel-card-icon{width:42px;height:42px}.countdown-card{min-height:445px}.countdown-copy h2{font-size:24px}.countdown-numbers b{font-size:22px}.profile-friend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* 1.5.1 – kompakter Chat, korrekt ausgerichtete Profilbilder und Teilen-Auswahl */
.messages-screen {
  min-height: 0 !important;
  align-content: start !important;
  grid-auto-rows: max-content !important;
}
.messages-screen #message-content {
  min-height: 0 !important;
  height: auto !important;
  align-self: start !important;
}
.messages-screen #message-content .empty {
  min-height: 0 !important;
  padding: 22px 14px !important;
}
.nav-item[data-route="messages"] > .icon {
  width: 21px !important;
  height: 21px !important;
}
.avatar img,
.profile-main .avatar img,
.community-profile-identity .avatar img {
  image-orientation: from-image;
  transform: none !important;
  rotate: none !important;
  object-position: center center !important;
}
.brand-logo {
  overflow: hidden !important;
  background: #fff !important;
}
.brand-logo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 3px;
}
.share-choice-sheet {
  max-height: min(430px, calc(100dvh - 24px)) !important;
}
.share-choice-intro {
  margin: -4px 7px 10px;
  color: #71849a;
  font-size: 10px;
  line-height: 1.4;
}
.share-choice-sheet > button:not(.cancel-action) {
  min-height: 72px !important;
}
.share-choice-sheet .action-icon {
  font-size: 22px;
}


/* 1.5.2 – Profil im Header, Freunde-Navigation und Blog-Platzhalter */
.header-actions {
  align-items: center !important;
  gap: 6px !important;
}
.header-profile-button {
  position: relative;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  padding: 0;
  overflow: hidden;
  border: 2px solid rgba(255,255,255,.88);
  border-radius: 50%;
  background: linear-gradient(145deg,#0f3265,#164d91);
  color: #fff;
  box-shadow: 0 5px 14px rgba(0,28,70,.25);
}
.header-profile-button .avatar {
  --avatar: 38px !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border: 0 !important;
  box-shadow: none !important;
}
.header-profile-button .avatar img {
  image-orientation: from-image !important;
  transform: none !important;
  rotate: none !important;
  object-position: center center !important;
}
.header-profile-placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  font-size: 11px;
  font-weight: 900;
}
.blog-nav[disabled] {
  opacity: .5;
  cursor: default;
  filter: grayscale(.35);
}
.blog-nav-icon {
  display: grid;
  width: 23px;
  height: 23px;
  place-items: center;
  font-size: 19px;
}
.blog-nav::after {
  content: 'bald';
  position: absolute;
  top: 1px;
  right: 2px;
  padding: 2px 4px;
  border-radius: 99px;
  background: #e8eef5;
  color: #63768b;
  font-size: 6px;
  font-weight: 900;
  text-transform: uppercase;
}

/* 1.5.6 – alle Beschriftungen der unteren Navigation exakt gleich groß */
.app-nav .nav-item > span:last-of-type,
.app-nav .nav-item.active > span:last-of-type,
.app-nav .nav-item[data-route="messages"] > span:last-of-type {
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  transform: none !important;
}
@media (max-width: 390px) {
  .header-profile-button { width: 38px; height: 38px; flex-basis: 38px; }
  .header-profile-button .avatar { --avatar: 34px !important; width:34px!important; height:34px!important; min-width:34px!important; }
}

/* 1.5.6 – verbindlicher Sonnenschirm-/Wellen-Header und feste Navigationsschrift */
.app-header {
  min-height: 68px !important;
  height: 68px !important;
  padding: 7px 10px !important;
  gap: 7px !important;
}
.app-header .brand {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  height: 50px !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  overflow: visible !important;
  text-align: left !important;
}
.header-brand-logo {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.66);
  border-radius: 13px;
  background: #ead7b4;
  box-shadow: 0 5px 14px rgba(0,30,70,.2);
}
.header-brand-logo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.header-brand-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
  color: #fff;
  line-height: 1;
}
.header-brand-copy strong {
  overflow: hidden;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: -.025em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.header-brand-copy small {
  overflow: hidden;
  color: rgba(255,255,255,.88);
  font-size: 5.8px;
  font-weight: 900;
  letter-spacing: .105em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.app-header .header-actions {
  flex: 0 0 auto !important;
  gap: 4px !important;
}
.app-header .round-button,
.app-header .header-profile-button {
  width: 38px !important;
  height: 38px !important;
  flex: 0 0 38px !important;
}
.app-header .round-button {
  padding: 9px !important;
}
.app-header .header-profile-button .avatar {
  --avatar: 34px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
}
.header-points-button {
  min-width: 44px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 0 7px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 999px;
  color: #fff;
  background: rgba(255,255,255,.13);
  box-shadow: inset 0 1px rgba(255,255,255,.13);
}
.header-points-button > span {
  color: #ffe16a;
  font-size: 12px;
}
.header-points-button > strong {
  max-width: 28px;
  overflow: hidden;
  font-size: 9px;
  line-height: 1;
  text-overflow: ellipsis;
}
.app-nav > .nav-item > span:nth-child(2),
.app-nav > .nav-item.active > span:nth-child(2),
.app-nav > .nav-item[data-route="messages"] > span:nth-child(2) {
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  transform: none !important;
}
.chat-screen {
  top: 68px !important;
  height: calc(100% - 68px) !important;
}
@media (max-width: 370px) {
  .app-header { padding-inline: 7px !important; gap: 4px !important; }
  .app-header .brand { gap: 5px !important; }
  .header-brand-logo { width: 38px; height: 38px; flex-basis: 38px; border-radius: 11px; }
  .header-brand-copy strong { font-size: 12px; }
  .header-brand-copy small { font-size: 5px; letter-spacing: .07em; }
  .app-header .header-actions { gap: 3px !important; }
  .app-header .round-button,
  .app-header .header-profile-button {
    width: 35px !important;
    height: 35px !important;
    flex-basis: 35px !important;
  }
  .app-header .header-profile-button .avatar {
    --avatar: 31px !important;
    width: 31px !important;
    height: 31px !important;
    min-width: 31px !important;
  }
  .header-points-button { min-width: 39px; height: 35px; padding-inline: 5px; }
  .app-nav > .nav-item > span:nth-child(2) { font-size: 8px !important; }
}
.profile-avatar-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 7px;
}
.profile-avatar-tools .secondary-button {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 11px;
  border: 1px solid #cfdeea;
  border-radius: 12px;
  color: #176bc0;
  background: #f4f9fd;
  font-size: 9px;
  font-weight: 850;
}

/* 1.6.0 – kompakte Startbereiche, Eventkalender und Community-Verzeichnis */
.home-account-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-account-shortcuts>button{min-width:0;min-height:58px;display:grid;grid-template-columns:38px minmax(0,1fr) 12px;gap:7px;align-items:center;padding:8px 9px;border:1px solid #cfe1ed;border-radius:17px;color:#17365d;background:linear-gradient(145deg,#fff,#f0f9ff);box-shadow:0 7px 17px rgba(20,68,111,.07);text-align:left}.home-account-shortcuts>button:nth-child(2){background:linear-gradient(145deg,#fff,#fff8e5)}.home-shortcut-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:13px;font-size:19px}.home-shortcut-icon.points{color:#8d6900;background:#fff1b9}.home-shortcut-icon.holiday{background:#e5f5ff}.home-account-shortcuts strong,.home-account-shortcuts small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-account-shortcuts strong{font-size:10px}.home-account-shortcuts small{margin-top:3px;color:#71859a;font-size:8px}.home-account-shortcuts b{color:#0b73d5;font-size:18px}
.home-discovery-shortcuts{display:grid;gap:6px}.home-discovery-heading{margin:1px 8px -1px;color:#21567f;font-size:7px;font-weight:900;letter-spacing:.18em;line-height:1.2}.home-discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-discovery-card{--home-discovery-image:none;position:relative;isolation:isolate;min-width:0;min-height:104px;display:flex;align-items:flex-end;overflow:hidden;padding:10px;border:1px solid rgba(255,255,255,.62);border-radius:17px;color:#fff;background:#1d5777;box-shadow:0 8px 19px rgba(17,57,91,.17);text-align:left}.home-discovery-card.wide{grid-column:1/-1;min-height:96px}.home-discovery-card::before{content:"";position:absolute;z-index:-2;inset:-6px;background-image:var(--home-discovery-image);background-position:center;background-size:cover;transform:scale(1.045);animation:home-discovery-pan 14s ease-in-out infinite alternate;will-change:transform}.home-discovery-card::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(4,25,47,.02) 24%,rgba(4,25,47,.32) 56%,rgba(4,22,43,.88) 100%)}.home-discovery-card.food{--home-discovery-image:url('/app-native/home-discovery-restaurants.png?v=160')}.home-discovery-card.food::before{background-position:center 56%}.home-discovery-card.fun{--home-discovery-image:url('/app-native/home-discovery-animation.png?v=160')}.home-discovery-card.fun::before{animation-duration:16s}.home-discovery-card.town{--home-discovery-image:url('/app-native/home-discovery-rosolina.png?v=160')}.home-discovery-card.town::before{background-position:center 53%;animation-duration:18s}.home-discovery-icon{position:absolute;z-index:2;left:9px;top:9px;width:35px;height:35px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.72);border-radius:50%;color:#17365d;background:rgba(255,255,255,.92);box-shadow:0 5px 13px rgba(2,24,47,.19);font-size:18px}.home-discovery-copy{position:relative;z-index:2;min-width:0;display:block;width:100%;text-shadow:0 1px 5px rgba(2,16,31,.78)}.home-discovery-copy strong,.home-discovery-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-discovery-copy strong{font-size:10.5px;line-height:1.15}.home-discovery-copy small{margin-top:3px;color:rgba(255,255,255,.94);font-size:7.3px;line-height:1.2}.home-discovery-card:active{transform:scale(.985)}@keyframes home-discovery-pan{from{transform:scale(1.045) translate3d(-.6%,0,0)}to{transform:scale(1.09) translate3d(1.4%,-.7%,0)}}@media(prefers-reduced-motion:reduce){.home-discovery-card::before{animation:none}}
.travel-quick-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.travel-quick-settings>button{min-width:0;min-height:60px;display:grid;grid-template-columns:34px minmax(0,1fr) 10px;gap:7px;align-items:center;padding:8px;border:1px solid #d4e3ee;border-radius:16px;color:#17365d;background:#fff;text-align:left}.travel-quick-settings>button>span{width:33px;height:33px;display:grid;place-items:center;border-radius:11px;background:#eaf5ff;font-size:17px}.travel-quick-settings strong,.travel-quick-settings small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.travel-quick-settings strong{font-size:9px}.travel-quick-settings small{margin-top:3px;color:#74889d;font-size:7px}.travel-quick-settings b{color:#0a73da}

.events-screen{display:grid;gap:9px}.event-top-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;padding:5px;border:1px solid #d6e3ed;border-radius:17px;background:#fff;box-shadow:0 7px 18px rgba(20,68,111,.06)}.event-top-tabs button{min-height:42px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:13px;color:#486883;background:transparent;font-size:10px;font-weight:900}.event-top-tabs button:first-child{color:#fff;background:linear-gradient(135deg,#0874e8,#16afe2)}.event-top-tabs button.active{color:#0870d5;background:#eaf5ff}.event-top-tabs .icon{width:17px;height:17px}.event-search-panel{display:grid;gap:6px;padding:9px;border:1px solid #d6e4ef;border-radius:16px;background:#fff}.event-search-panel[hidden]{display:none}.event-search-panel label{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:6px;align-items:center}.event-search-panel .icon{width:18px;height:18px;color:#3175b5}.event-search-panel input{min-width:0;height:40px;border:0;outline:0;color:#17365d;background:transparent;font-size:10px}.event-search-panel button{min-height:36px;padding:0 11px;border:0;border-radius:11px;color:#fff;background:#0874e8;font-size:9px;font-weight:900}.event-search-panel>button{justify-self:start;color:#9c3140;background:#fff0f2}.event-period-head{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 15px;border:1px solid #cfe1ef;border-radius:20px;background:radial-gradient(circle at 84% 10%,rgba(255,220,91,.28),transparent 30%),linear-gradient(145deg,#fff,#edf9ff);box-shadow:0 9px 22px rgba(20,68,111,.07)}.event-period-head span{color:#0874d5;font-size:7px;font-weight:900;letter-spacing:.13em}.event-period-head h1{margin:3px 0;font-size:22px}.event-period-head p{margin:0;color:#72869a;font-size:8px}.event-period-head label{display:grid;gap:3px;color:#6a8197;font-size:7px;font-weight:850}.event-period-head select{height:39px;padding:0 10px;border:1px solid #cfe0ec;border-radius:12px;color:#17365d;background:#fff;font-size:10px;font-weight:850}.event-month-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(49px,1fr);gap:5px;overflow-x:auto;padding:5px;border:1px solid #d8e5ee;border-radius:16px;background:#fff;scrollbar-width:none}.event-month-strip::-webkit-scrollbar{display:none}.event-month-strip button{min-height:48px;display:grid;place-items:center;align-content:center;gap:2px;border:0;border-radius:12px;color:#60778e;background:#f5f9fc}.event-month-strip button.active{color:#fff;background:linear-gradient(145deg,#0874e8,#18afd9);box-shadow:0 5px 12px rgba(8,105,205,.2)}.event-month-strip strong{font-size:9px}.event-month-strip small{font-size:7px}.event-page-list{display:grid;gap:7px}.event-page-card{display:grid;grid-template-columns:53px minmax(0,1fr);gap:10px;padding:12px;border:1px solid #d7e4ed;border-radius:18px;background:#fff;box-shadow:0 7px 18px rgba(20,68,111,.06)}.event-page-date{width:52px;height:56px;display:grid;place-items:center;align-content:center;border:1px solid #d5e5f0;border-radius:15px;color:#0872d5;background:#eef7ff}.event-page-date strong{font-size:18px}.event-page-date small{margin-top:3px;font-size:7px}.event-page-category{color:#0873d5;font-size:7px;font-weight:900;text-transform:uppercase}.event-page-card h2{margin:3px 0;font-size:13px}.event-page-meta{margin:0;color:#6e8399;font-size:8px}.event-page-description{display:-webkit-box;margin:7px 0 0;overflow:hidden;color:#425d75;font-size:9px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:3}.event-page-empty,.discovery-empty{min-height:210px;display:grid;place-items:center;align-content:center;gap:6px;padding:23px;border:1px dashed #bfd5e5;border-radius:19px;background:#f8fcff;text-align:center}.event-page-empty>span,.discovery-empty>span{font-size:38px}.event-page-empty h2,.discovery-empty h2{margin:0;font-size:15px}.event-page-empty p,.discovery-empty p{max-width:300px;margin:0;color:#71869a;font-size:9px;line-height:1.4}.event-page-empty button{min-height:39px;margin-top:4px;padding:0 13px;border:0;border-radius:12px;color:#fff;background:#0874e8;font-size:9px;font-weight:900}
.event-editor{position:fixed;z-index:230;inset:0;display:flex;align-items:flex-end;padding-top:48px;background:rgba(9,29,55,.52);backdrop-filter:blur(5px)}.event-editor-sheet{width:100%;max-height:calc(100dvh - 48px);display:grid;gap:11px;overflow:auto;padding:0 16px calc(22px + env(safe-area-inset-bottom));border-radius:25px 25px 0 0;color:#17365d;background:#fff}.event-editor-sheet>header{position:sticky;z-index:2;top:0;display:grid;grid-template-columns:39px minmax(0,1fr) auto;gap:8px;align-items:center;margin:0 -16px;padding:12px 16px;border-bottom:1px solid #e7eef4;background:rgba(255,255,255,.97)}.event-editor-sheet>header button:first-child{width:38px;height:38px;border:0;border-radius:50%;color:#60758a;background:#eff3f7;font-size:21px}.event-editor-sheet>header button[type=submit]{min-height:39px;padding:0 13px;border:0;border-radius:12px;color:#fff;background:#0874e8;font-size:9px;font-weight:900}.event-editor-sheet header small{color:#0874d5;font-size:7px;font-weight:900;letter-spacing:.12em}.event-editor-sheet header h2{margin:2px 0 0;font-size:18px}.event-editor-info{display:grid;grid-template-columns:35px 1fr;gap:7px;margin:0;padding:10px;border-radius:15px;background:#eef9f4}.event-editor-info>span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:#fff;background:#36a377}.event-editor-info strong,.event-editor-info small{display:block}.event-editor-info strong{font-size:10px}.event-editor-info small{color:#647d72;font-size:8px;line-height:1.35}.event-editor-sheet>label,.event-editor-dates label{display:grid;gap:5px;color:#294867;font-size:9px;font-weight:850}.event-editor-sheet input,.event-editor-sheet select,.event-editor-sheet textarea{width:100%;min-height:44px;padding:9px 11px;border:1px solid #cfdeea;border-radius:13px;color:#17365d;background:#fff;font-size:11px;resize:vertical}.event-editor-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}.event-editor-note{margin:0;color:#7a8da0;font-size:8px;line-height:1.4;text-align:center}

.discovery-screen{display:grid;gap:9px}.discovery-hero{min-height:132px;display:grid;grid-template-columns:37px minmax(0,1fr) 50px;gap:9px;align-items:start;padding:15px;border:1px solid #cfe2ef;border-radius:22px;background:radial-gradient(circle at 87% 14%,rgba(255,222,96,.32),transparent 30%),linear-gradient(145deg,#fff,#eaf9ff);box-shadow:0 10px 25px rgba(20,68,111,.08)}.discovery-hero>div>span{color:#0874d7;font-size:7px;font-weight:900;letter-spacing:.13em}.discovery-hero h1{margin:4px 0 5px;font-size:23px;line-height:1.05}.discovery-hero p{margin:0;color:#667d93;font-size:9px;line-height:1.4}.discovery-hero>em{width:49px;height:49px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.82);font-size:25px;font-style:normal;box-shadow:0 7px 16px rgba(22,73,113,.09)}.discovery-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px;border:1px solid #d7e4ed;border-radius:17px;background:#fff}.discovery-tabs button{min-width:0;min-height:52px;display:grid;place-items:center;align-content:center;gap:2px;border:0;border-radius:12px;color:#5f758b;background:transparent;font-size:17px}.discovery-tabs button span{max-width:100%;overflow:hidden;font-size:7px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.discovery-tabs button.active{color:#0874d8;background:#eaf5ff}.discovery-intro{padding:14px}.discovery-copy p{margin:0 0 9px;color:#405b73;font-size:10px;line-height:1.55}.discovery-copy p:last-child{margin-bottom:0}.discovery-admin-edit{min-height:38px;margin-top:10px;padding:0 11px;border:1px solid #cfe0ec;border-radius:12px;color:#176db8;background:#f4faff;font-size:8px;font-weight:900}.discovery-list-head{display:flex;align-items:center;justify-content:space-between;padding:5px 4px}.discovery-list-head span{color:#0874d5;font-size:7px;font-weight:900;letter-spacing:.12em}.discovery-list-head h2{margin:2px 0 0;font-size:15px}.discovery-list-head button{min-height:35px;padding:0 11px;border:0;border-radius:11px;color:#fff;background:#0874e8;font-size:8px;font-weight:900}.discovery-place-list{display:grid;gap:8px}.discovery-place-card{display:grid;grid-template-columns:90px minmax(0,1fr);min-height:125px;overflow:hidden;border:1px solid #d6e4ee;border-radius:19px;background:#fff;box-shadow:0 8px 20px rgba(20,68,111,.07)}.discovery-place-card>img,.discovery-place-placeholder{width:90px;height:100%;min-height:125px;object-fit:cover}.discovery-place-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#e7f6ff,#fff5dc);font-size:32px}.discovery-place-body{min-width:0;padding:11px}.discovery-place-title{display:flex;align-items:start;justify-content:space-between;gap:6px}.discovery-place-title span{color:#0874d7;font-size:6px;font-weight:900;text-transform:uppercase}.discovery-place-title h2{margin:2px 0 0;font-size:13px}.discovery-place-title button{width:29px;height:29px;border:0;border-radius:9px;color:#176db9;background:#ecf6ff}.discovery-place-address{margin:4px 0 0;color:#6d8399;font-size:7.5px}.discovery-place-description{display:-webkit-box;margin:6px 0 0;overflow:hidden;color:#425c74;font-size:8px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:3}.discovery-place-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.discovery-place-chips span{padding:4px 6px;border-radius:8px;color:#397257;background:#edf8f2;font-size:6.5px;font-weight:800}.discovery-place-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.discovery-place-actions button{min-height:29px;padding:0 8px;border:1px solid #d0e0eb;border-radius:9px;color:#176db7;background:#f8fbfd;font-size:7px;font-weight:850}

.points-screen{display:grid;gap:9px}.points-hero{min-height:134px;display:grid;grid-template-columns:37px minmax(0,1fr) 57px;gap:9px;align-items:start;padding:15px;border:1px solid #eadca7;border-radius:22px;background:radial-gradient(circle at 82% 13%,rgba(255,210,55,.45),transparent 29%),linear-gradient(145deg,#fff,#fff7d9);box-shadow:0 10px 25px rgba(92,73,18,.09)}.points-hero>div>span{color:#9a7000;font-size:7px;font-weight:900;letter-spacing:.13em}.points-hero h1{margin:4px 0;font-size:26px}.points-hero p{margin:0;color:#6c6243;font-size:10px;font-weight:800}.points-hero>em{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;color:#8d6500;background:#ffe479;font-size:28px;font-style:normal}.points-progress{padding:13px}.points-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.points-progress strong{font-size:11px}.points-progress span{color:#74889b;font-size:8px}.points-progress-track{height:9px;margin-top:9px;overflow:hidden;border-radius:99px;background:#e8eef3}.points-progress-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#f2bd22,#ffdb58)}.points-progress>small{display:block;margin-top:4px;color:#88711f;font-size:7px;text-align:right}.points-rules>div,.points-history>div{display:grid}.points-rules article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 13px;border-top:1px solid #eaf0f4}.points-rules article>span{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:#eef7ff;font-size:18px}.points-rules article strong{font-size:10px}.points-rules article p{margin:2px 0 0;color:#6f8499;font-size:8px;line-height:1.35}.points-rules article small{color:#9a770e;font-size:6.5px}.points-rules article>b{color:#29835f;font-size:12px}.points-history article{display:grid;grid-template-columns:43px minmax(0,1fr);gap:8px;align-items:center;padding:9px 13px;border-top:1px solid #eaf0f4}.points-history article>span{min-width:41px;padding:7px 5px;border-radius:11px;color:#237b59;background:#eaf7f1;font-size:10px;font-weight:900;text-align:center}.points-history article>span.reversed{color:#9b4050;background:#fff0f2}.points-history strong,.points-history small{display:block}.points-history strong{font-size:9px}.points-history small{margin-top:2px;color:#7d8fa2;font-size:7px}

.messages-screen>.tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important;padding:5px!important}.messages-screen>.tabs .tab{min-width:0;padding:9px 2px!important;font-size:8px!important;white-space:nowrap}.member-directory-card{overflow:hidden!important}.member-directory-head{padding:15px;background:radial-gradient(circle at 91% 8%,rgba(255,222,102,.23),transparent 28%),linear-gradient(145deg,#fff,#f2faff);border-bottom:1px solid #e4edf4}.member-directory-head>span{color:#0874d7;font-size:7px;font-weight:900;letter-spacing:.13em}.member-directory-head h2{margin:3px 0;font-size:18px}.member-directory-head p{margin:0;color:#71869a;font-size:8px}.member-directory-head form{display:grid;gap:6px;margin-top:11px}.member-directory-head label{display:grid;grid-template-columns:19px minmax(0,1fr) auto;gap:6px;align-items:center;padding:3px 4px 3px 10px;border:1px solid #d0e0eb;border-radius:13px;background:#fff}.member-directory-head label .icon{width:17px;height:17px;color:#3477b6}.member-directory-head input{min-width:0;height:36px;border:0;outline:0;color:#17365d;font-size:9px}.member-directory-head label button{min-height:34px;padding:0 10px;border:0;border-radius:10px;color:#fff;background:#0874e8;font-size:8px;font-weight:900}.member-directory-head form>button{justify-self:start;padding:0;border:0;color:#a13a48;background:transparent;font-size:7px;font-weight:850}.member-directory-list{display:grid}.member-directory-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center;padding:9px 11px;border-top:1px solid #e9eff4}.member-directory-row:first-child{border-top:0}.member-directory-profile{min-width:0;display:grid;grid-template-columns:46px minmax(0,1fr) 10px;gap:8px;align-items:center;padding:0;border:0;color:#17365d;background:transparent;text-align:left}.member-directory-profile strong,.member-directory-profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-directory-profile strong{font-size:10px}.member-directory-profile strong.admin{color:#c52e3b}.member-directory-profile strong em{margin-left:4px;padding:2px 4px;border-radius:99px;color:#fff;background:#d43a46;font-size:5px;font-style:normal}.member-directory-profile small{margin-top:3px;color:#74889c;font-size:7px}.member-directory-profile>b{color:#0874d7}.member-connect{min-height:35px;padding:0 9px;border:0;border-radius:11px;color:#fff;background:#0874e8;font-size:7.5px;font-weight:900;white-space:nowrap}.member-connect.message{display:flex;align-items:center;gap:4px;color:#176db7;background:#eef7ff}.member-connect.message .icon{width:15px;height:15px}.member-connect.accept{background:#2e9c70}.member-status{padding:7px 8px;border-radius:10px;font-size:7px;font-weight:900;white-space:nowrap}.member-status.accepted{color:#247c5b;background:#eaf7f1}.member-status.waiting{color:#87681a;background:#fff5dc}.member-load-more{width:calc(100% - 22px);min-height:41px;margin:10px 11px;border:1px solid #cfe0eb;border-radius:12px;color:#176db8;background:#f7fbfe;font-size:8px;font-weight:900}

@media(max-width:370px){.home-discovery-card{min-height:96px;padding:8px}.home-discovery-card.wide{min-height:88px}.home-discovery-copy strong{font-size:9.5px}.home-discovery-copy small{font-size:6.8px}.home-discovery-icon{left:8px;top:8px;width:32px;height:32px;font-size:16px}.travel-quick-settings{grid-template-columns:1fr}.discovery-place-card{grid-template-columns:76px minmax(0,1fr)}.discovery-place-card>img,.discovery-place-placeholder{width:76px}.messages-screen>.tabs .tab{font-size:7px!important}.member-connect.message{width:36px;padding:0;font-size:0;justify-content:center}.member-directory-row{padding-inline:8px}}
