:root {
  font-family:
    -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic",
    sans-serif;
  color: #302b28;
  background: #f4f3ef;
  font-size: 15px;
  line-height: 1.6;
  --line: #dedbd4;
  --accent: #60483c;
  --muted: #756e65;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
button,
input,
textarea,
select {
  font: inherit;
}
button,
a,
input,
textarea,
select {
  -webkit-tap-highlight-color: transparent;
}
button,
.button {
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--accent);
  border-radius: 6px;
  background: var(--accent);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
button:disabled {
  opacity: 0.55;
  cursor: wait;
}
a {
  color: var(--accent);
  text-underline-offset: 4px;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 3px solid #9e764a;
  outline-offset: 3px;
}
.quiet {
  background: transparent;
  color: var(--accent);
  border-color: var(--line);
}
.kakao {
  background: #fee500;
  border-color: #fee500;
  color: #191919;
}
.kakao svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}
.layout {
  display: grid;
  grid-template-columns: 224px minmax(0, 1fr);
  min-height: 100dvh;
}
.sidebar {
  background: #f8f7f4;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  padding: 30px 20px;
  gap: 32px;
}
.brand {
  font-weight: 750;
  font-size: 20px;
  letter-spacing: -0.7px;
  overflow-wrap: anywhere;
  text-decoration: none;
}
.brand small {
  display: block;
  font-size: 11px;
  letter-spacing: 2px;
  font-weight: 500;
  color: var(--muted);
  margin-top: 5px;
}
.nav {
  display: grid;
  gap: 6px;
}
.nav button {
  justify-content: flex-start;
  background: none;
  color: var(--muted);
  border: 0;
  font-weight: 500;
}
.nav button[aria-current="page"] {
  background: #eae5dd;
  color: #4e3c30;
  font-weight: 700;
}
.workspace {
  min-width: 0;
}
.topbar {
  height: 78px;
  background: #fff;
  border-bottom: 1px solid var(--line);
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.topbar span {
  font-size: 13px;
  color: var(--muted);
}
.content {
  max-width: 1160px;
  margin: auto;
  padding: 38px 40px 64px;
}
.heading {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 25px;
}
.eyebrow {
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 1.5px;
  margin: 0 0 5px;
}
h1 {
  font-size: 27px;
  letter-spacing: -1px;
  line-height: 1.35;
  margin: 0 0 9px;
}
h2 {
  font-size: 18px;
  margin: 0 0 12px;
  letter-spacing: -0.4px;
}
h3 {
  font-size: 17px;
  margin: 0 0 8px;
}
p {
  margin: 8px 0;
}
.muted {
  color: var(--muted);
  font-size: 13px;
}
.panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  padding: 24px;
  margin-bottom: 20px;
}
.panel p:last-child {
  margin-bottom: 0;
}
.stats {
  display: flex;
  gap: 32px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 18px 0;
  margin-bottom: 26px;
  flex-wrap: wrap;
}
.stat {
  display: flex;
  gap: 10px;
  align-items: center;
  color: var(--muted);
  font-size: 13px;
}
.stat strong {
  color: #302b28;
  font-size: 23px;
  line-height: 1.3;
}
.toolbar {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.toolbar input {
  flex: 1;
  min-width: 140px;
}
.grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.trip {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  min-width: 0;
}
.trip img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  display: block;
}
.trip-content {
  padding: 22px;
}
.trip .facts {
  display: flex;
  gap: 6px 18px;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 13px;
  margin: 12px 0;
}
.trip-foot {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.trip-foot strong {
  font-size: 18px;
}
.badge {
  display: inline-block;
  border: 1px solid #d9e4d5;
  background: #f2f7ef;
  color: #426437;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 650;
  margin-bottom: 10px;
}
.badge.closed {
  background: #f3f1ec;
  color: #756e65;
  border-color: #dedbd4;
}
.empty {
  text-align: center;
  padding: 64px 22px;
  border: 1px dashed #cfc9be;
  border-radius: 8px;
  color: var(--muted);
  background: #faf9f6;
}
.empty h2 {
  color: #4e4338;
}
.empty .button {
  margin-top: 14px;
}
.row {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.full {
  grid-column: 1/-1;
}
label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  min-width: 0;
}
input,
textarea,
select {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  border: 1px solid #d6d0c6;
  border-radius: 5px;
  background: #fff;
  color: #302b28;
  padding: 10px 12px;
  font-size: 16px;
}
textarea {
  resize: vertical;
  min-height: 96px;
}
.check {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-weight: 400;
  font-size: 13px;
}
.check input {
  width: 18px;
  min-width: 18px;
  min-height: 18px;
  height: 18px;
  margin-top: 3px;
  accent-color: var(--accent);
}
.actions {
  display: flex;
  gap: 10px;
  margin-top: 24px;
  flex-wrap: wrap;
}
form {
  margin: 0;
}
.table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.table th {
  text-align: left;
  color: var(--muted);
  font-weight: 500;
  background: #faf9f6;
}
.table th,
.table td {
  padding: 14px 12px;
  border-bottom: 1px solid var(--line);
  overflow-wrap: anywhere;
  vertical-align: top;
}
.table td button {
  font-size: 12px;
  min-height: 36px;
  padding: 5px 10px;
}
.table-wrap {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: white;
  overflow: hidden;
}
.table tr:last-child td {
  border-bottom: 0;
}
.review {
  padding: 16px 0;
  border-top: 1px solid var(--line);
}
.review p {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.review small {
  color: var(--muted);
}
.bank {
  border-left: 3px solid #9d805d;
  background: #f7f4ee;
  padding: 14px 18px;
  margin: 16px 0;
  overflow-wrap: anywhere;
}
.bank strong {
  display: block;
}
.prose {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.login-screen {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 24px;
  background: #faf9f6;
}
.login-card {
  width: min(100%, 390px);
  text-align: center;
}
.login-card h1 {
  font-size: 22px;
  margin-bottom: 25px;
}
.login-card .kakao {
  width: 100%;
}
.login-card input {
  margin-bottom: 14px;
  background: transparent;
}
.login-card .quiet {
  margin-top: 14px;
  width: 100%;
}
.login-card .muted {
  margin-top: 18px;
}
.app-list {
  display: grid;
  gap: 10px;
}
.app-list .button {
  justify-content: space-between;
  background: white;
  color: var(--accent);
  border-color: var(--line);
}
.managed-apps-card { min-width: 0; }
.managed-apps-card h1,
.managed-app-policy { overflow-wrap: anywhere; word-break: keep-all; }
.managed-apps-card .app-list .button { gap: 12px; text-align: left; }
.managed-app-name { min-width: 0; overflow-wrap: anywhere; }
.managed-app-open { flex-shrink: 0; font-size: 14px; }
.managed-apps-card [data-action="create"][hidden] { display: none !important; }
dialog {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 28px;
  width: min(620px, calc(100% - 28px));
  max-height: 90dvh;
  overflow: auto;
  color: #302b28;
}
dialog::backdrop {
  background: #302b2866;
}
dialog h2 {
  font-size: 21px;
}
#close-dialog {
  margin-top: 22px;
}
#message {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  max-width: calc(100% - 30px);
  width: max-content;
  background: #302b28;
  color: white;
  border-radius: 6px;
  padding: 12px 18px;
  z-index: 20;
  box-shadow: 0 5px 20px #302b2820;
}
#message:empty {
  display: none;
}
.loading {
  text-align: center;
  margin: 25vh 20px;
}
.form-error {
  color: #a73528;
  white-space: pre-wrap;
}
.privacy {
  font-size: 12px;
  color: var(--muted);
}
.error-panel {
  max-width: 600px;
  margin: 15vh auto;
}
.table small {
  display: block;
  color: var(--muted);
}
.table .badge {
  margin: 0;
}
.nowrap {
  white-space: nowrap;
}
@media (min-width: 1450px) {
  .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .content {
    max-width: 1400px;
  }
}
@media (max-width: 800px) {
  .layout {
    grid-template-columns: 1fr;
  }
  .sidebar {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .brand small {
    display: none;
  }
  .nav button {
    white-space: nowrap;
  }
  .sidebar .brand {
    padding-right: 0;
  }
  .heading {
    gap: 12px;
  }
  h1 {
    font-size: 24px;
  }
  .heading > button {
    font-size: 12px;
    padding: 8px 12px;
  }
  .table,
  .table tbody,
  .table tr,
  .table td {
    display: block;
  }
  .table thead {
    display: none;
  }
  .table tr {
    border-bottom: 1px solid var(--line);
  }
  .table td {
    border: 0;
  }
  .table td:before {
    content: attr(data-label);
    color: var(--muted);
    display: inline-block;
    min-width: 75px;
    font-size: 12px;
  }
  .table td:empty {
    display: none;
  }
  .table-wrap {
    overflow: visible;
  }
  .table tr:last-child {
    border: 0;
  }
}
@media (max-width: 520px) {
  .grid,
  .fields {
    grid-template-columns: 1fr;
  }
  .heading {
    flex-wrap: wrap;
  }
  .topbar span {
    max-width: 75%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .brand {
    font-size: 18px;
  }
  .full {
    grid-column: auto;
  }
  .login-card .muted {
    font-size: 12px;
  }
}
/* Prevent intrinsic menu width from expanding the mobile grid column. */
.sidebar,
.nav {
  min-width: 0;
}
.nav {
  max-width: 100%;
}
.layout {
  width: 100%;
  min-width: 0;
}

.grid + .panel {
  margin-top: 20px;
}

/* Shared navigation markup; mobile owns the bottom navigation. */
.nav-icon {
  display: none;
}
@media (max-width: 800px) {
  html {
    scroll-padding-bottom: 100px;
  }
  .layout {
    display: block;
    min-height: 100dvh;
  }
  .sidebar {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    min-height: 66px;
    padding: 10px 16px;
    background: #faf9f6;
  }
  .sidebar .brand {
    font-size: 19px;
    line-height: 1.35;
    flex: 1;
    min-width: 0;
  }
  .nav {
    position: fixed;
    z-index: 15;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: stretch;
    gap: 0;
    border-top: 1px solid var(--line);
    background: #fff;
    padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
    overflow: visible;
    box-shadow: 0 -3px 18px #302b2806;
  }
  .nav button {
    flex: 1;
    min-width: 0;
    min-height: 58px;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    padding: 5px 2px;
    font-size: 11px;
    line-height: 1.3;
    border-radius: 6px;
  }
  .nav-icon {
    display: block;
    width: 22px;
    height: 22px;
  }
  .nav button[aria-current="page"] {
    background: #f4f0e9;
    color: var(--accent);
  }
  .topbar {
    height: 44px;
    border-bottom: 0;
    background: transparent;
    padding: 0 18px;
  }
  .topbar span {
    font-size: 11px;
  }
  .topbar button {
    min-height: 44px;
    padding: 4px 10px;
    font-size: 12px;
  }
  .content {
    padding: 12px 16px calc(104px + env(safe-area-inset-bottom));
  }
  .heading {
    margin-bottom: 20px;
    align-items: center;
  }
  .heading .eyebrow {
    display: none;
  }
  .heading h1 {
    font-size: 25px;
    margin-bottom: 6px;
  }
  .heading .muted {
    margin: 0;
    font-size: 13px;
  }
  .heading > button {
    min-height: 44px;
  }
  .grid {
    gap: 18px;
  }
  .toolbar {
    margin-bottom: 18px;
  }
  .toolbar input {
    min-height: 48px;
    border-radius: 8px;
    padding-left: 14px;
    background: #fff;
  }
  .trip {
    border-radius: 10px;
  }
  .trip img {
    height: auto;
    aspect-ratio: 1.85;
  }
  .trip-content {
    padding: 18px;
  }
  .trip h2 {
    font-size: 18px;
    line-height: 1.45;
    margin-bottom: 6px;
  }
  .trip .facts {
    margin: 14px 0;
    gap: 5px 12px;
  }
  .trip-foot {
    margin-top: 16px;
    padding-top: 15px;
    border-top: 1px solid #eeeae4;
  }
  .trip-foot strong {
    font-size: 20px;
  }
  .trip-foot button {
    min-height: 44px;
    padding: 10px 16px;
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
  }
  .stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 12px;
    padding: 0;
    border: 0;
    margin: 0 0 20px;
  }
  .stat {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
    overflow-wrap: anywhere;
  }
  .stat strong {
    font-size: 21px;
  }
  .panel {
    padding: 18px;
    border-radius: 8px;
  }
  .table td button {
    min-height: 44px;
    padding: 10px 14px;
  }
  .table tr {
    padding: 16px;
  }
  .table td {
    padding: 6px 0;
  }
  #message {
    bottom: calc(90px + env(safe-area-inset-bottom));
  }
  .login-screen {
    padding: 24px;
    padding-top: calc(24px + env(safe-area-inset-top));
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
  }
  .login-card .kakao {
    min-height: 54px;
    border-radius: 8px;
  }
  .login-card h1 {
    font-size: 28px;
    margin-bottom: 28px;
  }
  .login-card > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}
