/*
 * 관람객 마이(F-C6/B4/C4/B5/C7/C5) — 자체 스타일(kx 토큰만, 하드코딩 0). 공유 css 무수정.
 * Nifty: 카드(서브틀 그림자·라운드)·중립 팔레트·상태색 토큰.
 */
.kx-acct { padding-bottom: var(--space-8); }

.kx-acct__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: var(--space-4) 0;
  border-bottom: 1px solid var(--color-neutral-200);
}
.kx-acct__tab {
  position: relative;
  padding: var(--space-2) var(--space-3);
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
  color: var(--color-text-muted);
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
}
.kx-acct__tab.is-active { color: var(--color-primary-700); border-bottom-color: var(--color-primary-600); font-weight: var(--fw-semibold); }
.kx-acct__dot {
  display: inline-block; margin-left: var(--space-1);
  min-width: 18px; padding: 0 var(--space-1);
  font-size: var(--fs-nano); text-align: center; line-height: 18px;
  background: var(--color-error); color: var(--color-white);
  border-radius: var(--radius-pill);
}

.kx-acct__card {
  padding: var(--space-4);
  display: grid;
  gap: var(--space-3);
  align-content: start;
}
.kx-acct__card-title { font-size: var(--fs-h3); font-weight: var(--fw-semibold); color: var(--color-neutral-900); margin: 0; }
.kx-acct__card-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); }
.kx-acct__list { display: grid; gap: var(--space-3); }
.kx-acct__grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
@media (max-width: 860px) { .kx-acct__grid2 { grid-template-columns: 1fr; } }
.kx-acct__note { font-size: var(--fs-nano); color: var(--color-text-muted); margin: 0; }

/* 멤버십 */
.kx-mem__hero {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--space-4); border-radius: var(--radius-lg);
  background: var(--color-primary-050); color: var(--color-primary-800);
}
.kx-mem__hero.is-vip { background: var(--color-warning-bg); color: var(--color-warning); }
.kx-mem__hero.is-buyer { background: var(--color-success-bg); color: var(--color-success); }
.kx-mem__tier { font-size: var(--fs-h1); font-weight: var(--fw-bold); }
.kx-mem__points { font-size: var(--fs-h3); font-weight: var(--fw-semibold); }
.kx-mem__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); }
.kx-mem__stats div { padding: var(--space-2); background: var(--color-neutral-050); border-radius: var(--radius-sm); text-align: center; }
.kx-mem__stats dt { font-size: var(--fs-nano); color: var(--color-text-muted); }
.kx-mem__stats dd { margin: var(--space-1) 0 0; font-size: var(--fs-body); font-weight: var(--fw-semibold); color: var(--color-neutral-900); }
.kx-mem__benefits h3 { font-size: var(--fs-body); font-weight: var(--fw-semibold); margin: 0 0 var(--space-2); color: var(--color-neutral-800); }
.kx-mem__benefits ul { margin: 0; padding-left: var(--space-4); display: grid; gap: var(--space-1); font-size: var(--fs-caption); color: var(--color-neutral-700); }

/* 세션 */
.kx-sess { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-4); }
.kx-sess__info { display: grid; gap: var(--space-1); }
.kx-sess__head { display: flex; align-items: center; gap: var(--space-2); }
.kx-sess__head h3 { font-size: var(--fs-body); font-weight: var(--fw-semibold); color: var(--color-neutral-900); margin: 0; }
.kx-sess__track { font-size: var(--fs-nano); padding: 0 var(--space-2); background: var(--color-neutral-100); border-radius: var(--radius-pill); color: var(--color-neutral-600); }
.kx-sess__meta { font-size: var(--fs-caption); color: var(--color-text-muted); margin: 0; }
.kx-sess__cap { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.kx-sess__seats { font-size: var(--fs-caption); color: var(--color-neutral-700); }
.kx-sess__seats.is-full { color: var(--color-error); font-weight: var(--fw-semibold); }
.kx-sess__badge { font-size: var(--fs-nano); font-weight: var(--fw-semibold); padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); }
.kx-sess__badge.is-ok { background: var(--color-success-bg); color: var(--color-success); }
.kx-sess__badge.is-wait { background: var(--color-warning-bg); color: var(--color-warning); }

