/* frontend-src/styles/personal-messages/00-dialog.css */
    .pg-personal-message-dialog.pg-update-dialog-backdrop.show {
      position: fixed;
      inset: 0;
      box-sizing: border-box;
      z-index: 2147481800;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      background: rgba(2,5,10,.78);
      backdrop-filter: blur(10px);
    }
    .pg-personal-message-panel {
      position: relative;
      box-sizing: border-box;
      width: min(720px, 100%);
      height: min(760px, calc(100dvh - 40px));
      min-width: 0;
      flex: none;
      display: grid;
      grid-template-rows: minmax(0, 1fr);
      margin: auto;
      padding: 22px;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 16px;
      background: linear-gradient(180deg, rgba(20,28,40,.99), rgba(10,14,22,.99));
      color: #f7fbff;
      box-shadow: 0 30px 90px rgba(0,0,0,.56);
    }
    .pg-personal-message-panel > .pg-update-center-close {
      position: absolute;
      top: 18px;
      right: 18px;
      z-index: 2;
    }
    [data-personal-message-thread] {
      min-height: 0;
      min-width: 0;
      display: grid;
      grid-template-rows: auto minmax(0, 1fr) auto;
      gap: 12px;
      overflow: hidden;
    }
    [data-personal-message-thread] > .pg-update-center-view-state {
      grid-row: 1 / -1;
      display: grid;
      place-content: center;
      gap: 12px;
      text-align: center;
    }
    .pg-personal-message-thread-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 48px;
      padding-right: 24px;
    }
    .pg-personal-message-thread-head span {
      color: #8ff0e6;
      font-size: 11px;
      font-weight: 900;
    }
    .pg-personal-message-thread-head h2 {
      margin: 5px 0 0;
      font-size: 20px;
    }
    .pg-personal-message-thread-head > b {
      padding: 5px 9px;
      border-radius: 999px;
      background: rgba(245,193,108,.12);
      color: #ffd79c;
      font-size: 11px;
      white-space: nowrap;
    }
    .pg-personal-message-thread-list {
      min-height: 0;
      display: flex;
      flex-direction: column;
      gap: 10px;
      padding: 14px;
      overflow: auto;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 12px;
      background: rgba(255,255,255,.025);
    }
    .pg-personal-message-bubble {
      box-sizing: border-box;
      flex-shrink: 0;
      width: min(86%, 520px);
      display: grid;
      gap: 6px;
      align-self: flex-start;
      padding: 10px 12px;
      border-radius: 4px 12px 12px 12px;
      background: rgba(255,255,255,.08);
    }
    .pg-personal-message-bubble.is-mine {
      align-self: flex-end;
      border-radius: 12px 4px 12px 12px;
      background: rgba(85,205,196,.16);
    }
    .pg-personal-message-bubble.is-decision {
      width: 100%;
      align-self: stretch;
      border: 1px solid rgba(245,193,108,.22);
      background: rgba(245,193,108,.08);
    }
    .pg-personal-message-bubble header {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      color: rgba(247,251,255,.56);
      font-size: 10px;
    }
    .pg-personal-message-bubble p {
      margin: 0;
      white-space: pre-wrap;
      word-break: break-word;
      font-size: 13px;
      line-height: 1.65;
    }
    .pg-personal-message-attachments {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
      gap: 8px;
      margin-top: 4px;
    }
    .pg-personal-message-attachments button {
      min-width: 0;
      padding: 0;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 9px;
      background: rgba(0,0,0,.2);
      cursor: zoom-in;
    }
    .pg-personal-message-attachments img {
      width: 100%;
      height: 92px;
      display: block;
      object-fit: cover;
      transition: transform .18s ease;
    }
    .pg-personal-message-attachments button:hover img,
    .pg-personal-message-attachments button:focus-visible img {
      transform: scale(1.035);
    }
    .pg-personal-message-image-lightbox {
      position: fixed;
      inset: 0;
      z-index: 2147481900;
      display: grid;
      place-items: center;
      padding: 24px;
      background: rgba(2,5,10,.9);
      backdrop-filter: blur(14px);
    }
    .pg-personal-message-image-lightbox section {
      position: relative;
      width: min(1120px, calc(100vw - 48px));
      height: min(860px, calc(100vh - 48px));
      display: grid;
      place-items: center;
    }
    .pg-personal-message-image-lightbox img {
      max-width: 100%;
      max-height: 100%;
      display: block;
      object-fit: contain;
      border-radius: 10px;
      box-shadow: 0 28px 80px rgba(0,0,0,.55);
    }
    .pg-personal-message-image-lightbox .pg-update-center-close {
      position: absolute;
      top: 12px;
      right: 12px;
      z-index: 1;
    }
    .pg-personal-message-reply {
      display: grid;
      gap: 8px;
    }
    .pg-personal-message-reply textarea {
      box-sizing: border-box;
      width: 100%;
      height: 64px;
      min-height: 64px;
      max-height: min(120px, 18dvh);
      resize: vertical;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 10px;
      padding: 10px 12px;
      background: rgba(0,0,0,.2);
      color: #fff;
      font: inherit;
    }
    .pg-personal-message-thread-actions {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
      flex-wrap: wrap;
    }
    .pg-personal-message-compose-actions {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-left: auto;
      white-space: nowrap;
    }
    .pg-personal-message-reply [role="alert"] {
      color: #ffb6b6;
      font-size: 12px;
    }
    .pg-personal-message-reply [role="alert"]:empty { display: none; }
    .pg-personal-message-thread-actions a {
      text-decoration: none;
    }
    @media (max-width: 600px) {
      .pg-personal-message-thread-head {
        gap: 12px;
        padding-right: 36px;
      }
    }

