/* パスワードリセット成功コンテナ */
.password-reset-success-container {
  max-width: 480px;
  width: 100%;
  background-color: #e0f2fe;
  padding: 2rem;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  margin: 2em auto;
  text-align: center;
}

.password-reset-success-container h2 {
  font-size: 1.6em;
  color: #ec4899;
  margin-bottom: 1em;
}

.password-reset-success-container > p {
  margin-bottom: 1em;
  color: #374151;
}

.password-reset-success-buttons {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 1em;
}

.password-reset-success-button-wrapper {
  display: inline-block;
}

.password-reset-success-button {
  padding: 16px;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 8px;
  background-color: #EC4899;
  color: #fff;
  display: inline-block;
  width: 220px;
  text-align: center;
  box-sizing: border-box;
  transition: all 0.3s ease;
  vertical-align: middle;
}

.password-reset-success-girl-image {
  display: inline-block;
  vertical-align: middle;
  margin-left: 8px;
}

.password-reset-success-girl-image img {
  max-height: 65px;
  max-width: 65px;
  width: auto;
  height: auto;
  display: block;
  box-shadow: none;
}

/* 登録ありがとうございますセクション */
.mypage-pending-container {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--fanika-ui-content-max, 1080px);
  margin: 0 auto;
  padding: 1.5em;
  font-family: sans-serif;
}

.mypage-pending-container h2 {
  font-size: 1.6em;
  color: #ec4899;
  text-align: center;
}

.mypage-pending-notice {
  background-color: #fff0f6;
  border: 2px dashed #ec4899;
  border-radius: 16px;
  padding: 1.5em;
  margin: 1.5em 0;
}

.mypage-fanika-intro {
  background-color: #f9f5ff;
  border-radius: 16px;
  padding: 1.5em;
  margin: 2em 0;
  text-align: center;
}

.mypage-fanika-intro p {
  margin: 0;
  font-size: 1.1em;
  line-height: 1.6;
  color: #374151;
}

.mypage-fanika-description {
  font-size: 1.1em;
  line-height: 1.8;
  color: #374151;
  text-align: center;
  margin: 1.5em 0;
}

/* 機能説明カード */
.mypage-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.5em;
  margin-top: 2.5em;
}

.mypage-feature-card {
  border-radius: 16px;
  padding: 1.2em;
  text-align: center;
}

.mypage-feature-card-fanclub {
  background-color: #ede9fe;
}

.mypage-feature-card-shop {
  background-color: #d1fae5;
}

.mypage-feature-card-post {
  background-color: #fef3c7;
}

.mypage-no-access {
  text-align: center;
  padding: 2em;
}

.mypage-no-access .primall-btn i {
  margin-right: 8px;
}

.mypage-feature-card-agent {
  background-color: #dbeafe;
}

.mypage-feature-card h3 {
  margin: 0 0 1em 0;
  font-size: 1.3em;
}

.mypage-feature-card-fanclub h3 {
  color: #7c3aed;
}

.mypage-feature-card-shop h3 {
  color: #059669;
}

.mypage-feature-card-post h3 {
  color: #d97706;
}

.mypage-feature-card-agent h3 {
  color: #2563eb;
}

.mypage-feature-card p {
  margin: 0;
  line-height: 1.6;
  color: #374151;
}

.mypage-pending-message {
  text-align: center;
  margin-top: 3em;
}

.mypage-pending-message span {
  font-size: 1.1em;
  color: #64748b;
}

.mypage-logout-wrapper {
  text-align: center;
  margin-top: 2.5em;
}

.primall-btn {
  display: inline-block;
  background-color: #64748b;
  color: white;
  font-weight: bold;
  font-size: 1rem;
  padding: 0.6rem 1.5rem;
  border-radius: 9999px;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.mypage-no-access {
  text-align: center;
}

.mypage-no-access h2 {
  margin-bottom: 1em;
}

/* マイページ共通レイアウトは creator-profile.css を参照 */



/* =========================================================
   My Page personal hub (D0094)
   ========================================================= */

.fanika-mypage-root {
  display: grid;
  gap: 18px;
  background: transparent !important;
  border-radius: 0 !important;
  padding-block: 24px 40px !important;
}

.fanika-mypage-summary,
.fanika-mypage-group {
  padding: 20px;
}

.fanika-mypage-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 18px;
}

.fanika-mypage-summary__avatar {
  width: 84px !important;
  height: 84px !important;
  max-width: 84px !important;
  max-height: 84px !important;
  margin: 0 !important;
  border-radius: 50% !important;
  object-fit: cover;
}

.fanika-mypage-summary__body {
  min-width: 0;
}