@media (max-width: 520px) {
  dialog {
    width: 100%;
    max-width: 100%;
    margin: auto 0 0;
    max-height: 92dvh;
    padding: 24px 20px calc(22px + env(safe-area-inset-bottom));
    border-radius: 16px 16px 0 0;
    border-bottom: 0;
  }
  dialog h2 {
    font-size: 22px;
    padding-right: 4px;
  }
  dialog .actions > button,
  dialog #close-dialog,
  #close-dialog {
    width: 100%;
    min-height: 48px;
  }
  dialog .fields {
    gap: 16px;
  }
  dialog input,
  dialog select {
    min-height: 48px;
  }
  dialog .check input {
    min-height: 18px;
  }
  dialog .actions {
    margin-top: 20px;
  }
  .login-card .actions {
    display: grid;
  }
  .login-card .actions > button {
    width: 100%;
  }
}

.dialog-dismiss {
  position: sticky;
  top: 0;
  float: right;
  z-index: 2;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: -8px -6px 0 12px;
  border-radius: 50%;
  background: #fff;
  color: var(--accent);
  border-color: var(--line);
  font-size: 26px;
  line-height: 1;
}

.mobile-login {
  display: none;
}
.topbar .kakao {
  min-height: 44px;
  white-space: nowrap;
}
.trip-foot .button {
  min-height: 44px;
}
@media (max-width: 800px) {
  .mobile-login {
    display: inline-flex;
    min-height: 44px;
    padding: 10px 12px;
    font-size: 12px;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .sidebar .guest-account,
  .topbar .kakao {
    display: none;
  }
  .topbar .button {
    min-height: 44px;
    font-size: 12px;
    padding: 8px 12px;
  }
  .trip-foot .button {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
  }
}

/* Account identity stays visible; guide navigation follows server ownership. */
.account-button {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.account-actions {
  display: grid;
  gap: 12px;
}
.app-footer {
  margin-top: 32px;
  font-size: 12px;
  color: var(--muted);
}
.sidebar-privacy {
  margin-top: auto;
}
@media (max-width: 800px) {
  .topbar .desktop-account,
  .sidebar-privacy {
    display: none;
  }
  .sidebar .account-button {
    max-width: 130px;
  }
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.mobile-header {
  display: none;
}
.share-button {
  min-width: 44px;
  min-height: 44px;
  gap: 6px;
  white-space: nowrap;
}
.share-button svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
@media (max-width: 800px) {
  .desktop-header {
    display: none;
  }
  .mobile-header {
    display: flex;
    gap: 8px;
  }
  .sidebar {
    gap: 8px;
  }
  .sidebar .account-button {
    max-width: 100px;
  }
  .sidebar .share-button {
    width: 44px;
    padding: 10px;
  }
  .sidebar .share-button span {
    display: none;
  }
}

/* Address search is a separate native dialog: keep the tour draft and photo input. */
.meeting-field {
  border-top: 1px solid var(--line);
  padding-top: 20px;
  min-width: 0;
}
.meeting-field h3 {
  margin: 0 0 12px;
}
.meeting-field p,
.meeting-result p,
.meeting-map-place p {
  margin: 6px 0;
}
.meeting-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.meeting-actions button[hidden] {
  display: none;
}
.field-help {
  font-weight: 400;
  font-size: 13px;
  line-height: 1.6;
}
.meeting-dialog {
  width: min(760px, calc(100% - 32px));
  max-width: 760px;
}
.meeting-dialog h2 {
  margin-top: 0;
  padding-right: 48px;
}
.meeting-search-fields {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}
.meeting-search-fields label {
  min-width: 0;
}
.meeting-search-fields input,
.meeting-search-fields select {
  width: 100%;
}
.meeting-search-help {
  font-size: 13px;
}
.meeting-status {
  margin: 20px 0 12px;
}
.meeting-results {
  display: grid;
  gap: 10px;
}
.meeting-result {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 16px;
}
.meeting-result > div {
  min-width: 0;
  overflow-wrap: anywhere;
}
.meeting-result button {
  flex-shrink: 0;
}
.meeting-map-place {
  margin-bottom: 16px;
  overflow-wrap: anywhere;
}
.meeting-map {
  width: 100%;
  height: min(380px, 48dvh);
  min-height: 240px;
  display: block;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg);
}
.meeting-instructions {
  margin-top: 20px;
}
.meeting-instructions h3 {
  font-size: 16px;
}
.meeting-map-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  margin-top: 12px;
}
.meeting-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}
.meeting-dialog .dialog-dismiss {
  float: right;
  position: sticky;
}
@media (max-width: 520px) {
  .meeting-dialog {
    width: 100%;
    max-width: 100%;
  }
  .meeting-search-fields {
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 10px;
  }
  .meeting-search-fields > button {
    grid-column: 1 / -1;
  }
  .meeting-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .meeting-actions button {
    padding: 10px 8px;
    font-size: 14px;
  }
  .meeting-actions [data-meeting-action="clear"] {
    grid-column: 1 / -1;
  }
  .meeting-result {
    padding: 12px;
  }
  .meeting-result strong {
    font-size: 15px;
  }
  .meeting-result p {
    font-size: 13px;
  }
  .meeting-footer > button {
    width: 100%;
  }
}