/* 컨택트 */
.kx-cc { display: grid; gap: var(--space-2); justify-items: center; }
.kx-cc__qr { display: grid; justify-items: center; gap: var(--space-1); }
.kx-cc__qr svg { border: 1px solid var(--color-neutral-200); border-radius: var(--radius-sm); }
.kx-cc__qr code { font-family: var(--font-mono); font-size: var(--fs-nano); color: var(--color-text-muted); }
.kx-cc__info { display: grid; gap: 2px; text-align: center; }
.kx-cc__info b { font-size: var(--fs-body); color: var(--color-neutral-900); }
.kx-cc__info span { font-size: var(--fs-caption); color: var(--color-neutral-600); }
.kx-cc__hint { font-size: var(--fs-nano); color: var(--color-text-muted); text-align: center; margin: 0; }

.kx-acct__contacts { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.kx-contact {
  display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-2);
  padding: var(--space-3); border: 1px solid var(--color-neutral-100); border-radius: var(--radius-sm);
}
.kx-contact div { display: grid; gap: 2px; }
.kx-contact b { font-size: var(--fs-body); color: var(--color-neutral-900); }
.kx-contact span { font-size: var(--fs-caption); color: var(--color-neutral-600); }
.kx-contact em { font-size: var(--fs-nano); color: var(--color-text-muted); }
.kx-contact__del { border: none; background: transparent; font-size: var(--fs-h3); color: var(--color-neutral-500); cursor: pointer; line-height: 1; }

.kx-acct__scan { display: grid; gap: var(--space-2); }
.kx-acct__scan p { font-size: var(--fs-caption); color: var(--color-neutral-700); margin: 0; }
.kx-acct__scan-input { padding: var(--space-3); border: 1px solid var(--color-neutral-300); border-radius: var(--radius-sm); font-family: var(--font-mono); }
.kx-acct__scan-err { color: var(--color-error); font-size: var(--fs-caption); margin: 0; }

/* 결제수단 */
.kx-acct__pms { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.kx-pm { display: flex; justify-content: space-between; align-items: center; gap: var(--space-2); padding: var(--space-3); border: 1px solid var(--color-neutral-100); border-radius: var(--radius-sm); }
.kx-pm__info { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.kx-pm__info b { color: var(--color-neutral-900); }
.kx-pm__info span { font-size: var(--fs-caption); color: var(--color-neutral-600); }
.kx-pm__default { font-size: var(--fs-nano); background: var(--color-primary-050); color: var(--color-primary-700); padding: 0 var(--space-2); border-radius: var(--radius-pill); }
.kx-pm__actions { display: flex; gap: var(--space-2); }
.kx-pm__actions button { border: none; background: transparent; font-size: var(--fs-caption); color: var(--color-primary-700); cursor: pointer; }
.kx-pm__del { color: var(--color-error) !important; }

.kx-acct__form { display: grid; gap: var(--space-3); }
.kx-acct__form label { display: grid; gap: var(--space-1); font-size: var(--fs-caption); color: var(--color-neutral-700); }
.kx-acct__form input, .kx-acct__form select { padding: var(--space-2) var(--space-3); border: 1px solid var(--color-neutral-300); border-radius: var(--radius-sm); font-size: var(--fs-body); }
.kx-acct__check { flex-direction: row !important; align-items: center; }
.kx-acct__check input { width: auto; }

/* 피드 */
.kx-acct__feed { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.kx-feed { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3); }
.kx-feed__type { font-size: var(--fs-nano); font-weight: var(--fw-semibold); padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); }
.kx-feed__type.is-event { background: var(--color-primary-050); color: var(--color-primary-700); }
.kx-feed__type.is-booth { background: var(--color-neutral-100); color: var(--color-neutral-700); }
.kx-feed__info { display: grid; gap: 2px; flex: 1; }
.kx-feed__info b { font-size: var(--fs-body); color: var(--color-neutral-900); }
.kx-feed__info span { font-size: var(--fs-caption); color: var(--color-text-muted); }
.kx-feed time { font-size: var(--fs-nano); color: var(--color-text-muted); }

/* 알림 */
.kx-acct__alerts { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.kx-alert { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-2); padding: var(--space-3); border: 1px solid var(--color-neutral-100); border-radius: var(--radius-sm); cursor: pointer; }
.kx-alert.is-unread { border-left: 3px solid var(--color-primary-600); background: var(--color-primary-050); }
.kx-alert__info { display: grid; gap: 2px; }
.kx-alert__info b { font-size: var(--fs-body); color: var(--color-neutral-900); }
.kx-alert__info span { font-size: var(--fs-caption); color: var(--color-neutral-600); }
.kx-alert time { font-size: var(--fs-nano); color: var(--color-text-muted); white-space: nowrap; }
