.community-admin-entry {
  min-height: 40px;
  padding: 0 15px;
  border: 1px solid rgba(38, 99, 103, .24);
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: #1b6263;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.community-admin-dialog {
  width: min(1080px, calc(100vw - 42px));
  max-width: none;
  height: min(820px, calc(100dvh - 42px));
  max-height: none;
  margin: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: #17364b;
}
.community-admin-dialog::backdrop { background: rgba(8, 31, 39, .66); backdrop-filter: blur(10px); }
.community-admin-shell { position: relative; box-sizing: border-box; height: 100%; overflow: auto; border: 1px solid rgba(255,255,255,.62); background: #f3f7f3; box-shadow: 0 32px 100px rgba(0,24,31,.38); }
.community-admin-close { position: sticky; z-index: 4; top: 16px; float: right; width: 44px; height: 44px; margin: 16px 16px -60px 0; border: 1px solid rgba(34,91,99,.18); border-radius: 50%; background: #fff; color: #17364b; font-size: 25px; cursor: pointer; }
.community-admin-login { width: min(540px, calc(100% - 40px)); margin: 0 auto; padding: 12vh 0 60px; }
.community-admin-login > small,
.community-admin-workspace > header small { color: #147071; font-size: 11px; font-weight: 900; letter-spacing: .16em; }
.community-admin-login h2,
.community-admin-workspace h2 { margin: 8px 0 12px; font-family: "Noto Serif SC", serif; font-size: clamp(30px, 5vw, 48px); }
.community-admin-login > p { color: #607a88; line-height: 1.8; }
.community-admin-login form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; margin-top: 28px; }
.community-admin-login label { min-width: 0; }
.community-admin-login label span { display: block; margin-bottom: 7px; color: #607a88; font-size: 12px; font-weight: 800; }
.community-admin-login input { box-sizing: border-box; width: 100%; min-width: 0; height: 48px; border: 1px solid rgba(34,91,99,.2); background: #fff; padding: 0 14px; font: inherit; }
.community-admin-login form button { align-self: end; min-height: 48px; padding: 0 24px; border: 0; background: #147071; color: #fff; font: inherit; font-weight: 900; cursor: pointer; }
.community-admin-message { min-height: 22px; color: #9a6729; }

.community-admin-workspace { padding: 48px 34px 70px; }
.community-admin-workspace > header { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; padding: 0 54px 22px 0; border-bottom: 1px solid rgba(34,91,99,.16); }
.community-admin-workspace > header h2 { font-size: clamp(28px, 4vw, 44px); }
.community-admin-workspace > header p { margin: 0; color: #607a88; }
.community-admin-workspace > header > div:last-child { display: flex; gap: 8px; }
.community-admin-workspace > header button,
.community-admin-post-actions button,
.community-admin-comment button { min-height: 38px; padding: 0 14px; border: 1px solid rgba(34,91,99,.2); background: #fff; color: #1b6263; font: inherit; font-weight: 800; cursor: pointer; }
.community-admin-filter { display: flex; gap: 8px; padding: 18px 0; }
.community-admin-filter button { min-height: 38px; padding: 0 17px; border: 1px solid rgba(34,91,99,.18); border-radius: 999px; background: #fff; color: #607a88; font: inherit; font-weight: 800; cursor: pointer; }
.community-admin-filter button.active { border-color: #147071; background: #147071; color: #fff; }
.community-admin-list { display: grid; gap: 14px; }
.community-admin-post { border: 1px solid rgba(34,91,99,.16); background: rgba(255,255,255,.78); }
.community-admin-post.is-deleted { background: #f3eeee; border-color: rgba(143,71,67,.22); }
.community-admin-post[hidden] { display: none; }
.community-admin-post > header { display: flex; justify-content: space-between; gap: 18px; padding: 20px; }
.community-admin-post > header h3 { margin: 7px 0; font-size: 21px; }
.community-admin-post > header p { margin: 0; color: #607a88; font-size: 13px; }
.community-admin-status { display: inline-flex; min-height: 25px; align-items: center; padding: 0 10px; border-radius: 999px; font-size: 11px; font-weight: 900; }
.community-admin-status.is-active { background: #def0e7; color: #1e6c54; }
.community-admin-status.is-deleted { background: #f4deda; color: #9b493f; }
.community-admin-post-actions .is-delete { color: #a14942; }
.community-admin-post-actions .is-restore { border-color: #147071; background: #147071; color: #fff; }
.community-admin-post-summary { display: flex; justify-content: space-between; gap: 20px; padding: 0 20px 18px; color: #607a88; }
.community-admin-post-summary p { margin: 0; max-width: 760px; line-height: 1.65; }
.community-admin-post-summary a { flex: 0 0 auto; color: #147071; font-weight: 800; }
.community-admin-post details { border-top: 1px solid rgba(34,91,99,.14); }
.community-admin-post summary { padding: 15px 20px; cursor: pointer; color: #1b6263; font-weight: 800; }
.community-admin-comments { padding: 0 20px 20px; }
.community-admin-comment { display: flex; justify-content: space-between; gap: 18px; padding: 13px 0; border-top: 1px solid rgba(34,91,99,.12); }
.community-admin-comment > div { min-width: 0; }
.community-admin-comment strong { margin-right: 10px; }
.community-admin-comment time { color: #7c919c; font-size: 12px; }
.community-admin-comment p { margin: 6px 0 0; color: #466675; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.community-admin-comment.is-deleted { opacity: .62; }
.community-admin-comment > span { color: #9b493f; font-size: 12px; font-weight: 800; }
.community-admin-comment button { align-self: center; flex: 0 0 auto; color: #a14942; }
.community-admin-empty { padding: 30px 20px; text-align: center; color: #7c919c; }
.community-admin-loading { display: grid; place-items: center; align-content: center; height: 100%; color: #607a88; }
.community-admin-loading i { width: 34px; height: 34px; border: 3px solid rgba(20,112,113,.18); border-top-color: #147071; border-radius: 50%; animation: community-admin-spin .8s linear infinite; }
@keyframes community-admin-spin { to { transform: rotate(360deg); } }

@media (max-width: 760px) {
  .community-admin-entry { min-height: 36px; padding: 0 12px; font-size: 12px; }
  .community-admin-dialog { width: 100vw; height: 100dvh; margin: 0; }
  .community-admin-shell { border: 0; }
  .community-admin-close { top: max(12px, env(safe-area-inset-top)); margin-right: 12px; }
  .community-admin-login { width: calc(100% - 30px); padding-top: 14vh; }
  .community-admin-login form { grid-template-columns: 1fr; }
  .community-admin-workspace { padding: max(64px, calc(env(safe-area-inset-top) + 54px)) 14px 70px; }
  .community-admin-workspace > header { display: block; padding-right: 48px; }
  .community-admin-workspace > header > div:last-child { margin-top: 15px; flex-wrap: wrap; }
  .community-admin-filter { overflow-x: auto; }
  .community-admin-post > header,
  .community-admin-post-summary,
  .community-admin-comment { display: block; }
  .community-admin-post-actions { margin-top: 14px; }
  .community-admin-post-actions button { width: 100%; }
  .community-admin-post-summary a { display: inline-block; margin-top: 10px; }
  .community-admin-comment button { width: 100%; margin-top: 10px; }
}

/* COMMUNITY_ADMIN_COMPACT_ACTIONS_V1 */
@media (max-width: 720px) {
  .strategy-actions { gap: 8px; flex-wrap: nowrap; min-width: 0; }
  .strategy-actions .sync-state,
  .strategy-actions .community-topic-admin-entry { display: none !important; }
  .strategy-actions .community-admin-entry,
  .strategy-actions .primary-action { min-width: 0; padding-inline: 12px; white-space: nowrap; }
  .community-admin-workspace > header > div:last-child { display: grid; grid-template-columns: 1fr 1fr; width: 100%; gap: 8px; }
  .community-admin-workspace > header > div:last-child [data-community-topic-manager] { grid-column: 1 / -1; }
}

.community-admin-workspace.is-offline .community-admin-message {
  padding: 12px 14px;
  border-left: 3px solid #bb7c25;
  background: #fff6e6;
  color: #76501d;
  line-height: 1.6;
}