.fanika-mypage-summary__name {
  margin: 0;
  color: var(--fanika-ui-text, #1f2937);
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  line-height: 1.3;
}

.fanika-mypage-summary__segments,
.fanika-mypage-current-segments {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 9px;
}

.fanika-mypage-summary__description {
  margin: 12px 0;
  color: var(--fanika-ui-text-muted, #667085);
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.fanika-mypage-summary__description--empty {
  font-style: italic;
}

.fanika-mypage-group__header {
  margin-bottom: 14px;
}

.fanika-mypage-group__header h2,
.fanika-mypage-account-category h3 {
  margin: 0;
  color: var(--fanika-ui-text, #1f2937);
}

.fanika-mypage-group__header h2 {
  font-size: 1.08rem;
}

.fanika-mypage-group__header p {
  margin: 5px 0 0;
  color: var(--fanika-ui-text-muted, #667085);
  font-size: 0.86rem;
  line-height: 1.55;
}

.fanika-mypage-account-category h3 {
  margin-bottom: 9px;
  font-size: 0.9rem;
}

.fanika-mypage-list {
  display: grid;
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--fanika-ui-card-border, #e5e7eb);
  border-radius: 12px;
  background: var(--fanika-ui-card-border, #e5e7eb);
}

.fanika-mypage-list__link {
  position: relative;
  display: grid;
  gap: 3px;
  min-width: 0;
  min-height: 58px;
  padding: 11px 42px 11px 14px;
  background: #fff;
  color: var(--fanika-ui-text, #1f2937);
  text-decoration: none !important;
}

a.fanika-mypage-list__link::after {
  content: '›';
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  color: #98a2b3;
  font-size: 1.25rem;
}

a.fanika-mypage-list__link:hover,
a.fanika-mypage-list__link:focus-visible {
  background: #f8fbff;
  color: var(--fanika-ui-accent, #ec4899);
  outline: none;
}

.fanika-mypage-list__title {
  min-width: 0;
  font-size: 0.94rem;
  font-weight: 800;
  line-height: 1.35;
}

.fanika-mypage-list__description {
  min-width: 0;
  color: var(--fanika-ui-text-muted, #667085);
  font-size: 0.76rem;
  line-height: 1.45;
  overflow-wrap: break-word;
  word-break: normal;
}

.fanika-mypage-list__link--disabled {
  color: #667085;
  background: #f8fafc;
}

.fanika-mypage-list__link--danger .fanika-mypage-list__title {
  color: #b42318;
}

.fanika-mypage-account-category + .fanika-mypage-account-category {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--fanika-ui-card-border, #e5e7eb);
}

.fanika-mypage-current-segments {
  margin-bottom: 14px;
}

.fanika-mypage-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 18px;
  padding: 4px 8px 0;
  font-size: 0.78rem;
}

.fanika-mypage-legal a {
  color: var(--fanika-ui-text-muted, #667085);
  text-decoration: none;
}

.fanika-mypage-legal a:hover,
.fanika-mypage-legal a:focus-visible {
  color: var(--fanika-ui-accent, #ec4899);
  text-decoration: underline;
}

@media (max-width: 640px) {
  .fanika-mypage-root {
    gap: 12px;
    padding-block: 14px 28px !important;
  }

  .fanika-mypage-summary,
  .fanika-mypage-group {
    padding: 14px;
  }

  .fanika-mypage-summary {
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
  }

  .fanika-mypage-summary__avatar {
    width: 58px !important;
    height: 58px !important;
    max-width: 58px !important;
    max-height: 58px !important;
  }

  .fanika-mypage-summary__name {
    font-size: 1.12rem;
  }

  .fanika-mypage-summary__description {
    grid-column: 1 / -1;
  }

  .fanika-mypage-list__link {
    min-height: 54px;
    padding: 10px 38px 10px 12px;
  }

  .fanika-mypage-legal {
    justify-content: flex-start;
    gap: 10px 16px;
    padding-inline: 2px;
  }

}

/* My Page root presentation: semantic root, page heading and navigation trail. */
.fanika-mypage-root {
  width: min(calc(100% - 32px), var(--fanika-ui-content-max, 1080px));
  margin-inline: auto;
  gap: 14px;
}

.fanika-mypage-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  color: var(--fanika-ui-text-muted, #667085);
  font-size: .78rem;
}

.fanika-mypage-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.fanika-mypage-breadcrumb a:hover,
.fanika-mypage-breadcrumb a:focus-visible {
  color: var(--fanika-ui-accent, #ec4899);
  text-decoration: underline;
}

.fanika-mypage-page-heading {
  display: grid;
  gap: 5px;
}

.fanika-mypage-page-heading h1 {
  margin: 0;
  color: var(--fanika-ui-text, #1f2937);
  font-size: clamp(1.45rem, 3vw, 1.85rem);
  line-height: 1.28;
}

.fanika-mypage-page-heading p {
  margin: 0;
  color: var(--fanika-ui-text-muted, #667085);
  font-size: .9rem;
  line-height: 1.6;
}

.fanika-mypage-summary {
  border-color: #f0dbe7;
  background: linear-gradient(135deg, #fff 0%, #fff8fc 100%);
}

.fanika-mypage-summary__name {
  font-size: clamp(1.08rem, 2vw, 1.35rem);
}

.fanika-mypage-group {
  padding: 0;
  overflow: hidden;
}

.fanika-mypage-group__header {
  margin: 0;
  padding: 15px 16px 13px;
  border-bottom: 1px solid var(--fanika-ui-card-border, #e5e7eb);
  background: #fbfdff;
}

.fanika-mypage-group__header h2 {
  font-size: 1rem;
}

.fanika-mypage-group > .fanika-mypage-list,
.fanika-mypage-group > .fanika-mypage-current-segments,
.fanika-mypage-group > .fanika-mypage-account-category {
  margin-inline: 16px;
}

.fanika-mypage-group > .fanika-mypage-list {
  margin-block: 14px 16px;
}

.fanika-mypage-group > .fanika-mypage-current-segments {
  margin-top: 14px;
}

.fanika-mypage-group > .fanika-mypage-account-category:first-of-type {
  margin-top: 14px;
}

.fanika-mypage-group > .fanika-mypage-account-category:last-of-type {
  margin-bottom: 16px;
}

@media (max-width: 640px) {
  .fanika-mypage-root {
    width: min(calc(100% - 32px), var(--fanika-ui-content-max, 1080px));
    gap: 10px;
  }

  .fanika-mypage-page-heading p {
    font-size: .82rem;
  }

  .fanika-mypage-group__header {
    padding: 13px 12px 11px;
  }

  .fanika-mypage-group > .fanika-mypage-list,
  .fanika-mypage-group > .fanika-mypage-current-segments,
  .fanika-mypage-group > .fanika-mypage-account-category {
    margin-inline: 12px;
  }

  .fanika-mypage-group > .fanika-mypage-list {
    margin-block: 10px 12px;
  }

  .fanika-mypage-group > .fanika-mypage-current-segments,
  .fanika-mypage-group > .fanika-mypage-account-category:first-of-type {
    margin-top: 10px;
  }

  .fanika-mypage-group > .fanika-mypage-account-category:last-of-type {
    margin-bottom: 12px;
  }
}

/* Accepted-final My Page root presentation recovery (2026-10-02). */
/* My Page visual composition: D0094 mock-aligned, scoped to the personal hub. */
/* Personal hub uses the canonical management canvas, not the public wallpaper.
 * Scope excludes public Creator surfaces and preserves the global header itself. */
body:has(.fanika-mypage-root),
body:has(.fanika-mypage-root) #page,
body:has(.fanika-mypage-root) #content,
.site-content:has(.fanika-mypage-root),
.site-main:has(.fanika-mypage-root),
.entry-content:has(.fanika-mypage-root) {
  background-color: var(--fanika-ui-page-background, #edf7fe);
  background-image: none;
}

.creator-profile-container.fanika-mypage-root {
  box-sizing: border-box;
  width: min(calc(100% - 32px), var(--fanika-ui-content-max, 1080px)) !important;
  max-width: var(--fanika-ui-content-max, 1080px) !important;
  margin: 0 auto !important;
  padding: 28px 0 44px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.fanika-mypage-root {
  display: grid;
  gap: 18px;
  color: #27364a;
}

.fanika-mypage-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 328px);
  gap: 24px;
  align-items: center;
}

.fanika-mypage-intro__context {
  display: grid;
  align-content: center;
  gap: 12px;
  min-height: 0;
}

.fanika-mypage-breadcrumb {
  color: #6c7b8f;
  font-weight: 700;
}

/* Shared Creator-management header on the left only.
 * The two-column intro and profile summary retain their accepted geometry. */
.fanika-mypage-intro__context .fanika-mypage-page-heading.fanika-creator-page-header {
  margin-bottom: 0;
}
.fanika-mypage-intro__context .fanika-mypage-page-heading .fanika-creator-page-header__title {
  color: #263449;
  font-size: 1.35rem;
  letter-spacing: normal;
}
.fanika-mypage-intro__context .fanika-mypage-page-heading .fanika-creator-page-header__description {
  color: #667085;
  font-size: .82rem;
}
@media (max-width: 767px) {
  .fanika-mypage-intro__context .fanika-mypage-page-heading .fanika-creator-page-header__title { font-size: 1.16rem; }
  .fanika-mypage-intro__context .fanika-mypage-page-heading .fanika-creator-page-header__description { font-size: .78rem; }
}

.fanika-mypage-summary {
  gap: 13px;
  padding: 16px 18px !important;
  border: 1px solid #dce8f4;
  border-radius: 18px;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(72, 108, 142, .08);
}

.fanika-mypage-summary__avatar {
  width: 62px !important;
  height: 62px !important;
  max-width: 62px !important;
  max-height: 62px !important;
  border: 3px solid #f6c1d9;
}

.fanika-mypage-summary__eyebrow {
  margin: 0 0 3px;
  color: #7b8ca1;
  font-size: .73rem;
  font-weight: 700;
}

.fanika-mypage-summary__name { font-size: 1.08rem; }
.fanika-mypage-summary__description { display: none; }

.fanika-mypage-summary__profile-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 10px;
  color: #e64d91;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
}

.fanika-mypage-summary__profile-link:hover,
.fanika-mypage-summary__profile-link:focus-visible { text-decoration: underline; }

.fanika-mypage-group {
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid #dce8f4;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(72, 108, 142, .06);
}

.fanika-mypage-group__header {
  display: flex;
  gap: 11px;
  align-items: center;
  margin: 0 !important;
  padding: 15px 20px 13px !important;
  border: 0 !important;
  background: #fff7fb;
}

.fanika-mypage-group__header h2 {
  color: #34435a;
  font-size: 1.06rem;
  font-weight: 800;
}

.fanika-mypage-group__header p {
  margin-top: 2px;
  color: #758398;
  font-size: .78rem;
}

.fanika-mypage-group__icon {
  display: grid;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 10px;
  background: #fff;
  color: #e85a99;
  font-size: 1rem;
}

.fanika-mypage-group--public .fanika-mypage-group__header { background: #f2fbfe; }
.fanika-mypage-group--public .fanika-mypage-group__icon { color: #55a9c3; }
.fanika-mypage-group--roles .fanika-mypage-group__header { background: #f3fbf5; }
.fanika-mypage-group--roles .fanika-mypage-group__icon { color: #59a778; }
.fanika-mypage-group--account .fanika-mypage-group__header { background: #f7f4ff; }
.fanika-mypage-group--account .fanika-mypage-group__icon { color: #8b75c9; }
.fanika-mypage-group--support .fanika-mypage-group__header { background: #f7f9fc; }
.fanika-mypage-group--support .fanika-mypage-group__icon { color: #75869b; }

.fanika-mypage-list {
  display: grid;
  gap: 12px;
  margin: 0 !important;
  padding: 16px 20px 20px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

/* 2026-10-07 18:35: every My Page group is a 4-column card grid on PC. */
.fanika-mypage-list--fan,
.fanika-mypage-list--public,
.fanika-mypage-list--roles,
.fanika-mypage-list--account,
.fanika-mypage-list--support { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.fanika-mypage-list__link {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 10px;
  align-content: start;
  min-height: 104px;
  padding: 14px !important;
  border: 1px solid #e1e9f1;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 2px 6px rgba(68, 103, 137, .035);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.fanika-mypage-list__link::after { display: none; }

a.fanika-mypage-list__link:hover,
a.fanika-mypage-list__link:focus-visible {
  border-color: #f0a9ca;
  background: #fff;
  box-shadow: 0 6px 16px rgba(225, 89, 148, .12);
  transform: translateY(-1px);
}

.fanika-mypage-list__icon {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  grid-row: 1 / span 2;
  border-radius: 9px;
  background: #fff1f7;
  color: #e55a98;
  font-size: .9rem;
}

.fanika-mypage-list__title {
  align-self: center;
  color: #34435a;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.35;
}

.fanika-mypage-list__description {
  grid-column: 2;
  color: #78869a;
  font-size: .74rem;
  line-height: 1.5;
}

.fanika-mypage-list__link--disabled {
  background: #fbfcfe;
  border-color: #e6edf4;
}

.fanika-mypage-list__link--static { background: #fafffb; }
.fanika-mypage-list__link--danger { min-height: 0; border-color: #f3b9bc; background: #fffafa; }
.fanika-mypage-list__link--danger .fanika-mypage-list__icon { background: #ffeff0; color: #d9545a; }

.fanika-mypage-group__sub-action {
  display: inline-flex;
  gap: 5px;
  margin: -5px 20px 17px;
  color: #718196;
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
}

.fanika-mypage-group__sub-action:hover,
.fanika-mypage-group__sub-action:focus-visible { color: #e55a98; text-decoration: underline; }

.fanika-mypage-subscriptions {
  display: grid;
  margin: -4px 20px 4px;
  border-top: 1px solid #e9eef5;
}

.fanika-mypage-subscriptions a {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 0;
  color: #63758d;
  font-size: .79rem;
  text-decoration: none;
}

.fanika-mypage-account-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 10px;
  width: min(calc(100% - 40px), 430px);
  margin: 0 20px 18px auto;
}

.fanika-mypage-account-actions .fanika-mypage-list__link {
  width: 100%;
  min-width: 0;
  min-height: 64px;
  box-sizing: border-box;
  padding: 12px 14px !important;
}

.fanika-mypage-logout {
  border-color: #d6dee9 !important;
  background: #fff !important;
}
.fanika-mypage-logout:hover,
.fanika-mypage-logout:focus-visible {
  border-color: #b9c6d6 !important;
  background: #f8fbff !important;
}

@media (max-width: 900px) {
  .creator-profile-container.fanika-mypage-root { width: min(calc(100% - 32px), var(--fanika-ui-content-max, 1080px)) !important; }
  .fanika-mypage-intro { grid-template-columns: 1fr; gap: 14px; }
  .fanika-mypage-intro__context { min-height: 0; }
  .fanika-mypage-summary { max-width: none; }
  .fanika-mypage-list--fan,
  .fanika-mypage-list--public,
  .fanika-mypage-list--roles,
  .fanika-mypage-list--account,
  .fanika-mypage-list--support { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .site-content:has(.fanika-mypage-root),
  .site-main:has(.fanika-mypage-root),
  .entry-content:has(.fanika-mypage-root) { background: #edf7fe; }

  .creator-profile-container.fanika-mypage-root {
    width: calc(100% - 20px) !important;
    padding: 15px 0 calc(82px + env(safe-area-inset-bottom)) !important;
  }

  .fanika-mypage-root { gap: 12px; }
  .fanika-mypage-intro__context { gap: 10px; }
  .fanika-mypage-page-heading h1 { font-size: 1.45rem; }
  .fanika-mypage-page-heading p { font-size: .79rem; }
  .fanika-mypage-summary { padding: 13px !important; }
  .fanika-mypage-summary__avatar { width: 54px !important; height: 54px !important; }

  .fanika-mypage-group { border-radius: 14px; }
  .fanika-mypage-group__header { padding: 13px 14px 11px !important; }
  .fanika-mypage-group__header h2 { font-size: .98rem; }
  .fanika-mypage-group__header p { display: none; }
  .fanika-mypage-group__icon { width: 29px; height: 29px; font-size: .88rem; }

  .fanika-mypage-list,
  .fanika-mypage-list--fan,
  .fanika-mypage-list--public,
  .fanika-mypage-list--roles,
  .fanika-mypage-list--account,
  .fanika-mypage-list--support { grid-template-columns: 1fr; gap: 7px; padding: 10px 12px 13px; }

  .fanika-mypage-list__link { min-height: 0; padding: 12px !important; }
  .fanika-mypage-list__description { font-size: .7rem; }
  .fanika-mypage-group__sub-action { margin: -1px 12px 12px; }
  .fanika-mypage-account-actions { margin: 0 12px 13px; gap: 12px; }
  .fanika-mypage-subscriptions { margin: -1px 12px 5px; }
}

.fanika-mypage-group__mobile-toggle {
  display: none;
  width: 34px;
  height: 34px;
  margin-left: auto;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.7);
  color: #5b6d82;
  cursor: pointer;
}
@media (max-width: 640px) {
  /* The whole accordion card is tappable; nested links retain their actions. */
  .fanika-mypage-root .fanika-mypage-group { cursor: pointer; }
  .fanika-mypage-group__header { align-items: center; }
  .fanika-mypage-group__header p { display: none; }
  .fanika-mypage-group__mobile-toggle { display: inline-grid; place-items: center; flex: 0 0 auto; }
  .fanika-mypage-group__mobile-toggle i { transition: transform .18s ease; }
  .fanika-mypage-group.is-mobile-open .fanika-mypage-group__mobile-toggle i { transform: rotate(180deg); }
  .fanika-mypage-group:not(.is-mobile-open) > .fanika-mypage-list,
  .fanika-mypage-group:not(.is-mobile-open) > .fanika-mypage-group__sub-action,
  .fanika-mypage-group:not(.is-mobile-open) > .fanika-mypage-subscriptions,
  .fanika-mypage-group:not(.is-mobile-open) > .fanika-mypage-account-actions { display: none; }
  .fanika-mypage-group--account .fanika-mypage-group__heading-link { display: none; }
}

/* Current-RC-safe mobile refinements for the restored root only. */
@media (max-width: 640px) {
  .fanika-mypage-root .fanika-mypage-summary__profile-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 40px;
    margin-top: 8px;
    padding: 8px 12px;
    border: 1px solid #f2b8d2;
    border-radius: 10px;
    background: #fff7fb;
    color: #d94f8c;
    font-weight: 800;
    text-decoration: none;
  }

  .fanika-mypage-root .fanika-mypage-account-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 8px;
    margin: 0 12px 13px;
  }

  .fanika-mypage-root .fanika-mypage-account-actions .fanika-mypage-list__link--danger,
  .fanika-mypage-root .fanika-mypage-account-actions .fanika-mypage-logout {
    display: grid;
    grid-template-columns: 1fr;
    align-content: center;
    justify-items: center;
    gap: 4px;
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 46px;
    margin: 0;
    padding: 9px 10px !important;
    box-sizing: border-box;
    border-radius: 10px;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
  }

  .fanika-mypage-root .fanika-mypage-account-actions .fanika-mypage-list__link--danger .fanika-mypage-list__icon {
    display: grid;
  }

  .fanika-mypage-root .fanika-mypage-account-actions .fanika-mypage-list__description {
    grid-column: 1;
    display: block;
    max-width: 100%;
    text-align: center;
    overflow-wrap: break-word;
    word-break: normal;
  }
}

/* Joined communities only: match the accepted My Page canvas without
   changing the root, other child screens, or public Creator surfaces. */
body:has(.fanika-mypage-destination--joined),
body:has(.fanika-mypage-destination--joined) #page,
body:has(.fanika-mypage-destination--joined) #content,
.site-content:has(.fanika-mypage-destination--joined),
.site-main:has(.fanika-mypage-destination--joined),
.entry-content:has(.fanika-mypage-destination--joined) {
  background-color: var(--fanika-ui-page-background, #edf7fe);
  background-image: none;
}

/* Consolidated, Owner-accepted private My Page child screens. The existing
   joined-communities background rule remains separate and unchanged. */
body:has(.fanika-mypage-destination--profile),
body:has(.fanika-mypage-destination--calendar),
body:has(.fanika-mypage-destination--current-segment),
body:has(.fanika-mypage-destination--creator-application),
body:has(.fanika-mypage-destination--organizer-application),
body:has(.fanika-mypage-destination--agent-application),
body:has(.fanika-mypage-destination--security),
body:has(.fanika-mypage-destination--registration),
body:has(.fanika-mypage-destination--payment-methods),
body:has(.fanika-mypage-destination--notification-settings),
body:has(.fanika-mypage-destination--profile) #page,
body:has(.fanika-mypage-destination--calendar) #page,
body:has(.fanika-mypage-destination--current-segment) #page,
body:has(.fanika-mypage-destination--creator-application) #page,
body:has(.fanika-mypage-destination--organizer-application) #page,
body:has(.fanika-mypage-destination--agent-application) #page,
body:has(.fanika-mypage-destination--security) #page,
body:has(.fanika-mypage-destination--registration) #page,
body:has(.fanika-mypage-destination--payment-methods) #page,
body:has(.fanika-mypage-destination--notification-settings) #page,
body:has(.fanika-mypage-destination--profile) #content,
body:has(.fanika-mypage-destination--calendar) #content,
body:has(.fanika-mypage-destination--current-segment) #content,
body:has(.fanika-mypage-destination--creator-application) #content,
body:has(.fanika-mypage-destination--organizer-application) #content,
body:has(.fanika-mypage-destination--agent-application) #content,
body:has(.fanika-mypage-destination--security) #content,
body:has(.fanika-mypage-destination--registration) #content,
body:has(.fanika-mypage-destination--payment-methods) #content,
body:has(.fanika-mypage-destination--notification-settings) #content {
  background-color: var(--fanika-ui-page-background, #edf7fe);
  background-image: none;
}

/* Current segment and account settings also need the inner WordPress wrappers
   cleared; profile, Calendar, and applications already have accepted rules. */
:is(.site-content, .site-main, .entry-content):has(.fanika-mypage-destination--current-segment),
:is(.site-content, .site-main, .entry-content):has(.fanika-mypage-destination--security),
:is(.site-content, .site-main, .entry-content):has(.fanika-mypage-destination--registration),
:is(.site-content, .site-main, .entry-content):has(.fanika-mypage-destination--payment-methods),
:is(.site-content, .site-main, .entry-content):has(.fanika-mypage-destination--notification-settings) {
  background-color: var(--fanika-ui-page-background, #edf7fe);
  background-image: none;
}

/* Two accepted account screens use the shared secondary Back button. */
.fanika-mypage-destination__footer-action--standard {
  display: flex;
  justify-content: center;
}
.fanika-mypage-destination__footer-action--standard .fanika-ui-button {
  min-width: 140px;
}

/* ==========================================================================
   My Page child destinations — recovered from accepted Test2 tree 212b6786.
   Extracted per class: only selectors for classes the current PHP emits and
   no current stylesheet defines (destination shell, joined communities,
   settings / registration / security / notification / payment forms,
   current segment, calendar). Root rules above are intentionally unchanged.
   Actor application form styles are not restored (route not admitted).
   ========================================================================== */
.fanika-mypage-destination {
  box-sizing: border-box;
  width: min(calc(100% - 32px), var(--fanika-ui-content-max, 1080px));
  margin: 0 auto;
  padding: 30px 0 48px;
}
.fanika-mypage-destination__heading {
  display: grid;
  gap: 7px;
  margin-bottom: 18px;
}
.fanika-mypage-destination__back {
  color: #77879b;
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none;
}
.fanika-mypage-destination__back::before { content: '‹ ';
}
.fanika-mypage-destination__heading h1 {
  margin: 0;
  color: #2d3c51;
  font-size: clamp(1.5rem, 3vw, 2rem);
}
.fanika-mypage-destination__heading p { margin: 0; color: #6d7d91;
}
.fanika-mypage-destination__content > .subsection,
.fanika-mypage-destination__content > .fanika-ui-surface-card {
  padding: 20px;
  border: 1px solid #dce8f4;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(72, 108, 142, .06);
}
.fanika-mypage-account-menu {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.fanika-mypage-account-menu__item {
  display: grid;
  gap: 4px;
  min-height: 100px;
  padding: 18px;
  border: 1px solid #e1e9f1;
  border-radius: 14px;
  background: #fff;
  color: #738195;
  font-size: .8rem;
  text-decoration: none;
}
.fanika-mypage-account-menu__title {
  color: #34435a;
  font-size: .98rem;
  font-weight: 800;
}
.fanika-mypage-account-menu__item--danger {
  border-color: #f1b9bc;
  background: #fffafa;
}
.fanika-mypage-account-menu__item--danger .fanika-mypage-account-menu__title { color: #c74d55;
}
.fanika-mypage-segment-card h2 { margin-top: 0; color: #34435a;
}
.fanika-mypage-segment-card__labels { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0;
}
.fanika-mypage-destination .subsection {
  margin: 0 0 14px;
  border: 1px solid #e1e9f1;
  border-radius: 14px;
  background: #fff;
}
.fanika-mypage-destination .subsection h4,
.fanika-mypage-destination .subsection h5 { color: #34435a;
}
@media (max-width: 640px) {
  .fanika-mypage-destination {
      width: calc(100% - 20px);
      padding: 16px 0 calc(82px + env(safe-area-inset-bottom));
  }
  .fanika-mypage-destination__heading { margin-bottom: 13px;
  }
  .fanika-mypage-destination__content > .subsection,
  .fanika-mypage-destination__content > .fanika-ui-surface-card { padding: 14px;
  }
  .fanika-mypage-account-menu { grid-template-columns: 1fr; gap: 8px;
  }
  .fanika-mypage-account-menu__item { min-height: 0; padding: 14px;
  }
}
.fanika-mypage-settings-form {
  display: grid;
  gap: 18px;
  padding: clamp(16px, 3vw, 28px);
  border: 1px solid #dce8f4;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(72, 108, 142, .06);
}
.fanika-mypage-settings-form section { display: grid; gap: 12px;
}
.fanika-mypage-settings-form h2 { margin: 0; color: #34435a; font-size: 1.06rem;
}
.fanika-mypage-settings-form p { margin: 0; color: #6d7d91; font-size: .86rem;
}
.fanika-mypage-settings-form__rows { display: grid; gap: 10px;
}
.fanika-mypage-settings-form__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr) auto;
  gap: 10px;
  align-items: end;
  margin: 0;
  padding: 14px;
  border: 1px solid #e1e9f1;
  border-radius: 12px;
}
.fanika-mypage-settings-form__row legend { padding: 0 4px; color: #64748b; font-size: .76rem; font-weight: 800;
}
.fanika-mypage-settings-form label { display: grid; gap: 5px; color: #56677d; font-size: .78rem; font-weight: 700;
}
.fanika-mypage-settings-form input[type="url"],
.fanika-mypage-settings-form input:not([type]) { width: 100%; min-width: 0; min-height: 42px; padding: 8px 10px; border: 1px solid #cfdcea; border-radius: 9px; background: #fff; box-sizing: border-box;
}
.fanika-mypage-settings-form__check { display: flex !important; align-items: center; gap: 8px; min-height: 42px;
}
.fanika-mypage-settings-form__actions { display: flex; justify-content: flex-end; align-items: center; gap: 16px;
}
.fanika-mypage-settings-form__actions a { color: #687b91; font-weight: 700; text-decoration: none;
}
.fanika-mypage-settings-form__notice { padding: 10px 12px; border-radius: 10px; background: #effbf6; color: #237b52 !important; font-weight: 700;
}
.fanika-mypage-settings-form__notice--error { background: #fff2f3; color: #ae3f4b !important;
}
.fanika-mypage-segment-card__capability { display: grid; gap: 8px; min-width: min(100%, 180px); padding: 14px; border: 1px solid #e1e9f1; border-radius: 12px; background: #fff;
}
.fanika-mypage-segment-card__capability h3,
.fanika-mypage-segment-card__capability p { margin: 0;
}
.fanika-mypage-segment-card__capability form { margin: 0;
}
@media (max-width: 640px) {
  .fanika-mypage-settings-form { gap: 14px; padding: 14px;
  }
  .fanika-mypage-settings-form__row { grid-template-columns: 1fr; align-items: stretch; padding: 12px;
  }
  .fanika-mypage-settings-form__check { min-height: 34px;
  }
  .fanika-mypage-settings-form__actions { justify-content: space-between;
  }
  .fanika-mypage-segment-card__labels { display: grid; grid-template-columns: 1fr;
  }
  .fanika-mypage-segment-card__capability { min-width: 0;
  }
}
.fanika-mypage-settings-form input[type="email"],
.fanika-mypage-settings-form input[type="password"],
.fanika-mypage-settings-form input[type="tel"],
.fanika-mypage-settings-form input[type="number"],
.fanika-mypage-settings-form select,
.fanika-mypage-settings-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid #cfdcea;
  border-radius: 9px;
  background: #fff;
  box-sizing: border-box;
  font: inherit;
}
.fanika-mypage-settings-form textarea { min-height: 92px; resize: vertical;
}
.fanika-mypage-settings-form fieldset { min-width: 0; margin: 0; border: 0; padding: 0;
}
.fanika-mypage-settings-form fieldset > legend { margin-bottom: 8px; color: #34435a; font-weight: 800;
}
.fanika-mypage-calendar-preview {
  grid-column: 1 / -1;
  border-radius: 12px;
  background: #f8fbff;
  padding: 10px 12px;
}
.fanika-mypage-calendar-preview summary {
  cursor: pointer;
  color: #504b77;
  font-weight: 700;
}
.fanika-mypage-calendar-preview iframe {
  display: block;
  width: 100%;
  min-height: 320px;
  border: 0;
  border-radius: 10px;
  margin-top: 10px;
  background: #fff;
}
@media (max-width: 640px) {
  .fanika-mypage-calendar-preview iframe { min-height: 280px;
  }
}
.fanika-mypage-payment-methods { display: grid; gap: 16px;
}
.fanika-mypage-payment-methods__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
}
.fanika-mypage-payment-methods__header h2,
.fanika-mypage-payment-methods > h2 { margin: 0 0 4px; font-size: 1.05rem; color: #263852;
}
.fanika-mypage-payment-methods__header p,
.fanika-mypage-payment-methods > p { margin: 0; color: #61718b; line-height: 1.65;
}
.fanika-mypage-payment-methods__list { display: grid; gap: 10px;
}
.fanika-mypage-payment-methods__card {
  display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 14px; align-items: center;
  padding: 16px; border: 1px solid #dbe4f0; border-radius: 13px; background: #fff;
}
.fanika-mypage-payment-methods__card-icon {
  width: 48px; height: 34px; display: grid; place-items: center; border-radius: 8px;
  color: #fff; background: linear-gradient(135deg, #a79bff, #69baff);
}
.fanika-mypage-payment-methods__card-body { display: grid; gap: 2px; color: #2c3e5b;
}
.fanika-mypage-payment-methods__card-body small { color: #71809a;
}
.fanika-mypage-payment-methods__card-actions { display: grid; justify-items: end; gap: 8px;
}
.fanika-mypage-payment-methods__card-actions a,
.fanika-mypage-destination__footer-action a {
  display: inline-flex; justify-content: center; align-items: center; min-height: 38px; padding: 6px 14px;
  border: 1px solid #dbe4f0; border-radius: 9px; background: #f7f9fd; color: #41536f; font-weight: 700;
}
.fanika-mypage-payment-methods__default {
  padding: 4px 10px; border-radius: 999px; background: #e6f9dd; color: #407342; font-size: .8rem; font-weight: 700;
}
.fanika-mypage-payment-methods__empty { padding: 14px; border-radius: 10px; background: #f7f9fd;
}
.fanika-mypage-payment-methods--notice { border-color: #f4d898; background: #fffaf0;
}
.fanika-mypage-payment-methods--notice h2 { color: #6a4d18;
}
.fanika-mypage-payment-methods--notice ul { margin: 0; padding-left: 1.25em; color: #59677d; line-height: 1.75;
}
.fanika-mypage-destination__footer-action { margin: 4px 0 0;
}
@media (max-width: 640px) {
  .fanika-mypage-payment-methods__header { align-items: stretch; flex-direction: column;
  }
  .fanika-mypage-payment-methods__header .fanika-ui-button { width: 100%;
  }
  .fanika-mypage-payment-methods__card { grid-template-columns: 42px minmax(0, 1fr); gap: 10px;
  }
  .fanika-mypage-payment-methods__card-icon { width: 42px; height: 31px;
  }
  .fanika-mypage-payment-methods__card-actions { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: stretch;
  }
  .fanika-mypage-payment-methods__card-actions a { width: 100%;
  }
}
.fanika-mypage-notification-form { display: grid; gap: 18px;
}
.fanika-mypage-notification-form__group { overflow: hidden; border: 1px solid #e4eaf4; border-radius: 15px; background: #fff;
}
.fanika-mypage-notification-form__group > header { display: flex; align-items: center; gap: 12px; padding: 18px 20px 12px;
}
.fanika-mypage-notification-form__group h2 { margin: 0 0 3px; color: #273a58; font-size: 1.08rem;
}
.fanika-mypage-notification-form__group p { margin: 0; color: #72819a; line-height: 1.55;
}
.fanika-mypage-notification-form__icon { display: grid; flex: 0 0 auto; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: #f4779a; background: #fff0f5;
}
.fanika-mypage-notification-form__rows { border-top: 1px solid #edf1f7;
}
.fanika-mypage-notification-form__row { display: flex; justify-content: space-between; gap: 16px; padding: 15px 20px; border-bottom: 1px solid #edf1f7; cursor: pointer;
}
.fanika-mypage-notification-form__row:last-child { border-bottom: 0;
}
.fanika-mypage-notification-form__row span { display: grid; gap: 3px;
}
.fanika-mypage-notification-form__row strong { color: #33435f;
}
.fanika-mypage-notification-form__row small,
.fanika-mypage-notification-form__row em { color: #74829a; font-style: normal; line-height: 1.5;
}
.fanika-mypage-notification-form__row em { font-size: .82rem;
}
.fanika-mypage-notification-form__row input { appearance: none; flex: 0 0 auto; width: 42px; height: 24px; margin: 6px 0 0; border-radius: 99px; background: #cbd4e2; cursor: pointer; position: relative; transition: background .2s;
}
.fanika-mypage-notification-form__row input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .2s; box-shadow: 0 1px 3px rgba(27, 46, 76, .22);
}
.fanika-mypage-notification-form__row input:checked { background: #f4779a;
}
.fanika-mypage-notification-form__row input:checked::after { transform: translateX(18px);
}
@media (max-width: 640px) {
  .fanika-mypage-notification-form__group > header { padding: 15px 14px 10px;
  }
  .fanika-mypage-notification-form__row { padding: 13px 14px;
  }
  .fanika-mypage-notification-form__row input { width: 39px;
  }
  .fanika-mypage-notification-form__row input:checked::after { transform: translateX(15px);
  }
}
.fanika-mypage-security-form { display: grid; gap: 14px;
}
.fanika-mypage-security-form__card { display: grid; gap: 14px; padding: 22px; border: 1px solid #e3eaf5; border-radius: 15px; background: #fff;
}
.fanika-mypage-security-form__card > header { display: flex; align-items: center; gap: 13px;
}
.fanika-mypage-security-form__card h2 { margin: 0 0 4px; color: #263852; font-size: 1.08rem;
}
.fanika-mypage-security-form__card header p { margin: 0; color: #708098; line-height: 1.55;
}
.fanika-mypage-security-form__icon { display: grid; flex: 0 0 auto; width: 48px; height: 48px; place-items: center; border-radius: 50%; color: #f4779a; background: #fff0f5; font-size: 1.2rem;
}
.fanika-mypage-security-form__icon--lock { color: #2479e8; background: #edf6ff;
}
.fanika-mypage-security-form__icon--shield { color: #eea31c; background: #fff8df;
}
.fanika-mypage-security-form__card label { display: grid; grid-template-columns: 180px minmax(0, 1fr); align-items: center; gap: 12px; color: #354661; font-weight: 700;
}
.fanika-mypage-security-form__card label small { grid-column: 2; color: #72819a; font-size: .84rem; font-weight: 400;
}
.fanika-mypage-security-form__card .fanika-ui-button { justify-self: end; min-width: 146px;
}
.fanika-mypage-security-form__card--guidance { background: #fffdf6; border-color: #f2dfaf;
}
.fanika-mypage-security-form__card--guidance ul { margin: 0; padding: 12px 16px 12px 32px; border-radius: 10px; background: #fff8dc; color: #59677e; line-height: 1.75;
}
.fanika-mypage-security-form__card--guidance li::marker { color: #eea31c;
}
@media (max-width: 640px) {
  .fanika-mypage-security-form__card { padding: 16px;
  }
  .fanika-mypage-security-form__card label { grid-template-columns: 1fr; gap: 7px;
  }
  .fanika-mypage-security-form__card label small { grid-column: auto;
  }
  .fanika-mypage-security-form__card .fanika-ui-button { justify-self: stretch; width: 100%;
  }
}
.fanika-mypage-segment-hero { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(260px, .9fr); gap: 22px; align-items: center; padding: 22px; background: linear-gradient(110deg, #fff5f7, #fffdfc);
}
.fanika-mypage-segment-hero__avatar img { display: block; width: 88px; height: 88px; border-radius: 50%; object-fit: cover;
}
.fanika-mypage-segment-hero h2 { margin: 0 0 6px; color: #263852; font-size: 1.35rem;
}
.fanika-mypage-segment-hero p { margin: 0; color: #687995; line-height: 1.65;
}
.fanika-mypage-segment-hero__active { padding-left: 22px; border-left: 1px solid #ecdde2; color: #34445e;
}
.fanika-mypage-segment-hero__active > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px;
}
.fanika-mypage-segment-pill { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 10px; border-radius: 999px; font-weight: 700; font-size: .86rem;
}
.fanika-mypage-segment-section { margin-top: 26px;
}
.fanika-mypage-segment-section > h2 { margin: 0 0 13px; padding-left: 11px; border-left: 4px solid #f5769b; color: #263852; font-size: 1.12rem;
}
.fanika-mypage-segment-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px;
}
.fanika-mypage-segment-role { display: grid; align-content: start; gap: 12px; min-width: 0; padding: 17px; border: 1px solid #e6ebf3; border-radius: 14px; background: #fff;
}
.fanika-mypage-segment-role > header { display: flex; align-items: center; justify-content: space-between; gap: 8px;
}
.fanika-mypage-segment-role h3 { margin: 0; color: #2c3b57; font-size: 1rem;
}
.fanika-mypage-segment-role p { margin: 0; color: #657691; line-height: 1.6;
}
.fanika-mypage-segment-role dl { display: grid; gap: 5px; margin: 0; padding: 10px; border-radius: 9px; background: rgba(255,255,255,.72);
}
.fanika-mypage-segment-role dl div { display: flex; justify-content: space-between; gap: 8px; font-size: .86rem;
}
.fanika-mypage-segment-role dt { color: #6f7e96;
}
.fanika-mypage-segment-role dd { margin: 0; color: #297f75; font-weight: 700; text-align: right;
}
.fanika-mypage-segment-role ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; color: #53647d; line-height: 1.45;
}
.fanika-mypage-segment-role li::before { content: "✓"; margin-right: 7px; font-weight: 800; color: currentColor;
}
@media (max-width: 900px) {
  .fanika-mypage-segment-grid { grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fanika-mypage-segment-hero { grid-template-columns: auto minmax(0,1fr);
  }
  .fanika-mypage-segment-hero__active { grid-column: 1 / -1; padding: 14px 0 0; border-left: 0; border-top: 1px solid #ecdde2;
  }
}
@media (max-width: 640px) {
  .fanika-mypage-segment-hero { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; padding: 16px;
  }
  .fanika-mypage-segment-hero__avatar img { width: 58px; height: 58px;
  }
  .fanika-mypage-segment-hero h2 { font-size: 1.08rem;
  }
  .fanika-mypage-segment-hero p { font-size: .9rem;
  }
  .fanika-mypage-segment-grid { grid-template-columns: 1fr; gap: 11px;
  }
  .fanika-mypage-segment-role { padding: 14px;
  }
}
.fanika-mypage-registration-form {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.fanika-mypage-registration-form > section {
  gap: 14px;
  padding: clamp(16px, 2.5vw, 24px);
  border: 1px solid #e0e8f2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(72, 108, 142, .05);
}
.fanika-mypage-registration-form > section > h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c3e5b;
}
.fanika-mypage-registration-form > section > h2::before {
  width: 4px;
  height: 1.15em;
  border-radius: 999px;
  background: #f3789a;
  content: "";
}
.fanika-mypage-registration-form .fanika-mypage-settings-form__rows {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.fanika-mypage-registration-form label {
  min-height: 88px;
  align-content: start;
  padding: 12px;
  border: 1px solid #e3eaf3;
  border-radius: 12px;
  background: #fbfdff;
  color: #3e526e;
}
.fanika-mypage-registration-form input,
.fanika-mypage-registration-form select {
  background: #fff;
}
.fanika-mypage-registration-form > section:first-of-type > label {
  max-width: 440px;
}
.fanika-mypage-registration-form > section:nth-of-type(4) {
  border-color: #f4d7df;
  background: #fff9fb;
}
.fanika-mypage-registration-form > section:nth-of-type(4) > p {
  color: #9b6171;
}
@media (max-width: 640px) {
  .fanika-mypage-registration-form > section { padding: 15px;
  }
  .fanika-mypage-registration-form .fanika-mypage-settings-form__rows { grid-template-columns: 1fr;
  }
  .fanika-mypage-registration-form label { min-height: 0;
  }
  .fanika-mypage-registration-form > section:first-of-type > label { max-width: none;
  }
}
.fanika-mypage-destination__content .subsection {
  display: grid;
  gap: 16px;
  margin: 0 0 18px;
  padding: clamp(16px, 2.5vw, 24px);
  border: 1px solid #e0e8f2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(72, 108, 142, .05);
}
.fanika-mypage-destination__content .subsection h4,
.fanika-mypage-destination__content .subsection h5 { margin: 0; color: #2c3e5b;
}
.fanika-mypage-destination__content .profile-section-avatar-container {
  display: flex; align-items: center; flex-wrap: wrap; gap: 18px;
  padding: 14px; border: 1px solid #e6edf5; border-radius: 14px; background: #fbfdff;
}
.fanika-mypage-destination__content .profile-section-avatar-image,
.fanika-mypage-destination__content .profile-section-avatar-container .avatar {
  width: 88px; height: 88px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; box-shadow: 0 4px 14px rgba(66, 95, 130, .16);
}
.fanika-mypage-destination__content .profile-section-avatar-form { display: grid; gap: 8px; min-width: min(100%, 260px);
}
.fanika-mypage-destination__content .profile-section-avatar-hint { margin: 0; color: #71809a; font-size: .82rem;
}
.fanika-mypage-destination__content .profile-section-basic-info,
.fanika-mypage-destination__content .profile-section-creator-info,
.fanika-mypage-destination__content .profile-section-billing-address,
.fanika-mypage-destination__content .profile-section-link-container,
.fanika-mypage-destination__content .profile-section-bg-image-container {
  padding: 15px; border: 1px solid #e5ebf3; border-radius: 12px; background: #fff; color: #52647e; line-height: 1.8;
}
.fanika-mypage-destination__content .profile-section-edit-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
}
.fanika-mypage-destination__content .profile-section-edit-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px;
  padding: 9px 14px; border-radius: 10px; background: #f7f9fd; color: #3e526e; font-weight: 700; text-decoration: none;
  border: 1px solid #dbe4f0;
}
.fanika-mypage-destination__content .profile-section-edit-btn:hover { background: #fff0f5; border-color: #f3bfd0; color: #d9567d;
}
@media (max-width: 640px) {
  .fanika-mypage-destination__content .subsection { padding: 15px;
  }
  .fanika-mypage-destination__content .profile-section-avatar-container { align-items: flex-start;
  }
  .fanika-mypage-destination__content .profile-section-avatar-form { width: 100%;
  }
  .fanika-mypage-destination__content .profile-section-edit-buttons { grid-template-columns: 1fr;
  }
}
.fanika-mypage-joined-communities .user-top-fc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin: 0;
}
.fanika-mypage-joined-communities .user-top-fc-item {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e0e8f2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(72, 108, 142, .06);
}
.fanika-mypage-joined-communities .user-top-fc-link {
  display: grid;
  gap: 9px;
  min-height: 100%;
  padding: 12px;
  color: #2c3e5b;
  text-decoration: none;
}
.fanika-mypage-joined-communities .user-top-fc-thumbnail {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 11px;
  background: #edf5fc;
}
.fanika-mypage-joined-communities .user-top-fc-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fanika-mypage-joined-communities .user-top-fc-no-image {
  display: grid;
  height: 100%;
  place-items: center;
  color: #b5c4d5;
  font-size: 1.6rem;
}
.fanika-mypage-joined-communities .user-top-fc-creator-name {
  overflow: hidden;
  color: #70809a;
  font-size: .82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fanika-mypage-joined-communities .user-top-fc-name {
  overflow: hidden;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fanika-mypage-joined-communities .user-top-fc-status {
  width: fit-content;
  padding: 4px 9px;
  border-radius: 999px;
  background: #e9f7f0;
  color: #287b57;
  font-size: .78rem;
  font-weight: 700;
}
.fanika-mypage-joined-communities .is-payment-pending .user-top-fc-status {
  background: #fff3da;
  color: #9d6112;
}
.fanika-mypage-joined-communities .is-pending-cancel .user-top-fc-status {
  background: #f2f4f8;
  color: #607089;
}
.fanika-mypage-joined-communities .user-top-fc-payment-action {
  padding: 0 12px 13px;
}
.fanika-mypage-joined-communities .user-top-fc-pay-link {
  width: 100%;
  min-height: 42px;
  border-radius: 10px;
  background: #e9648b;
  color: #fff;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 640px) {
  .fanika-mypage-joined-communities .user-top-fc-grid { grid-template-columns: 1fr;
  }
  .fanika-mypage-joined-communities .user-top-fc-link { min-height: 0;
  }
}
.fanika-mypage-destination__content .account-withdrawal-container {
  max-width: 720px;
  margin: 0 auto;
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid #f1d8df;
  border-radius: 16px;
  background: #fff;
}
.fanika-mypage-destination__content .withdrawal-title { margin: 0 0 16px; color: #9a304e; font-size: 1.35rem;
}
.fanika-mypage-destination__content .withdrawal-warning-box {
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid #f0c8d1;
  border-radius: 12px;
  background: #fff7f8;
  color: #5b3340;
}
.fanika-mypage-destination__content .warning-title { margin: 0 0 9px; font-size: 1rem;
}
.fanika-mypage-destination__content .warning-list { margin: 0; padding-left: 1.25rem; line-height: 1.7;
}
.fanika-mypage-destination__content .withdrawal-form { display: grid; gap: 15px;
}
.fanika-mypage-destination__content .withdrawal-form .form-group { display: grid; gap: 7px;
}
.fanika-mypage-destination__content .withdrawal-form .form-label { color: #3a4e6b; font-weight: 700;
}
.fanika-mypage-destination__content .withdrawal-form .form-input {
  width: 100%; min-height: 44px; box-sizing: border-box; padding: 10px 12px;
  border: 1px solid #ccd8e7; border-radius: 9px; background: #fff;
}
.fanika-mypage-destination__content .withdrawal-submit-button {
  min-height: 44px; padding: 10px 16px; border: 0; border-radius: 10px;
  background: #b84562; color: #fff; font-weight: 800; cursor: pointer;
}
.fanika-mypage-destination__content .back-link-wrapper { margin-top: 16px;
}
.fanika-mypage-destination__content .back-link { color: #536b8d; font-weight: 700;
}
.fanika-mypage-destination__content .profile-section-basic-form {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 15px;
  border: 1px solid #e5ebf3;
  border-radius: 12px;
  background: #fbfdff;
}
.fanika-mypage-destination__content .profile-section-basic-form label {
  display: grid;
  gap: 6px;
  color: #3d506c;
  font-weight: 700;
}
.fanika-mypage-destination__content .profile-section-basic-form input,
.fanika-mypage-destination__content .profile-section-basic-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid #cad8e8;
  border-radius: 9px;
  background: #fff;
  color: #263950;
  font: inherit;
}
.fanika-mypage-destination__content .profile-section-basic-form textarea { resize: vertical;
}
.fanika-mypage-destination__content .profile-section-basic-form .fanika-ui-button { justify-self: start; min-height: 44px;
}
@media (max-width: 640px) {
  .fanika-mypage-destination__content .profile-section-basic-form .fanika-ui-button { width: 100%; justify-self: stretch;
  }
}
.fanika-mypage-joined-communities {
  max-width: var(--fanika-ui-content-max, 1080px);
  margin: 0 auto;
}
.fanika-joined-community-list {
  display: grid;
  gap: 14px;
}
.fanika-joined-community-card {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e3ebf4;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(72, 108, 142, .05);
}
.fanika-joined-community-card__media {
  display: block;
  min-height: 128px;
  background: #edf5fb;
}
.fanika-joined-community-card__media img,
.fanika-joined-community-card__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}
.fanika-joined-community-card__media img {
  object-fit: cover;
}
.fanika-joined-community-card__placeholder {
  display: grid;
  place-items: center;
  color: #b8c8d8;
  font-size: 2rem;
}
.fanika-joined-community-card__creator {
  display: block;
  margin-bottom: 5px;
  overflow: hidden;
  color: #74839a;
  font-size: .8rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fanika-joined-community-card__status {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eaf8f1;
  color: #287957;
  font-size: .74rem;
  font-weight: 800;
}
.fanika-joined-community-card.is-payment-pending .fanika-joined-community-card__status {
  background: #fff3dc;
  color: #9a651e;
}
.fanika-joined-community-card.is-pending-cancel .fanika-joined-community-card__status {
  background: #f1f3f7;
  color: #66758a;
}
.fanika-joined-community-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.fanika-joined-community-card__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 9px;
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
}
.fanika-joined-community-empty {
  display: grid;
  gap: 14px;
  justify-items: center;
  padding: 34px 20px;
  border: 1px solid #e5edf5;
  border-radius: 16px;
  background: #fff;
  text-align: center;
}
.fanika-joined-community-empty p {
  margin: 0;
  color: #738198;
}
.fanika-joined-community-empty a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 1px solid #efb6ca;
  border-radius: 9px;
  color: #d94e82;
  font-weight: 800;
  text-decoration: none;
}
@media (max-width: 640px) {
  .fanika-joined-community-card {
      grid-template-columns: 112px minmax(0, 1fr);
  }
  .fanika-joined-community-card__media {
      min-height: 112px;
  }
  .fanika-joined-community-card__status {
      justify-self: start;
  }
  .fanika-joined-community-card__actions {
      display: grid;
      grid-template-columns: 1fr;
  }
  .fanika-joined-community-card__actions a {
      width: 100%;
      box-sizing: border-box;
  }
}
.fanika-mypage-joined-communities {max-width:var(--fanika-ui-content-max,1080px);margin:0 auto
}
.fanika-joined-community-screen {display:grid;gap:16px
}
.fanika-joined-community-screen__guide {margin:0;color:#70809a;font-size:.82rem
}
.fanika-joined-community-filters {display:flex;flex-wrap:wrap;gap:10px
}
.fanika-joined-community-filters button {min-width:118px;min-height:38px;padding:0 16px;border:1px solid #d8e2ee;border-radius:9px;background:#fff;color:#324661;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer
}
.fanika-joined-community-filters button.is-active {border-color:#ee3d91;background:#ee3d91;color:#fff
}
.fanika-joined-community-list {display:grid;gap:14px
}
.fanika-joined-community-card {display:grid;gap:0;overflow:hidden;border:1px solid #dfe8f2;border-radius:14px;background:#fff;box-shadow:none
}
.fanika-joined-community-card.is-payment-pending {border-color:#f1c7d7;background:#fff7fa
}
.fanika-joined-community-card__main {display:grid;grid-template-columns:108px minmax(0,1.45fr) minmax(150px,.85fr) minmax(220px,.95fr);gap:16px;align-items:center;padding:14px
}
.fanika-joined-community-card__media {display:block;width:108px;height:108px;overflow:hidden;border-radius:10px;background:#eef4f8
}
.fanika-joined-community-card__media img {width:100%;height:100%;object-fit:cover
}
.fanika-joined-community-card__placeholder {display:grid;width:100%;height:100%;place-items:center;color:#b5c5d5;font-size:1.7rem
}
.fanika-joined-community-card__identity {min-width:0
}
.fanika-joined-community-card__creator {display:inline-block;margin-bottom:4px;color:#1d3552;font-size:.9rem;font-weight:800;text-decoration:none
}
.fanika-joined-community-card__community {display:block;margin-bottom:5px;color:#70809a;font-size:.77rem
}
.fanika-joined-community-card__identity h2 {margin:0 0 4px;color:#243956;font-size:.94rem;line-height:1.4
}
.fanika-joined-community-card__price {color:#f13a86;font-size:1.12rem;font-weight:800
}
.fanika-joined-community-card__price small {margin-left:2px;font-size:.68rem;font-weight:600
}
.fanika-joined-community-card__state {display:grid;gap:8px;align-self:center
}
.fanika-joined-community-card__status {justify-self:start;padding:5px 10px;border-radius:999px;background:#e9f8f0;color:#2f7c5a;font-size:.72rem;font-weight:800
}
.fanika-joined-community-card.is-payment-pending .fanika-joined-community-card__status {background:#ffe9f1;color:#c5376e
}
.fanika-joined-community-card.is-pending-cancel .fanika-joined-community-card__status {background:#fff0d7;color:#9b641f
}
.fanika-joined-community-card.is-ended .fanika-joined-community-card__status {background:#eef1f5;color:#68788e
}
.fanika-joined-community-card__state dl {margin:0
}
.fanika-joined-community-card__state dt {color:#6e7d91;font-size:.69rem
}
.fanika-joined-community-card__state dd {margin:2px 0 0;color:#4d5d73;font-size:.76rem
}
.fanika-joined-community-card__state p {margin:0;color:#6f7c8d;font-size:.72rem;line-height:1.55
}
.fanika-joined-community-card__actions {display:grid;gap:8px
}
.fanika-joined-community-card__actions a {display:flex;min-height:38px;align-items:center;justify-content:center;padding:0 12px;border:1px solid #f0a7c2;border-radius:8px;background:#fff;color:#e03c7d;font-size:.78rem;font-weight:800;text-align:center;text-decoration:none
}
.fanika-joined-community-card__actions a.is-primary {border-color:#ef3f8c;background:#ef3f8c;color:#fff
}
.fanika-joined-community-card__notice {margin:0 14px 14px;padding:11px 14px;border:1px solid #f2bfd2;border-radius:9px;background:#fff7fa;color:#b94f73;font-size:.74rem;line-height:1.55
}
.fanika-joined-community-screen__renewal-note {width:max-content;max-width:100%;margin:0;padding:12px 16px;border:1px solid #d8e7f3;border-radius:9px;background:#f7fbff;color:#61738a;font-size:.76rem
}
.fanika-joined-community-screen__back {margin:0;text-align:center
}
.fanika-joined-community-screen__back a {display:inline-flex;min-width:170px;min-height:38px;align-items:center;justify-content:center;border:1px solid #efa6c2;border-radius:8px;background:#fff;color:#dd3d7d;font-size:.8rem;font-weight:800;text-decoration:none
}
@media(max-width:767px) {
  .fanika-joined-community-screen {gap:13px
  }
  .fanika-joined-community-filters {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px
  }
  .fanika-joined-community-filters button {min-width:0;width:100%;padding:0 8px;font-size:.74rem
  }
  .fanika-joined-community-card__main {grid-template-columns:88px minmax(0,1fr);gap:10px;padding:11px
  }
  .fanika-joined-community-card__media {width:88px;height:88px;align-self:start
  }
  .fanika-joined-community-card__identity h2 {font-size:.86rem
  }
  .fanika-joined-community-card__price {font-size:1rem
  }
  .fanika-joined-community-card__state,
  .fanika-joined-community-card__actions {grid-column:1/-1
  }
  .fanika-joined-community-card__state {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-top:2px
  }
  .fanika-joined-community-card__state p {width:100%
  }
  .fanika-joined-community-card__actions {grid-template-columns:1fr 1fr
  }
  .fanika-joined-community-card__actions a {min-height:40px;padding:0 8px;font-size:.72rem
  }
  .fanika-joined-community-card__notice {margin:0 11px 11px
  }
  .fanika-joined-community-screen__renewal-note {width:auto
  }
}
.fanika-mypage-joined-communities .fanika-joined-community-card {
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100%;
}
.fanika-mypage-joined-communities .fanika-joined-community-card__main {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  grid-template-columns: 108px minmax(220px, 1.45fr) minmax(150px, .85fr) minmax(220px, .95fr) !important;
}
.fanika-mypage-joined-communities .fanika-joined-community-card__identity,
.fanika-mypage-joined-communities .fanika-joined-community-card__state,
.fanika-mypage-joined-communities .fanika-joined-community-card__actions {
  min-width: 0;
}
.fanika-mypage-joined-communities .fanika-joined-community-card__notice {
  grid-column: 1 / -1;
  width: auto;
}
@media (max-width: 767px) {
  .fanika-mypage-joined-communities .fanika-joined-community-card__main {
      grid-template-columns: 88px minmax(0, 1fr) !important;
  }
  .fanika-mypage-joined-communities .fanika-joined-community-card__state,
  .fanika-mypage-joined-communities .fanika-joined-community-card__actions {
      grid-column: 1 / -1;
  }
}
.fanika-joined-community-card__coupon {
  display:grid;
  gap:2px;
  width:max-content;
  max-width:100%;
  padding:6px 9px;
  border:1px solid #e7d7fb;
  border-radius:9px;
  background:#faf6ff;
  color:#7658a5;
  font-size:.72rem;
  line-height:1.35;
}
.fanika-joined-community-card__coupon strong {font-size:.72rem
}
.fanika-joined-community-card__coupon span {font-size:.69rem
}
.fanika-mypage-calendar-single {
  display: grid;
  gap: 14px;
}
.fanika-mypage-calendar-single__heading {
  display: flex;
  align-items: center;
  gap: 11px;
}
.fanika-mypage-calendar-single__icon {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  background: #f0f9fc;
  color: #55a9c3;
  font-size: .95rem;
}
.fanika-mypage-calendar-single__heading h2 {
  margin: 0;
}
.fanika-mypage-calendar-single__heading p {
  margin-top: 2px;
}
.fanika-mypage-calendar-single__card {
  display: grid;
  grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr);
  gap: 12px;
  padding: 16px;
  border: 1px solid #e1e9f1;
  border-radius: 13px;
  background: #fff;
}
.fanika-mypage-calendar-single__hint {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f7fbfe;
  color: #64778e !important;
  font-size: .77rem !important;
  line-height: 1.55;
}
.fanika-mypage-calendar-single__hint i {
  margin-top: .18em;
  color: #62abc2;
}
.fanika-mypage-calendar-single + .fanika-mypage-settings-form__actions {
  padding-top: 2px;
}
@media (max-width: 640px) {
  .fanika-mypage-calendar-single {
      gap: 12px;
  }
  .fanika-mypage-calendar-single__card {
      grid-template-columns: 1fr;
      gap: 10px;
      padding: 13px;
  }
  .fanika-mypage-calendar-single__hint {
      padding: 9px 10px;
  }
}
.fanika-mypage-segment-pill {
  gap: 6px;
}
.fanika-mypage-segment-role__header {
  align-items: flex-start !important;
}
.fanika-mypage-segment-role__title {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.fanika-mypage-segment-role__icon {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  background: rgba(255,255,255,.8);
  font-size: .9rem;
}
.fanika-mypage-segment-role__title h3 {
  min-width: 0;
}
.fanika-mypage-segment-fees {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 10px;
  background: #fff6fa;
  color: #465770;
}
.fanika-mypage-segment-fees > strong {
  font-size: .78rem;
  color: #4a5870;
}
.fanika-mypage-segment-fees > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.fanika-mypage-segment-fees span {
  font-size: .82rem;
}
.fanika-mypage-segment-fees b {
  color: #ec4899;
  font-size: 1.15rem;
}
.fanika-mypage-segment-role dl code {
  padding: 2px 6px;
  border-radius: 6px;
  background: rgba(255,255,255,.85);
  color: inherit;
  font: inherit;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.fanika-mypage-segment-role__apply {
  justify-self: start;
  margin-top: 2px;
}
.fanika-mypage-segment-note {
  margin: 16px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
  background: #f7f9fc;
  color: #697a91;
  font-size: .8rem;
  line-height: 1.6;
}
@media (max-width: 640px) {
  .fanika-mypage-segment-role__header {
      gap: 10px;
  }
  .fanika-mypage-segment-role__icon {
      width: 32px;
      height: 32px;
      flex-basis: 32px;
  }
  .fanika-mypage-segment-fees {
      padding: 10px;
  }
  .fanika-mypage-segment-note {
      margin-top: 12px;
  }
}
.fanika-mypage-segment-code-pending {
  color: #8a97a8;
  font-size: .8rem;
  font-weight: 700;
}
.fanika-mypage-registration-form {
  display: grid;
  gap: 14px;
}
.fanika-mypage-registration-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
  padding: 18px 20px;
  border: 1px solid #e2e9f2;
  border-radius: 14px;
  background: #fff;
}
.fanika-mypage-registration-section__body {
  min-width: 0;
}
.fanika-mypage-registration-section label {
  display: grid;
  gap: 7px;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #34465f;
  font-weight: 700;
}
.fanika-mypage-registration-section label em {
  margin-left: 5px;
  color: #ec4899;
  font-size: .75rem;
  font-style: normal;
}
.fanika-mypage-registration-section label small {
  color: #718198;
  font-size: .78rem;
  font-weight: 400;
}
.fanika-mypage-registration-section input,
.fanika-mypage-registration-section select {
  width: 100%;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #fbfdff;
  box-sizing: border-box;
  font: inherit;
}
.fanika-mypage-registration-section > .fanika-ui-button {
  min-width: 112px;
  align-self: center;
}
.fanika-mypage-registration-inline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.fanika-mypage-registration-section--address,
.fanika-mypage-registration-section--shipping,
.fanika-mypage-registration-section--withdrawal {
  align-items: start;
}
/* Office registration survey stays full-width; it must not inherit the action-button column. */
.fanika-mypage-registration-section--survey {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}
.fanika-mypage-registration-section--survey > * {
  min-width: 0;
}
.fanika-mypage-registration-section--survey fieldset {
  display: grid;
  gap: 14px;
  min-width: 0;
}
.fanika-mypage-registration-survey__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
}
.fanika-mypage-registration-survey__grid > label {
  min-width: 0;
}
.fanika-mypage-registration-survey__content {
  display: grid;
  gap: 8px;
}
.fanika-mypage-registration-survey__choices {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.fanika-mypage-registration-section .fanika-mypage-registration-survey__checkbox {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid #dbe4ee;
  border-radius: 9px;
  background: #fbfdff;
}
.fanika-mypage-registration-section .fanika-mypage-registration-survey__checkbox input[type="checkbox"] {
  width: 18px;
  min-height: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  flex: 0 0 18px;
}
.fanika-mypage-registration-survey__notice {
  max-width: 100%;
}
@media (max-width: 640px) {
  .fanika-mypage-registration-survey__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.fanika-mypage-registration-section--address .fanika-ui-button,
.fanika-mypage-registration-section--shipping .fanika-ui-button {
  align-self: end;
}
.fanika-mypage-registration-section__heading {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 10px;
}
.fanika-mypage-registration-section__heading h2 {
  margin: 0;
  color: #2e405a;
  font-size: 1.05rem;
}
.fanika-mypage-registration-section__heading p {
  margin: 3px 0 0;
  color: #708198;
  font-size: .8rem;
}
.fanika-mypage-registration-section__icon {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  background: #fff0f7;
  color: #ec4899;
}
.fanika-mypage-registration-address-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
}
.fanika-mypage-registration-section--address .fanika-mypage-registration-address-grid,
.fanika-mypage-registration-section--shipping .fanika-mypage-registration-shipping-choice,
.fanika-mypage-registration-section--shipping .fanika-mypage-registration-shipping-fields {
  grid-column: 1;
}
.fanika-mypage-registration-shipping-choice {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.fanika-mypage-registration-shipping-choice label {
  display: inline-flex;
  grid-template-columns: none;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 8px 11px;
  border: 1px solid #e2e8f1;
  border-radius: 9px;
  background: #fbfdff;
  cursor: pointer;
}
.fanika-mypage-registration-shipping-choice input[type="radio"] {
  width: 16px;
  min-height: 16px;
  margin: 0;
}
.fanika-mypage-registration-shipping-fields {
  display: grid;
  gap: 12px;
  margin-top: 2px;
}
.fanika-mypage-registration-shipping-fields[hidden] {
  display: none !important;
}
.fanika-mypage-registration-section--furigana.is-overseas {
  opacity: .82;
}
.fanika-mypage-registration-section--withdrawal {
  grid-template-columns: minmax(0, 1fr) auto;
  border-color: #f2d8e1;
  background: #fffafb;
}
.fanika-mypage-registration-form__footer {
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 8px;
}
.fanika-mypage-registration-form__footer .fanika-ui-button {
  min-width: 148px;
  text-align: center;
}
@media (max-width: 640px) {
  .fanika-mypage-registration-form__footer .fanika-ui-button {
    flex: 1 1 140px;
  }
}
@media (max-width: 640px) {
  .fanika-mypage-registration-section {
      grid-template-columns: 1fr;
      gap: 12px;
      padding: 14px;
  }
  .fanika-mypage-registration-section > .fanika-ui-button {
      width: 100%;
      min-width: 0;
  }
  .fanika-mypage-registration-inline,
  .fanika-mypage-registration-address-grid {
      grid-template-columns: 1fr;
  }
  .fanika-mypage-registration-section__heading {
      grid-column: 1;
  }
  .fanika-mypage-registration-section--withdrawal {
      grid-template-columns: 1fr;
  }
}
.fanika-mypage-payment-methods {
  display: grid;
  gap: 14px;
  padding: 18px;
}
.fanika-mypage-payment-methods__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.fanika-mypage-payment-methods__header h2 {
  margin: 0;
  color: #2d3f5a;
  font-size: 1.05rem;
}
.fanika-mypage-payment-methods__header p {
  margin: 4px 0 0;
  color: #708098;
  line-height: 1.6;
}
.fanika-mypage-payment-methods__list {
  display: grid;
  gap: 10px;
}
.fanika-mypage-payment-methods__card {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid #e2e9f2;
  border-radius: 11px;
  background: #fff;
}
.fanika-mypage-payment-methods__card-icon,
.fanika-mypage-payment-methods__subscription-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  background: #fff0f7;
  color: #ec4899;
}
.fanika-mypage-payment-methods__card-body {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.fanika-mypage-payment-methods__card-body strong {
  color: #31425d;
}
.fanika-mypage-payment-methods__card-body span,
.fanika-mypage-payment-methods__card-body small {
  color: #718097;
}
.fanika-mypage-payment-methods__card-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.fanika-mypage-payment-methods__default {
  padding: 4px 8px;
  border-radius: 999px;
  background: #edf9f4;
  color: #2f8a68;
  font-size: .72rem;
  font-weight: 800;
}
.fanika-mypage-payment-methods__subscriptions {
  display: grid;
  gap: 9px;
}
.fanika-mypage-payment-methods__subscription-action {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 11px;
  align-items: center;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #e2e9f2;
  border-radius: 10px;
  background: #fbfdff;
  color: #3a4b66;
  font-weight: 700;
  text-decoration: none;
}
.fanika-mypage-payment-methods__other-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}
.fanika-mypage-payment-methods__other-grid > div {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 2px 9px;
  align-items: center;
  padding: 12px;
  border: 1px solid #e4eaf2;
  border-radius: 10px;
  background: #fbfdff;
}
.fanika-mypage-payment-methods__other-grid i {
  grid-row: 1 / 3;
  color: #ec4899;
}
.fanika-mypage-payment-methods__other-grid strong {
  color: #33445f;
}
.fanika-mypage-payment-methods__other-grid span,
.fanika-mypage-payment-methods__help,
.fanika-mypage-payment-methods__empty {
  color: #718198;
  font-size: .79rem;
  line-height: 1.55;
}
.fanika-mypage-payment-methods__help,
.fanika-mypage-payment-methods__empty {
  margin: 0;
}
.fanika-mypage-payment-methods--notice {
  background: #fffaf2;
  border-color: #f0dfba;
}
.fanika-mypage-payment-methods--notice h2 {
  margin: 0;
  color: #8f641d;
  font-size: 1rem;
}
.fanika-mypage-payment-methods--notice ul {
  margin: 0;
  padding-left: 1.3em;
  color: #68778d;
  line-height: 1.7;
}
@media (max-width: 640px) {
  .fanika-mypage-payment-methods {
      padding: 14px;
  }
  .fanika-mypage-payment-methods__header {
      align-items: stretch;
      flex-direction: column;
  }
  .fanika-mypage-payment-methods__header .fanika-ui-button {
      width: 100%;
  }
  .fanika-mypage-payment-methods__card {
      grid-template-columns: auto minmax(0,1fr);
  }
  .fanika-mypage-payment-methods__card-actions {
      grid-column: 1 / -1;
      justify-content: space-between;
  }
  .fanika-mypage-payment-methods__other-grid {
      grid-template-columns: 1fr;
  }
}
.fanika-mypage-payment-methods__delete {
  color: #b75b6b;
  font-size: .76rem;
  font-weight: 700;
  text-decoration: none;
}
.fanika-mypage-payment-methods__delete:hover,
.fanika-mypage-payment-methods__delete:focus-visible {
  text-decoration: underline;
}
.fanika-mypage-notification-form__mandatory {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 15px 17px;
  border: 1px solid #f2dfaf;
  border-radius: 13px;
  background: #fffaf0;
}
.fanika-mypage-notification-form__mandatory-icon {
  display: grid;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: #fff1c7;
  color: #b97816;
}
.fanika-mypage-notification-form__mandatory h2 {
  margin: 0 0 4px;
  color: #6b4f20;
  font-size: .98rem;
}
.fanika-mypage-notification-form__mandatory p {
  margin: 0;
  color: #6f644f;
  font-size: .84rem;
  line-height: 1.65;
}
.fanika-mypage-notification-form__row input:focus-visible {
  outline: 3px solid rgba(244, 119, 154, .22);
  outline-offset: 2px;
}
@media (max-width: 640px) {
  .fanika-mypage-notification-form__mandatory {
      padding: 13px 14px;
  }
}

/* QA 2026-10-10: keep the My Page grid out of legacy narrow page wrappers.
   Restrict this correction to ancestors of the actual My Page root. */
body:has(.fanika-mypage-root) .site-content,
body:has(.fanika-mypage-root) .content-area,
body:has(.fanika-mypage-root) .site-main,
body:has(.fanika-mypage-root) .entry-content {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  box-sizing: border-box;
}
body:has(.fanika-mypage-root) .entry-content {
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
body:has(.fanika-mypage-root) .fanika-mypage-root .fanika-mypage-list__link {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Creator application composition: Owner reference 2026-10-10.
   All selectors are restricted to the creator form. */
.fanika-creator-application-layout {
  display: grid;
  gap: 16px;
  width: 100%;
  max-width: 980px;
  margin-inline: auto;
}
.fanika-creator-application-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(12px,4vw,48px);
  padding: 12px 8px 20px;
  color: #7b88ab;
}
.fanika-creator-application-steps span { display: grid; justify-items: center; gap: 7px; font-size: .8rem; font-weight: 700; }
.fanika-creator-application-steps b { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #edf0ff; color: #6274a7; }
.fanika-creator-application-steps .is-current b { background: #9186ef; color: #fff; }
.fanika-creator-application-layout > .fanika-mypage-application-section {
  margin: 0;
  padding: 24px 28px;
  background: #fff;
  border: 1px solid #e9eafa;
  border-radius: 16px;
  box-shadow: 0 7px 20px rgba(82,95,155,.06);
}
.fanika-creator-application-layout > .fanika-mypage-application-section > h2 {
  margin: 0 0 7px;
  color: #26365b;
  font-size: 1.1rem;
  font-weight: 800;
}
.fanika-creator-application-layout > .fanika-mypage-application-section > p {
  margin: 0 0 14px;
  font-size: .82rem;
  color: #7787a7;
}
.fanika-creator-application-layout .fanika-mypage-application-grid--2 {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px 18px;
}
.fanika-creator-application-layout .fanika-mypage-application-grid label,
.fanika-creator-application-layout .fanika-creator-application-name { min-width: 0; }
.fanika-creator-application-layout .fanika-mypage-application-grid input,
.fanika-creator-application-layout .fanika-mypage-application-grid select,
.fanika-creator-application-layout .fanika-creator-application-name input { width: 100%; max-width: 100%; box-sizing: border-box; }
.fanika-creator-application-layout .fanika-creator-application-name { display: block; margin-bottom: 10px; }
.fanika-creator-application-layout .fanika-creator-application-note { margin-bottom: 18px; }
.fanika-creator-application-layout .fanika-mypage-application-choice-group { min-width: 0; margin: 0 0 18px; padding: 0; border: 0; }
.fanika-creator-application-layout .fanika-mypage-application-choice-group legend { margin-bottom: 9px; font-weight: 800; color: #35436d; }
.fanika-creator-application-layout .fanika-mypage-application-choice-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.fanika-creator-application-layout .fanika-mypage-application-choice-list--zoning { grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 470px; }
.fanika-creator-application-layout .fanika-mypage-application-choice {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  min-height: 40px;
  padding: 9px 10px;
  box-sizing: border-box;
  border: 1px solid #dfe5f5;
  border-radius: 9px;
  background: #fff;
  color: #3d517b;
  font-size: .82rem;
  cursor: pointer;
}
.fanika-creator-application-layout .fanika-mypage-application-choice:has(input:checked) { border-color: #8d83eb; background: #f1efff; }
.fanika-creator-application-layout .fanika-mypage-application-choice:has(input:focus-visible) { outline: 2px solid #8278d9; outline-offset: 2px; }
.fanika-creator-application-layout .fanika-mypage-application-choice input { flex: 0 0 auto; margin: 0; }
.fanika-creator-application-layout .fanika-mypage-application-choice span { overflow-wrap: anywhere; }
.fanika-creator-application-layout .fanika-mypage-identity-samples { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.fanika-creator-application-layout .fanika-mypage-identity-sample img { max-width: 100%; height: auto; object-fit: contain; }
.fanika-creator-application-layout .fanika-creator-application-consent { margin-top: 0; }
@media (max-width: 780px) {
  .fanika-creator-application-layout > .fanika-mypage-application-section { padding: 18px 16px; }
  .fanika-creator-application-layout .fanika-mypage-application-choice-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .fanika-creator-application-layout .fanika-mypage-application-choice-list--zoning { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 520px) {
  .fanika-creator-application-layout { gap: 12px; }
  .fanika-creator-application-layout .fanika-mypage-application-grid--2 { grid-template-columns: 1fr; }
  .fanika-creator-application-layout .fanika-mypage-application-choice-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fanika-creator-application-layout .fanika-mypage-identity-samples { grid-template-columns: 1fr; }
  .fanika-creator-application-steps { justify-content: space-between; gap: 6px; }
  .fanika-creator-application-steps b { width: 30px; height: 30px; }
}

/* Creator-only identity document sample guidance, Owner reference 2026-10-10. */
.fanika-creator-application-layout .fanika-creator-identity-guide {
  margin: 18px 0;
  padding: 22px 24px;
  border: 2px solid #edb900;
  border-radius: 12px;
  background: #fff9c6;
  color: #715b13;
}
.fanika-creator-identity-guide h3 { margin: 0 0 14px; font-size: 1.2rem; font-weight: 800; }
.fanika-creator-identity-guide > p { margin: 0 0 14px; }
.fanika-creator-identity-guide > p strong { color: #d94133; }
.fanika-creator-identity-guide ul { margin: 0 0 18px; padding-left: 22px; line-height: 1.7; }
.fanika-creator-application-layout .fanika-creator-identity-guide .fanika-mypage-identity-samples {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 22px;
}
.fanika-creator-application-layout .fanika-creator-identity-guide .fanika-mypage-identity-sample {
  min-width: 0;
}
.fanika-creator-application-layout .fanika-creator-identity-guide .fanika-mypage-identity-sample img {
  display: block;
  width: 100%;
  max-height: 270px;
  object-fit: contain;
}
@media (max-width: 640px) {
  .fanika-creator-application-layout .fanika-creator-identity-guide { padding: 16px 12px; }
  .fanika-creator-application-layout .fanika-creator-identity-guide .fanika-mypage-identity-samples { grid-template-columns: 1fr; gap: 15px; }
}

/* QA: compact identity samples for all three actor application previews. */
.fanika-creator-application-layout .fanika-mypage-identity-samples,
.fanika-creator-application-layout .fanika-creator-identity-guide .fanika-mypage-identity-samples {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 14px;
}
.fanika-creator-application-layout .fanika-mypage-identity-sample,
.fanika-creator-application-layout .fanika-creator-identity-guide .fanika-mypage-identity-sample {
  flex: 0 1 calc(33.333% - 10px);
  width: calc(33.333% - 10px);
  min-width: 0;
}
.fanika-creator-application-layout .fanika-mypage-identity-sample img,
.fanika-creator-application-layout .fanika-creator-identity-guide .fanika-mypage-identity-sample img {
  width: 100%;
  max-height: 135px;
  object-fit: contain;
  object-position: left center;
}
.fanika-creator-application-layout .fanika-creator-application-name input[readonly] {
  background: #f5f7fc;
  color: #425273;
  cursor: not-allowed;
}
@media (max-width: 640px) {
  .fanika-creator-application-layout .fanika-mypage-identity-sample,
  .fanika-creator-application-layout .fanika-creator-identity-guide .fanika-mypage-identity-sample {
    flex-basis: calc(50% - 7px);
    width: calc(50% - 7px);
  }
}

/* QA: Joined communities uses the FANIKA basic pale-blue page canvas.
   Keep the accepted card surfaces, widths, actions and back button unchanged. */
body:has(.fanika-mypage-joined-communities){
  background-color:#edf7fe;
}
body:has(.fanika-mypage-joined-communities) .site-content,
body:has(.fanika-mypage-joined-communities) .site-main,
body:has(.fanika-mypage-joined-communities) .entry-content{
  background-color:#edf7fe!important;
  background-image:none!important;
}

/* QA: My Page profile and calendar child screens use the private basic canvas.
   Profile's accepted controls and back-button treatment remain untouched. */
body:has(.fanika-mypage-destination .fanika-profile-editor-v2),
body:has(.fanika-mypage-activity-form){
  background-color:var(--fanika-ui-page-background,#edf7fe);
}
body:has(.fanika-mypage-destination .fanika-profile-editor-v2) .site-content,
body:has(.fanika-mypage-destination .fanika-profile-editor-v2) .site-main,
body:has(.fanika-mypage-destination .fanika-profile-editor-v2) .entry-content,
body:has(.fanika-mypage-activity-form) .site-content,
body:has(.fanika-mypage-activity-form) .site-main,
body:has(.fanika-mypage-activity-form) .entry-content{
  background-color:var(--fanika-ui-page-background,#edf7fe)!important;
  background-image:none!important;
}
/* Calendar footer: centered outlined Back and strong pink Save. */
.fanika-mypage-activity-form .fanika-mypage-settings-form__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:10px;
}
.fanika-mypage-activity-form .fanika-mypage-settings-form__actions > a,
.fanika-mypage-activity-form .fanika-mypage-settings-form__actions > button{
  display:inline-flex;
  box-sizing:border-box;
  min-width:180px;
  min-height:42px;
  align-items:center;
  justify-content:center;
  padding:9px 16px;
  border-radius:8px;
  font:inherit;
  font-size:.8rem;
  font-weight:800;
  text-decoration:none;
}
.fanika-mypage-activity-form .fanika-mypage-settings-form__actions > a{
  border:1px solid var(--fanika-ui-button-color,#f4a6c8);
  background:#fff;
  color:#d83d7d;
}
.fanika-mypage-activity-form .fanika-mypage-settings-form__actions > button{
  border:1px solid #e83e8c;
  background:#e83e8c;
  color:#fff;
  opacity:1;
}
@media(max-width:640px){
  .fanika-mypage-activity-form .fanika-mypage-settings-form__actions > a,
  .fanika-mypage-activity-form .fanika-mypage-settings-form__actions > button{
    flex:1 1 0;
    min-width:0;
  }
}

/* QA: Current Segment — approved reference image card treatment only.
   Status, fee calculation, permissions and application destinations are unchanged. */
body:has(.fanika-mypage-segment-hero){
  background-color:var(--fanika-ui-page-background,#edf7fe);
}
body:has(.fanika-mypage-segment-hero) .site-content,
body:has(.fanika-mypage-segment-hero) .site-main,
body:has(.fanika-mypage-segment-hero) .entry-content{
  background-color:var(--fanika-ui-page-background,#edf7fe)!important;
  background-image:none!important;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-hero{
  grid-template-columns:64px minmax(0,1fr) minmax(240px,.9fr);
  gap:16px;
  padding:20px;
  border:1px solid #e1e9f1;
  border-radius:14px;
  background:#fff;
  box-shadow:none;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-hero__avatar img{
  width:64px;
  height:64px;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-hero__active{
  padding-left:0;
  border:0;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-section{
  margin-top:26px;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-section > h2{
  margin:0 0 14px;
  padding:0;
  border:0;
  color:#203652;
  font-size:1rem;
  font-weight:800;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-role{
  gap:13px;
  min-height:310px;
  padding:18px;
  border:1px solid #e5eaf0;
  border-radius:14px;
  background:#fff;
  box-shadow:none;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-role__header{
  display:flex;
  flex-direction:column;
  align-items:flex-start!important;
  justify-content:flex-start;
  gap:10px;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-role__icon{
  background:#fff0f7;
  color:#ed398a;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-role > p{
  font-size:.82rem;
  line-height:1.6;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-role dl{
  padding:0;
  background:transparent;
  margin-top:4px;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-role dl div{
  font-size:.78rem;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-role dd{
  color:#334963;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-fees{
  padding:14px 12px;
  background:#fff4f9;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-role__apply{
  margin-top:8px;
  padding:10px 16px;
  border:1px solid #e83e8c;
  border-radius:8px;
  background:#e83e8c;
  color:#fff;
  text-decoration:none;
  font-weight:800;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-section:nth-of-type(3) .fanika-mypage-segment-role{
  min-height:0;
  gap:12px;
  padding:18px;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-section:nth-of-type(3) .fanika-mypage-segment-role h3{
  font-size:.85rem;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-role li::before{
  color:#ec4899;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-note{
  padding:0;
  border:0;
  background:transparent;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-destination__footer-action{
  display:flex;
  justify-content:center;
  margin:18px 0 0;
}
.fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-destination__footer-action a{
  display:inline-flex;
  min-width:180px;
  min-height:40px;
  align-items:center;
  justify-content:center;
  border:1px solid #f4a6c8;
  border-radius:8px;
  background:#fff;
  color:#d83d7d;
  text-decoration:none;
  font-weight:800;
}
@media(max-width:900px){
  .fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-hero{
    grid-template-columns:64px minmax(0,1fr);
  }
  .fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-hero__active{
    grid-column:1/-1;
    padding-top:12px;
    border-top:1px solid #e5eaf0;
  }
}
@media(max-width:640px){
  .fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-grid{
    grid-template-columns:1fr;
  }
  .fanika-mypage-destination:has(.fanika-mypage-segment-hero) .fanika-mypage-segment-role{
    min-height:0;
  }
}

/* QA: Creator / Organizer / Agent application screens, private UI standard.
   Scope to these routes only; preserve approved form surfaces and widths. */
body:has(.fanika-actor-application-page){
  background-color:var(--fanika-ui-page-background,#edf7fe);
}
body:has(.fanika-actor-application-page) .site-content,
body:has(.fanika-actor-application-page) .site-main,
body:has(.fanika-actor-application-page) .entry-content{
  background-color:var(--fanika-ui-page-background,#edf7fe)!important;
  background-image:none!important;
}
.fanika-actor-application-page .fanika-mypage-settings-form__actions,
.fanika-actor-application-page .fanika-actor-application-page__status-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:10px;
  padding-top:8px;
}
.fanika-actor-application-page .fanika-mypage-settings-form__actions > a,
.fanika-actor-application-page .fanika-mypage-settings-form__actions > button,
.fanika-actor-application-page .fanika-actor-application-page__status-actions > a{
  display:inline-flex;
  box-sizing:border-box;
  flex:0 1 200px;
  min-width:170px;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:9px 16px;
  border-radius:8px;
  font:inherit;
  font-size:.82rem;
  font-weight:800;
  text-align:center;
  text-decoration:none;
}
.fanika-actor-application-page .fanika-mypage-settings-form__actions > a,
.fanika-actor-application-page .fanika-mypage-settings-form__actions > button.fanika-ui-button--secondary,
.fanika-actor-application-page .fanika-actor-application-page__status-actions > a{
  border:1px solid #f4a6c8;
  background:#fff;
  color:#d83d7d;
}
.fanika-actor-application-page .fanika-mypage-settings-form__actions > button:not(.fanika-ui-button--secondary){
  border:1px solid #e83e8c;
  background:#e83e8c;
  color:#fff;
}
.fanika-actor-application-page .fanika-mypage-settings-form__actions > button:not(:disabled):hover{
  background:#d92d7b;
  border-color:#d92d7b;
  color:#fff;
}
.fanika-actor-application-page .fanika-mypage-settings-form__actions > button:disabled{
  cursor:not-allowed;
}
@media(max-width:640px){
  .fanika-actor-application-page .fanika-mypage-settings-form__actions > a,
  .fanika-actor-application-page .fanika-mypage-settings-form__actions > button{
    flex:1 1 0;
    min-width:0;
  }
}

/* QA: Security, Registration, Payment Methods and Notification Settings.
   Apply the private FANIKA canvas without changing approved card surfaces,
   widths, form behavior, payment actions or warning-state colors. */
body:has(.fanika-mypage-security-form),
body:has(.fanika-mypage-registration-form),
body:has(.fanika-mypage-payment-methods),
body:has(.fanika-mypage-notification-form){
  background-color:var(--fanika-ui-page-background,#edf7fe);
}
body:has(.fanika-mypage-security-form) :is(.site-content,.site-main,.entry-content),
body:has(.fanika-mypage-registration-form) :is(.site-content,.site-main,.entry-content),
body:has(.fanika-mypage-payment-methods) :is(.site-content,.site-main,.entry-content),
body:has(.fanika-mypage-notification-form) :is(.site-content,.site-main,.entry-content){
  background-color:var(--fanika-ui-page-background,#edf7fe)!important;
  background-image:none!important;
}
/* Center footer controls on Registration and Notification Settings. */
.fanika-mypage-registration-form .fanika-mypage-registration-form__footer,
.fanika-mypage-notification-form .fanika-mypage-settings-form__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:10px;
  padding-top:8px;
}
.fanika-mypage-registration-form .fanika-mypage-registration-form__footer > a,
.fanika-mypage-registration-form .fanika-mypage-registration-form__footer > button,
.fanika-mypage-notification-form .fanika-mypage-settings-form__actions > a,
.fanika-mypage-notification-form .fanika-mypage-settings-form__actions > button{
  display:inline-flex;
  box-sizing:border-box;
  flex:0 1 180px;
  min-width:150px;
  min-height:42px;
  align-items:center;
  justify-content:center;
  padding:9px 16px;
  border-radius:8px;
  font:inherit;
  font-size:.82rem;
  font-weight:800;
  text-align:center;
  text-decoration:none;
}
/* Back: white fill, pink outline. */
.fanika-mypage-registration-form .fanika-mypage-registration-form__footer > a,
.fanika-mypage-notification-form .fanika-mypage-settings-form__actions > a,
body:has(.fanika-mypage-security-form) .fanika-mypage-destination__footer-action > a,
body:has(.fanika-mypage-payment-methods) .fanika-mypage-destination__footer-action > a{
  border:1px solid #f4a6c8;
  background:#fff;
  color:#d83d7d;
  text-decoration:none;
}
/* Save: stronger pink, white text, including independent Security forms. */
.fanika-mypage-registration-form .fanika-mypage-registration-form__footer > button,
.fanika-mypage-notification-form .fanika-mypage-settings-form__actions > button,
.fanika-mypage-security-form .fanika-mypage-security-form__card > button[type="submit"]{
  border:1px solid #e83e8c;
  background:#e83e8c;
  color:#fff;
  opacity:1;
}
.fanika-mypage-registration-form .fanika-mypage-registration-form__footer > button:hover,
.fanika-mypage-notification-form .fanika-mypage-settings-form__actions > button:hover,
.fanika-mypage-security-form .fanika-mypage-security-form__card > button[type="submit"]:hover{
  border-color:#d92d7b;
  background:#d92d7b;
  color:#fff;
}
/* Keep Security's two separate save actions within their respective cards. */
.fanika-mypage-security-form .fanika-mypage-security-form__card > button[type="submit"]{
  justify-self:center;
  min-width:180px;
  min-height:42px;
  border-radius:8px;
  font-weight:800;
}
/* Payment card-add action is a primary navigation button, not a form save. */
.fanika-mypage-payment-methods__header > a.fanika-ui-button{
  border:1px solid #e83e8c;
  background:#e83e8c;
  color:#fff;
  opacity:1;
}
/* Both standalone Back actions sit centered below the cards. */
body:has(.fanika-mypage-security-form) .fanika-mypage-destination__footer-action,
body:has(.fanika-mypage-payment-methods) .fanika-mypage-destination__footer-action{
  display:flex;
  justify-content:center;
  margin:18px 0 0;
}
body:has(.fanika-mypage-security-form) .fanika-mypage-destination__footer-action > a,
body:has(.fanika-mypage-payment-methods) .fanika-mypage-destination__footer-action > a{
  min-width:180px;
  min-height:42px;
  border-radius:8px;
  font-weight:800;
}
@media(max-width:640px){
  .fanika-mypage-registration-form .fanika-mypage-registration-form__footer > a,
  .fanika-mypage-registration-form .fanika-mypage-registration-form__footer > button,
  .fanika-mypage-notification-form .fanika-mypage-settings-form__actions > a,
  .fanika-mypage-notification-form .fanika-mypage-settings-form__actions > button{
    flex:1 1 0;
    min-width:0;
  }
}

/* My Page support/legal: Logout occupies the last row's far-right slot. */
@media (min-width: 1025px) {
  .fanika-mypage-list--support > .fanika-mypage-logout {
    grid-column: 4;
    grid-row: 3;
  }
}