/* frontend-src/styles/personal-messages/01-controls.css */
.pg-personal-message-dialog .pg-cloud-btn,
.pg-personal-message-reminder .pg-cloud-btn {
  padding: 9px 14px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 9px;
  background: #27313e;
  color: #f7fbff;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
.pg-personal-message-dialog .pg-cloud-btn.primary,
.pg-personal-message-reminder .pg-cloud-btn.primary { background: #78d8ca; color: #102522; font-weight: 700; }
.pg-personal-message-dialog .pg-cloud-btn.danger { background: #943d45; }
.pg-personal-message-dialog button:disabled { opacity: .5; cursor: default; }
.pg-personal-message-dialog button:focus-visible,
.pg-personal-message-dialog a:focus-visible,
.pg-personal-message-reminder button:focus-visible { outline: 2px solid #8ff0e6; outline-offset: 3px; }
.pg-personal-message-dialog .pg-update-center-close,
.pg-personal-message-image-lightbox .pg-update-center-close {
  width: 34px; height: 34px; padding: 0; border-radius: 50%; border: 1px solid rgba(255,255,255,.15);
  background: #26303a; color: #fff; font-size: 23px; line-height: 1; cursor: pointer;
}
.pg-personal-message-dialog .pg-personal-message-membership { margin: 6px 0 0; color: #b3c2d1; font-size: 12px; }
.pg-personal-message-bubble small { color: #b3c2d1; font-size: 11px; }
.pg-personal-message-reminder {
  position: fixed; inset: 0; z-index: 2147481850; display: grid; place-items: center;
  padding: 20px; background: rgba(2,5,10,.65); backdrop-filter: blur(8px);
}
.pg-personal-message-reminder section {
  box-sizing: border-box; width: min(430px,100%); border-radius: 16px; padding: 26px;
  background: #151f2b; color: #f7fbff; border: 1px solid rgba(255,255,255,.15); box-shadow: 0 24px 80px #0008;
}
.pg-personal-message-reminder h2 { margin: 0 0 12px; font-size: 20px; }
.pg-personal-message-reminder p { margin: 0 0 24px; color: #b3c2d1; line-height: 1.7; }
.pg-personal-message-reminder section > div { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
@media (max-width:600px), (max-height:550px) {
  .pg-personal-message-dialog.pg-update-dialog-backdrop.show { padding: 10px; }
  .pg-personal-message-panel { height: calc(100dvh - 20px); padding: 16px; }
  .pg-personal-message-thread-head h2 { font-size: 17px; }
  .pg-personal-message-thread-head { gap: 8px; }
  .pg-personal-message-reply textarea { height: 55px; min-height: 55px; max-height: 100px; }
  [data-personal-message-thread] { gap: 10px; }
}