/* The guide identity uses the same compact header on desktop and mobile. */
.brand-identity { display: flex; align-items: center; gap: 9px; min-width: 0; }
.brand-identity > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.brand-icon { width: 32px; height: 32px; border-radius: 6px; flex: 0 0 32px; object-fit: contain; background: #fff; }
.logo-editor { display: flex; align-items: flex-start; gap: 20px; margin: 18px 0; }
.logo-editor > div { min-width: 0; flex: 1; }
.logo-editor input { max-width: 100%; }
.logo-preview { width: 112px; height: 112px; border: 1px solid var(--line); border-radius: 8px; object-fit: contain; background: #fff; flex: 0 0 112px; }
@media (max-width: 520px) {
  .logo-editor { flex-direction: column; gap: 14px; }
  .logo-editor > div { width: 100%; }
  .brand-icon { width: 28px; height: 28px; flex-basis: 28px; }
}

/* A guide's member details stay directly below the selected member. */
.member-detail[hidden],.member-detail [hidden]{display:none!important}
.member-table [data-member-row]{cursor:pointer}
.member-table td button{min-height:44px;font-size:14px;padding:8px 12px}
.member-toggle{justify-content:space-between;gap:12px;width:100%;text-align:left}
.member-toggle[aria-expanded=true]{background:#f4f3ef}
.member-table .member-detail>td{padding:0;cursor:default}
.member-detail-inner{padding:24px;background:#faf9f6;border-bottom:1px solid var(--line)}
.member-detail-inner h2{font-size:18px;margin:0}
.member-detail-inner h3{font-size:17px;margin:24px 0 8px}
.member-detail-inner h4{font-size:15px;margin:20px 0 8px}
.member-detail-inner form{max-width:760px}
.member-detail-inner .fields{margin-top:16px}
.member-detail-inner input,.member-detail-inner textarea{font-size:16px}
.member-detail-inner [role=alert]{color:#8a3027;overflow-wrap:anywhere}
.member-history-list{display:grid;gap:12px}
.member-history-item{background:white;border:1px solid var(--line);border-radius:6px;padding:16px;min-width:0;overflow-wrap:anywhere}
.member-history-item>p{margin:8px 0}
.member-history-item dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 0}
.member-history-item dt{font-size:12px;color:var(--muted)}
.member-history-item dd{margin:2px 0 0;font-size:14px;font-weight:600}
.member-detail [data-member-content]>[role=alert],.member-detail [data-member-content]>[role=status]{padding:12px 16px}
.member-detail [data-member-content]>button{margin:0 16px 16px}
@media(max-width:800px){.member-table .member-detail{padding:0}.member-table .member-detail>td{display:block;padding:0}.member-table .member-detail>td:before{display:none}.member-detail-inner{padding:20px 16px}.member-history-item dl{grid-template-columns:repeat(2,minmax(0,1fr))}.member-table [data-member-row]>td:first-child:before{display:none}.member-detail-inner .fields{grid-template-columns:1fr}}
.member-toggle .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Sample account previews stay local and preserve the selected app identity. */
.demo-utility-identity{display:flex;gap:12px;align-items:center;min-width:0;margin:20px 0}
.demo-utility-identity img{width:44px;height:44px;object-fit:contain;border-radius:6px}
.demo-utility-identity strong{overflow-wrap:anywhere}
.demo-utility-empty{padding:20px;border:1px dashed var(--line);border-radius:6px;color:var(--muted);margin:18px 0}
@media(max-width:800px){.demo-utility-identity{margin:16px 0}}

/* Settings keep the four main guide destinations and show one chosen panel. */
.guide-navigation{display:grid;gap:6px;min-width:0}
.settings-subnav{display:grid;gap:4px;min-width:0;margin-left:18px;padding-left:10px;border-left:1px solid var(--line)}
.settings-subnav button{justify-content:flex-start;min-height:44px;padding:10px 12px;border:0;background:transparent;color:var(--muted);font-size:14px;font-weight:500;text-align:left;overflow-wrap:anywhere}
.settings-subnav button:hover,.settings-subnav button[aria-current="page"]{background:#eae5dd;color:var(--accent)}
.settings-subnav button[aria-current="page"]{font-weight:700}
.settings-subnav-mobile{display:none}
.settings-subnav[hidden],[data-settings-section][hidden]{display:none!important}
@media(max-width:800px){
 .guide-navigation{display:contents}
 .settings-subnav-desktop{display:none}
 .settings-subnav-mobile{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px;padding:0;border:0}
 .settings-subnav-mobile button{justify-content:center;border:1px solid var(--line);background:#fff;font-size:14px;padding:9px 12px}
 .settings-subnav-mobile button[aria-current="page"]{background:#eae5dd;border-color:var(--accent)}
}

/* App name and logo are one guide identity and one explicit save. */
.guide-identity{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px;margin-bottom:24px;align-items:start}
.guide-identity-fields{display:grid;gap:16px;min-width:0}
.guide-identity-logo{min-width:0}
.guide-identity-logo>label:first-child{margin-bottom:6px}
.guide-identity .logo-editor{margin:0;gap:16px}
.guide-identity .logo-editor .quiet{font-size:13px;padding:8px 12px;margin-top:4px}
.guide-identity [data-logo-consent]{margin-top:12px}
.guide-identity [data-logo-consent][hidden]{display:none!important}
@media(max-width:800px){.guide-identity{grid-template-columns:minmax(0,1fr);gap:20px}}

.member-notification-help{padding:18px 20px;margin-bottom:20px}
.member-notification-help h2{font-size:17px;margin-bottom:8px}
.member-notification-help>p{font-size:14px}
.member-notification-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}
.member-notification-actions .button,.member-notification-actions button{font-size:14px;min-height:44px}

/* Personal review controls stay with the review and the current account. */
.review-controls-menu{margin-top:12px}
.review-controls-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;width:44px;min-height:44px;border:1px solid var(--line);border-radius:6px;color:var(--accent);background:#fff;cursor:pointer;font-size:24px}
.review-controls-menu>summary::-webkit-details-marker{display:none}
.review-controls-menu>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.review-controls-menu .review-controls{margin-top:8px}
.review-blocked-context{padding:12px 16px;background:#f4f3ef;border:1px solid var(--line);border-radius:6px;overflow-wrap:anywhere}
.review-blocked-count{color:var(--muted);font-size:14px}
.review-blocked-list{display:grid;gap:0;padding:0;list-style:none}
.review-blocked-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid var(--line);min-width:0}
.review-blocked-row>div{min-width:0;overflow-wrap:anywhere}
.review-blocked-meta{display:block;margin-top:4px;color:var(--muted);font-size:13px}
.review-blocked-row>button{flex-shrink:0;min-height:44px}
.review-blocked-empty{padding:24px 16px;border:1px dashed var(--line);border-radius:6px;color:var(--muted)}
@media(max-width:520px){.review-blocked-row{align-items:flex-start;flex-wrap:wrap}.review-blocked-row>div{flex:1 1 140px}.review-blocked-row>button{margin-left:auto}}
.member-notification-actions [aria-disabled=true]{opacity:.65;cursor:wait}
.member-notification-help [role=status]{margin-bottom:0;overflow-wrap:anywhere}
@media(max-width:520px){.member-notification-help{padding:16px}.member-notification-actions{align-items:stretch}}
