* {
  box-sizing:border-box
}

:root {
  --blue:#1f5eff;
  --blue-dark:#173a8f;
  --ink:#101828;
  --muted:#667085;
  --line:#d9e1f2;
  --panel:#f7f9fc;
  --green:#16803a;
  --purple:#6f35b5;
  --orange:#b56500;
  --danger:#b42318;
}

body {
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:#fff
}

button,input,select {
  font:inherit
}

button {
  cursor:pointer
}

.topbar {
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  padding:28px 5vw;
  background:linear-gradient(135deg,#eef4ff,#fff)
}

.topbar h1 {
  margin:4px 0 8px;
  font-size:clamp(30px,5vw,54px)
}

.topbar p {
  margin:0;
  color:var(--muted);
  max-width:760px
}

.eyebrow {
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  color:var(--blue)
}

.primary,.secondary,.ghost {
  border-radius:10px;
  padding:11px 16px;
  border:1px solid transparent;
  font-weight:700
}

.primary {
  background:var(--blue);
  color:#fff
}

.secondary {
  background:#fff;
  color:var(--blue-dark);
  border-color:var(--line)
}

.ghost {
  background:transparent;
  border-color:var(--line);
  color:var(--ink)
}

.tabs {
  display:flex;
  gap:8px;
  padding:14px 5vw;
  border-bottom:1px solid var(--line);
  overflow:auto;
  position:sticky;
  top:0;
  background:#fff;
  z-index:5
}

.tab {
  border:0;
  background:#f2f4f7;
  color:var(--muted);
  padding:10px 14px;
  border-radius:999px;
  white-space:nowrap
}

.tab.active {
  background:var(--blue);
  color:#fff
}

main {
  padding:28px 5vw 60px
}

.view {
  display:none
}

.view.active {
  display:block
}

.toolbar,.section-head {
  display:flex;
  gap:16px;
  justify-content:space-between;
  align-items:center;
  margin-bottom:22px
}

.toolbar input {
  flex:1;
  min-width:220px
}

.toolbar input,.toolbar select {
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff
}

.section-head h2 {
  margin:4px 0 6px;
  font-size:30px
}

.section-head p {
  margin:0;
  color:var(--muted)
}

.grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:18px
}

.card,.panel {
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(16,24,40,.05);
  padding:18px
}

.card-head {
  display:flex;
  gap:12px;
  align-items:center
}

.avatar {
  width:46px;
  height:46px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--blue),#7ca4ff)
}

.card h3 {
  margin:0 0 4px
}

.card p {
  color:var(--muted)
}

.module-list {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:16px 0
}

.module {
  font-size:12px;
  padding:7px 9px;
  border-radius:999px;
  background:#f2f4f7;
  border:1px solid var(--line)
}

.card-actions {
  display:flex;
  gap:8px;
  margin-top:14px
}

.program-meta,.offer-meta,.listing-meta {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:12px 0;
  font-size:14px
}

.label {
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em
}

.value {
  font-weight:700;
  margin-top:2px
}

.status {
  display:inline-block;
  padding:6px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:800
}

.status.active {
  background:#e8f7ed;
  color:var(--green)
}

.status.review {
  background:#fff4e5;
  color:var(--orange)
}

.status.closed {
  background:#f2f4f7;
  color:var(--muted)
}

.connections-layout {
  display:grid;
  grid-template-columns:250px 1fr;
  gap:18px
}

.group {
  padding:10px 12px;
  border-radius:10px;
  background:#f7f9fc;
  border:1px solid var(--line);
  margin-bottom:8px
}

.connection-actions {
  display:flex;
  flex-wrap:wrap;
  gap:7px
}

.connection-actions button {
  padding:8px 10px;
  border-radius:8px;
  border:1px solid var(--line);
  background:#fff
}

.connection-actions .danger {
  color:var(--danger)
}

.modal {
  position:fixed;
  inset:0;
  background:rgba(16,24,40,.55);
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:10
}

.modal.open {
  display:flex
}

.modal-card {
  position:relative;
  background:#fff;
  border-radius:18px;
  max-width:720px;
  width:100%;
  max-height:88vh;
  overflow:auto;
  padding:26px
}

.close {
  position:absolute;
  right:14px;
  top:10px;
  border:0;
  background:transparent;
  font-size:30px
}

.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
}

.form-grid label {
  display:flex;
  flex-direction:column;
  gap:6px;
  font-weight:700
}

.form-grid input,.form-grid textarea,.form-grid select {
  padding:11px;
  border:1px solid var(--line);
  border-radius:9px
}

.form-grid textarea {
  min-height:100px
}

.full {
  grid-column:1/-1
}

.notice {
  padding:12px;
  border-radius:10px;
  background:#fff8e8;
  border:1px solid #f1d49a;
  color:#7a4d00;
  margin:12px 0
}

@media(max-width:780px) {
  .topbar,.section-head,.toolbar {
    align-items:stretch;
    flex-direction:column
  }

  .connections-layout {
    grid-template-columns:1fr
  }

  .form-grid {
    grid-template-columns:1fr
  }

  .full {
    grid-column:auto
  }

}

.account-model {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  padding:16px 5vw;
  background:#f8fafc;
  border-bottom:1px solid var(--line);
}

.account-model div {
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  padding:12px 14px;
}

.account-model strong {
  display:block;
  margin-bottom:5px;
  color:var(--blue-dark)
}

.account-model span {
  font-size:13px;
  color:var(--muted);
  line-height:1.4
}

.field-note {
  font-size:12px;
  color:var(--muted);
  font-weight:400;
  line-height:1.35;
}

.field-note.locked {
  color:var(--danger);
  font-weight:700
}

.profile-meta {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0 0;
}

.profile-meta .module {
  background:#eef4ff
}

.danger-zone {
  margin-top:18px;
  padding:14px;
  border:1px solid #f1b7b2;
  background:#fff7f6;
  border-radius:12px;
}

.danger-zone h3 {
  color:var(--danger)
}

@media(max-width:780px) {
  .account-model {
    grid-template-columns:1fr
  }

}

.session-bar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px 5vw;
  background:#0f172a;
  color:#fff;
}

.session-bar .ghost {
  color:#fff;
  border-color:#475569
}

.session-dot {
  display:inline-block;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#22c55e;
  margin-right:8px
}

.session-handle {
  color:#93c5fd;
  margin-left:6px
}

.owner-badge {
  display:inline-block;
  font-size:11px;
  font-weight:800;
  padding:5px 8px;
  border-radius:999px;
  background:#e8f7ed;
  color:#16803a;
  margin-left:8px
}

.hub-view {
  display:grid;
  gap:18px
}

.hub-hero {
  border-radius:18px;
  padding:24px;
  color:#fff;
  background:linear-gradient(135deg,#1f5eff,#173a8f)
}

.hub-hero h2 {
  font-size:36px;
  margin:6px 0
}

.hub-hero p {
  color:#e5edff
}

.hub-controls {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:18px
}

.hub-controls button {
  background:#fff;
  color:#173a8f
}

.hub-sections {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:14px
}

.hub-module-card {
  border:1px solid var(--line);
  border-radius:14px;
  padding:16px;
  background:#fff
}

.hub-module-card h3 {
  margin:0 0 8px
}

.hub-module-card p {
  margin:0 0 12px;
  color:var(--muted)
}

.module-icon {
  font-size:24px;
  margin-bottom:8px
}

.share-row {
  display:flex;
  flex-wrap:wrap;
  gap:8px
}

.share-row button {
  padding:8px 10px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:8px
}

@media(max-width:780px) {
  .session-bar {
    align-items:stretch;
    flex-direction:column
  }

}

.price-choice {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:12px 0;
}

.price-option {
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px;
  background:#fff;
}

.price-option input {
  margin-right:8px
}

.policy-box {
  border:1px solid #f1d49a;
  background:#fff8e8;
  border-radius:12px;
  padding:14px;
  margin:14px 0;
  color:#7a4d00;
}

.policy-box strong {
  display:block;
  margin-bottom:6px
}

.report-btn {
  color:var(--danger)!important;
  border-color:#f1b7b2!important;
}

.review-actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px
}

.review-actions button {
  padding:9px 11px;
  border-radius:8px;
  border:1px solid var(--line);
  background:#fff
}

.review-actions .approve {
  background:#e8f7ed;
  color:#16803a
}

.review-actions .reject {
  background:#fff7f6;
  color:var(--danger)
}

.review-actions .correction {
  background:#fff8e8;
  color:#7a4d00
}

.fee-line {
  font-weight:800;
  color:var(--blue-dark);
}

.currency-note {
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8fafc;
  color:var(--muted);
  font-size:14px
}

.contact-note {
  font-size:12px;
  color:var(--muted);
  margin-top:8px
}

.referral-id {
  display:inline-block;
  padding:7px 9px;
  border-radius:8px;
  background:#eef4ff;
  color:var(--blue-dark);
  font-family:monospace;
  font-weight:800;
}

.offer-steps {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0
}

.offer-steps span {
  padding:7px 9px;
  border-radius:999px;
  background:#f2f4f7;
  border:1px solid var(--line);
  font-size:12px
}

.session-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}

.submission-columns {
  display:grid;
  gap:28px
}

.submission-columns>section>h3 {
  font-size:22px;
  margin:0 0 14px
}

.admin-dashboard {
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.72);
  display:none;
  z-index:20;
  padding:18px;
  overflow:auto
}

.admin-dashboard.open {
  display:block
}

.admin-shell {
  max-width:1280px;
  margin:0 auto;
  background:#fff;
  border-radius:18px;
  min-height:calc(100vh - 36px);
  padding:24px
}

.admin-head {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start
}

.admin-head h2 {
  font-size:34px;
  margin:4px 0
}

.admin-tabs {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:18px 0
}

.admin-tab {
  border:1px solid var(--line);
  background:#f2f4f7;
  color:var(--muted);
  padding:10px 14px;
  border-radius:999px;
  font-weight:700
}

.admin-tab.active {
  background:var(--blue);
  color:#fff
}

.admin-panel {
  display:none
}

.admin-panel.active {
  display:block
}

.admin-view {
  display:none!important
}

.status.payment {
  background:#eef4ff;
  color:#173a8f
}

.status.correction {
  background:#fff8e8;
  color:#7a4d00
}

.status.rejected {
  background:#fff7f6;
  color:#b42318
}

.status.suspended {
  background:#fef3f2;
  color:#b42318
}

.submission-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px
}

.submission-actions button {
  padding:9px 11px;
  border-radius:8px;
  border:1px solid var(--line);
  background:#fff
}

.visibility-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px
}

@media(max-width:780px) {
  .admin-head {
    flex-direction:column
  }

  .visibility-grid {
    grid-template-columns:1fr
  }

}

.settings-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px
}

.definition-list {
  display:grid;
  gap:12px
}

.definition-item {
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8fafc
}

.definition-item strong {
  display:block;
  margin-bottom:4px;
  color:var(--blue-dark)
}

.user-control-menu {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px
}

.user-control-menu button {
  padding:8px 10px;
  border-radius:8px;
  border:1px solid var(--line);
  background:#fff
}

.user-control-menu .danger {
  color:var(--danger);
  border-color:#f1b7b2
}

.blocked-user {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:11px 0;
  border-bottom:1px solid var(--line)
}

.blocked-user:last-child {
  border-bottom:0
}

.help-text {
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-top:5px;
  line-height:1.35
}

@media(max-width:780px) {
  .settings-grid {
    grid-template-columns:1fr
  }

}

.dashboard-hero {
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(135deg,#eef4ff,#fff);
  margin-bottom:20px
}

.dashboard-hero h2 {
  font-size:34px;
  margin:4px 0 8px
}

.dashboard-hero p {
  margin:0;
  color:var(--muted);
  max-width:720px
}

.dashboard-actions {
  display:flex;
  flex-wrap:wrap;
  gap:9px
}

.dashboard-stats {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:20px
}

.stat-card {
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:16px
}

.stat-card .stat-value {
  font-size:30px;
  font-weight:800;
  color:var(--blue-dark)
}

.stat-card .stat-label {
  color:var(--muted);
  font-size:13px;
  margin-top:4px
}

.dashboard-columns {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-bottom:18px
}

.panel-head {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start
}

.panel-head h3 {
  margin:4px 0 12px
}

.attention-item,.activity-item,.hub-summary-item {
  padding:11px 0;
  border-bottom:1px solid var(--line)
}

.attention-item:last-child,.activity-item:last-child,.hub-summary-item:last-child {
  border-bottom:0
}

.attention-item strong,.activity-item strong,.hub-summary-item strong {
  display:block;
  margin-bottom:3px
}

.quick-link {
  display:inline-block;
  margin-top:6px;
  color:var(--blue);
  font-weight:700;
  cursor:pointer
}

.dashboard-group-list {
  display:flex;
  flex-wrap:wrap;
  gap:8px
}

.dashboard-group-list .group {
  margin:0
}

@media(max-width:900px) {
  .dashboard-stats {
    grid-template-columns:repeat(2,1fr)
  }

  .dashboard-columns {
    grid-template-columns:1fr
  }

}

@media(max-width:620px) {
  .dashboard-hero {
    flex-direction:column;
    align-items:stretch
  }

  .dashboard-stats {
    grid-template-columns:1fr
  }

}

/* FolkDepot V10 branding */
.folkdepot-topbar {
  padding:18px 5vw;
  background:#fff;
  border-bottom:1px solid var(--line)
}

.brand-lockup {
  display:flex;
  align-items:center;
  gap:18px
}

.brand-logo {
  width:210px;
  max-height:88px;
  object-fit:contain;
  object-position:left center
}

.brand-copy h1 {
  font-size:34px;
  margin:1px 0 3px;
  color:#0d2f6f
}

.brand-copy p {
  margin:0;
  color:var(--muted)
}

.folk-home {
  max-width:1120px;
  margin:0 auto;
}

.folk-home-brand {
  text-align:center;
  padding:8px 12px 20px
}

.folk-home-logo {
  width:min(410px,82vw);
  max-height:150px;
  object-fit:contain
}

.folk-home-brand h2 {
  margin:8px 0 3px;
  font-size:28px;
  color:#0d2f6f
}

.folk-home-brand p {
  margin:0;
  color:var(--muted)
}

.folk-home-menu {
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  max-width:720px;
  margin:0 auto
}

.folk-menu-button {
  width:100%;
  display:grid;
  grid-template-columns:52px 1fr 30px;
  gap:12px;
  align-items:center;
  text-align:left;
  padding:13px 15px;
  border:1px solid #d8e2f2;
  border-radius:13px;
  background:#fff;
  box-shadow:0 5px 14px rgba(16,24,40,.05);
  color:#102a5e
}

.folk-menu-button:hover {
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(16,24,40,.08)
}

.folk-menu-icon {
  width:44px;
  height:44px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#1f5eff;
  color:#fff;
  font-size:25px;
  font-weight:800
}

.folk-menu-copy {
  display:flex;
  flex-direction:column;
  gap:3px
}

.folk-menu-copy strong {
  font-size:18px
}

.folk-menu-copy small {
  color:var(--muted);
  font-size:12px
}

.folk-menu-arrow {
  font-size:28px;
  color:#98a2b3;
  text-align:right
}

.folk-home-status {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  max-width:720px;
  margin:18px auto 0
}

.folk-status-card {
  border:1px solid var(--line);
  border-radius:13px;
  padding:14px;
  background:#fff
}

.folk-status-label {
  display:block;
  font-size:12px;
  font-weight:800;
  margin-bottom:7px
}

.folk-status-card strong {
  display:block;
  font-size:28px;
  margin-bottom:3px
}

.folk-status-card small {
  color:var(--muted)
}

.folk-status-card.attention {
  background:#fffaf0;
  border-color:#f4d58b
}

.folk-status-card.attention strong {
  color:#bd6a00
}

.folk-status-card.activity {
  background:#f4f8ff;
  border-color:#b8cef8
}

.folk-status-card.activity strong {
  color:#1f5eff
}

.folk-status-card.referral {
  background:#f2fbf6;
  border-color:#a9dfbd
}

.folk-status-card.referral strong {
  color:#16803a
}

.folk-home-note {
  max-width:720px;
  margin:14px auto 0;
  padding:13px 15px;
  border-radius:12px;
  background:#f8fafc;
  border:1px solid var(--line);
  color:var(--muted);
  font-size:13px
}

.folk-home-note strong {
  display:block;
  color:#0d2f6f;
  margin-bottom:4px
}

/* Desktop/tablet adaptation: same landing screen, wider arrangement only */
@media(min-width:900px) {
  .folk-home-menu {
    grid-template-columns:1fr 1fr;
    max-width:1040px
  }

  .folk-home-status {
    max-width:1040px
  }

  .folk-home-note {
    max-width:1040px
  }

}

@media(max-width:760px) {
  .folkdepot-topbar {
    flex-direction:column;
    align-items:stretch
  }

  .brand-lockup {
    justify-content:center
  }

  .brand-logo {
    width:245px
  }

  .brand-copy {
    display:none
  }

  .folkdepot-topbar #openCreateHub {
    width:100%
  }

  main {
    padding:20px 16px 50px
  }

  .tabs {
    display:none
  }

  .account-model {
    display:none
  }

  .session-bar {
    margin-bottom:14px
  }

  .folk-home-brand {
    padding-top:0
  }

  .folk-home-status {
    grid-template-columns:1fr
  }

}

/* V11 account controls */
a.primary,a.ghost {
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

[hidden] {
  display:none !important
}

.auth-main-action {
  white-space:nowrap
}

@media(max-width:760px) {
  .session-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%
  }

  .session-actions > * {
    width:100%
  }

}

/* V14 Find People + Quick Add */
.folk-people-search {
  max-width:1040px;
  margin:0 auto 18px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 20px rgba(16,24,40,.05);
}

.folk-search-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:12px;
  margin-bottom:10px;
}

.folk-search-heading h3 {
  margin:3px 0 0;
  color:#0d2f6f;
  font-size:22px;
}

.folk-search-row,
.folk-quick-add-row {
  display:grid;
  gap:10px;
  align-items:center;
}

.folk-search-row {
  grid-template-columns:1fr auto;
}

.folk-quick-add-row {
  grid-template-columns:1fr auto auto;
  margin-top:10px;
}

.folk-search-row input,
.folk-quick-add-row input {
  width:100%;
  padding:13px 14px;
  border:1px solid #cbd7ea;
  border-radius:10px;
  font:inherit;
}

.folk-search-row input:focus,
.folk-quick-add-row input:focus {
  outline:3px solid rgba(36,99,255,.15);
  border-color:#2463ff;
}

.folk-people-results {
  display:grid;
  gap:10px;
  margin-top:14px;
}

.folk-person-result {
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#f8fafc;
}

.folk-person-result strong {
  color:#0d2f6f;
}

.folk-person-result small {
  display:block;
  margin-top:3px;
  color:var(--muted);
}

.folk-person-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.folk-search-message {
  margin-top:10px;
  min-height:18px;
  font-size:13px;
  color:var(--muted);
}

.folk-search-message.success {
  color:#16803a
}

.folk-search-message.error {
  color:#b42318
}

@media(max-width:760px) {
  .folk-people-search {
    padding:14px
  }

  .folk-search-row,
  .folk-quick-add-row {
    grid-template-columns:1fr;
  }

  .folk-person-result {
    grid-template-columns:1fr;
  }

  .folk-person-actions > * {
    flex:1;
  }

}

/* V14.1 branded navigation upgrade */
.tabs {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:16px 5vw;
  background:#fff;
  border-bottom:1px solid var(--line);
}

.tab {
  border:1px solid #80c994;
  border-radius:999px;
  padding:11px 18px;
  background:#dff3e5;
  color:#0d2f6f;
  font-weight:800;
  font-size:16px;
  box-shadow:0 3px 8px rgba(16,24,40,.05);
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
}

.tab:hover,
.tab:focus-visible {
  background:#c8eacfeb;
  box-shadow:0 5px 12px rgba(16,24,40,.08);
  transform:translateY(-1px);
}

.tab.active {
  background:#2463ff;
  border-color:#2463ff;
  color:#fff;
  box-shadow:0 5px 14px rgba(36,99,255,.22);
}

@media(max-width:760px) {
  .tabs {
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:14px 16px;
  }

  .tab {
    width:100%;
    min-height:50px;
    border-radius:13px;
    padding:12px 10px;
    font-size:15px;
    line-height:1.2;
    white-space:normal;
    text-align:center;
  }

}

.folk-profile-link {
  color:#0d2f6f;
  text-decoration:none
}

.folk-profile-link:hover {
  text-decoration:underline
}

.public-hub-shell {
  width:min(980px,calc(100% - 28px));
  margin:24px auto 60px
}

.public-hub-hero,.public-hub-section {
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 15px 45px rgba(16,42,94,.08)
}

.public-hub-hero {
  padding:26px;
  text-align:center
}

.public-hub-avatar,.public-hub-avatar-placeholder {
  width:150px;
  height:150px;
  border-radius:50%;
  border:5px solid #dff3e5;
  background:#eef3fb;
  margin:0 auto 14px;
  display:block
}

.public-hub-avatar {
  object-fit:cover
}

.public-hub-hero h1 {
  margin:6px 0 2px;
  color:#0d2f6f;
  font-size:36px
}

.public-hub-handle {
  color:#2463ff;
  font-weight:800
}

.public-hub-tagline {
  font-size:19px;
  color:#344054;
  margin:10px auto;
  max-width:700px
}

.public-hub-bio {
  color:#667085;
  line-height:1.6;
  max-width:760px;
  margin:12px auto 0
}

.public-hub-actions {
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:20px
}

.public-hub-section {
  margin-top:18px;
  padding:22px
}

.public-hub-section h2 {
  margin:0 0 14px;
  color:#0d2f6f
}

.public-social-grid,.public-module-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px
}

.public-social-card {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border:1px solid #d8e2f2;
  border-radius:13px;
  background:#f8fafc;
  text-decoration:none;
  color:#0d2f6f;
  font-weight:800
}

.public-social-card small {
  display:block;
  color:#667085;
  font-weight:400;
  margin-top:3px
}

.public-module-card {
  border:1px solid #d8e2f2;
  border-radius:13px;
  padding:16px
}

.public-module-card h3 {
  margin:0 0 5px;
  color:#0d2f6f
}

.public-module-card p {
  margin:0;
  color:#667085;
  font-size:14px
}

.public-hub-note {
  margin-top:16px;
  padding:13px 15px;
  border:1px solid #d8e2f2;
  border-radius:12px;
  background:#f8fafc;
  color:#667085;
  font-size:13px
}

@media(max-width:700px) {
  .public-social-grid,.public-module-grid {
    grid-template-columns:1fr
  }

  .public-hub-actions {
    display:grid
  }

  .public-hub-actions>* {
    width:100%
  }

  .public-hub-hero h1 {
    font-size:30px
  }

}

/* V16.4 clean rebuild refinements */
.brand-lockup > a {
  display:inline-flex;
  align-items:center
}

.public-hub-avatar-default {
  object-fit:contain;
  padding:18px;
  background:#fff
}

/* V16.8 — Admin dashboard navigation */
.admin-head-actions {
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
}

.admin-head-actions .close {
  position:static;
}

/* V17 — Public My Favorite Things */
.public-favorites-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:18px;
}

.public-favorite-card {
  overflow:hidden;
  border:1px solid #dbe5f4;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(12,38,79,.06);
}

.public-favorite-card>img {
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}

.public-favorite-copy {
  padding:18px;
}

.public-favorite-copy h3 {
  margin:5px 0 10px;
  color:#072d6f;
}

.public-favorite-category {
  color:#165dff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.public-favorite-note {
  margin:14px 0;
  padding:13px 14px;
  border-left:4px solid #22a35a;
  border-radius:8px;
  background:#f0fbf4;
  color:#244334;
}

.public-favorite-note strong {
  display:block;
  margin-bottom:5px;
  color:#16713b;
}

.public-favorite-link {
  display:inline-flex;
  margin-top:10px;
}

/* V17.2 — Keyword Search */
.search-page {
  min-height:100vh;
  background:linear-gradient(180deg,#f7faff 0%,#eef4fb 100%);
}

.search-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px clamp(18px,4vw,60px);
  background:#fff;
  border-bottom:1px solid #dbe5f4;
}

.search-logo img {
  display:block;
  width:min(260px,56vw);
  height:auto;
}

.search-header-actions {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.search-shell {
  width:min(1180px,calc(100% - 32px));
  margin:0 auto;
  padding:36px 0 70px;
}

.search-hero {
  padding:30px;
  border:1px solid #dbe5f4;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 45px rgba(12,38,79,.08);
}

.search-hero h1 {
  margin:6px 0 10px;
  color:#072d6f;
  font-size:clamp(2rem,5vw,4rem);
}

.search-hero p {
  max-width:760px;
  color:#526177;
  font-size:1.08rem;
}

.keyword-search-form {
  margin-top:24px;
}

.keyword-search-form label {
  display:block;
  margin-bottom:8px;
  font-weight:900;
  color:#1e3358;
}

.keyword-search-row {
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
}

.keyword-search-row input {
  min-width:0;
  padding:14px 16px;
  border:1px solid #cbd8eb;
  border-radius:14px;
  font-size:1rem;
}

.search-results-section {
  padding-top:30px;
}

.search-results-heading h2 {
  margin:5px 0 18px;
  color:#072d6f;
}

.search-message {
  padding:18px;
  border:1px solid #dbe5f4;
  border-radius:16px;
  background:#fff;
  color:#526177;
}

.keyword-results-grid {
  display:grid;
  gap:18px;
}

.keyword-result-card {
  display:grid;
  grid-template-columns:230px 1fr;
  overflow:hidden;
  border:1px solid #dbe5f4;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 30px rgba(12,38,79,.06);
}

.keyword-result-image {
  width:100%;
  height:100%;
  min-height:240px;
  object-fit:cover;
}

.keyword-result-copy {
  padding:22px;
}

.keyword-result-category {
  color:#165dff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.keyword-result-copy h3 {
  margin:5px 0 10px;
  color:#072d6f;
  font-size:1.45rem;
}

.keyword-result-copy p {
  color:#526177;
}

.keyword-result-member {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:16px;
}

.keyword-result-member img,
.keyword-result-avatar {
  width:44px;
  height:44px;
  border-radius:50%;
  object-fit:cover;
}

.keyword-result-avatar {
  display:grid;
  place-items:center;
  background:#e8efff;
  color:#164c8c;
  font-weight:900;
}

.keyword-result-member a {
  display:block;
  color:#072d6f;
  font-weight:900;
  text-decoration:none;
}

.keyword-result-member small {
  display:block;
  color:#718096;
}

.keyword-result-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}

@media(max-width:720px) {
  .search-header {
    align-items:flex-start;
    flex-direction:column;
  }

  .keyword-search-row {
    grid-template-columns:1fr;
  }

  .keyword-result-card {
    grid-template-columns:1fr;
  }

  .keyword-result-image {
    height:220px;
  }

}

/* V17.3 — Universal Search */
.folk-search-help {
  margin:5px 0 0;
  color:#617087;
}

.folk-quick-add-label {
  margin:14px 0 7px;
  color:#27446f;
  font-size:.8rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.universal-result-group {
  margin-top:30px;
}

.universal-group-heading h2 {
  margin:5px 0 16px;
  color:#072d6f;
}

.universal-group-heading h2 span {
  display:inline-grid;
  place-items:center;
  min-width:32px;
  height:32px;
  margin-left:6px;
  border-radius:999px;
  background:#e8efff;
  color:#165dff;
  font-size:.9rem;
}

.universal-people-grid {
  display:grid;
  gap:14px;
}

.universal-person-card {
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:15px;
  padding:16px;
  border:1px solid #dbe5f4;
  border-radius:18px;
  background:#fff;
}

.universal-person-card>img,
.universal-person-card>.keyword-result-avatar {
  width:58px;
  height:58px;
  border-radius:50%;
  object-fit:cover;
}

.universal-person-name {
  color:#072d6f;
  font-size:1.05rem;
  font-weight:900;
  text-decoration:none;
}

.universal-person-copy small {
  display:block;
  color:#718096;
}

.universal-person-copy p {
  margin:5px 0 0;
  color:#526177;
}

.universal-person-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.universal-final-message {
  margin-top:20px;
}

@media(max-width:760px) {
  .universal-person-card {
    grid-template-columns:auto 1fr;
  }

  .universal-person-actions {
    grid-column:1/-1;
    justify-content:flex-start;
  }

}

/* V18 — Public Videos & Channels */
.public-videos-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
}

.public-video-card {
  overflow:hidden;
  border:1px solid #dbe5f4;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(12,38,79,.06);
}

.public-video-card>img {
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}

.public-video-copy {
  padding:18px;
}

.public-video-copy h3 {
  margin:6px 0 10px;
  color:#072d6f;
}

.public-video-meta {
  color:#165dff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

/* V19 — Public Shops & Merchandise */
.public-shops-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
}

.public-shop-card {
  overflow:hidden;
  border:1px solid #dbe5f4;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(12,38,79,.06);
}

.public-shop-card>img {
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}

.public-shop-copy {
  padding:18px;
}

.public-shop-copy h3 {
  margin:6px 0 10px;
  color:#072d6f;
}

.public-shop-meta {
  color:#165dff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

/* V20 — Public Apps, Tools & Services */
.public-ats-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
}

.public-ats-card {
  overflow:hidden;
  border:1px solid #dbe5f4;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(12,38,79,.06);
}

.public-ats-card>img {
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}

.public-ats-copy {
  padding:18px;
}

.public-ats-copy h3 {
  margin:6px 0 10px;
  color:#072d6f;
}

.public-ats-meta {
  color:#165dff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

/* V21 — Public Referral Programs */
.public-referral-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
}

.public-referral-card {
  overflow:hidden;
  border:1px solid #dbe5f4;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(12,38,79,.06);
}

.public-referral-card>img {
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}

.public-referral-copy {
  padding:18px;
}

.public-referral-copy h3 {
  margin:6px 0 10px;
  color:#072d6f;
}

.public-referral-meta {
  color:#165dff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.public-referral-disclosure {
  margin:14px 0;
  padding:13px 14px;
  border-left:4px solid #d99000;
  border-radius:8px;
  background:#fff8e8;
  color:#5a4315;
}

.public-referral-disclosure strong {
  display:block;
  margin-bottom:5px;
}

/* V22 — Events & Announcements */
.public-ea-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
}

.public-ea-card {
  overflow:hidden;
  border:1px solid #dbe5f4;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(12,38,79,.06);
}

.public-ea-card>img {
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}

.public-ea-copy {
  padding:18px
}

.public-ea-copy h3 {
  margin:6px 0 10px;
  color:#072d6f
}

.public-ea-meta {
  color:#165dff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

/* V23 — One-Offs */
.public-oneoff-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
}

.public-oneoff-card {
  overflow:hidden;
  border:1px solid #dbe5f4;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(12,38,79,.06);
}

.public-oneoff-card>img {
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}

.public-oneoff-copy {
  padding:18px
}

.public-oneoff-copy h3 {
  margin:6px 0 10px;
  color:#072d6f
}

.public-oneoff-meta {
  color:#165dff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

/* V24 — Business Offers */
.public-business-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
}

.public-business-card {
  overflow:hidden;
  border:1px solid #dbe5f4;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(12,38,79,.06);
}

.public-business-card>img {
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}

.public-business-copy {
  padding:18px
}

.public-business-copy h3 {
  margin:6px 0 10px;
  color:#072d6f
}

.public-business-meta {
  color:#165dff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

/* V25 — Social Links */
.public-social-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:18px;
}

.public-social-card {
  overflow:hidden;
  border:1px solid #dbe5f4;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(12,38,79,.06);
}

.public-social-card>img {
  width:100%;
  height:190px;
  object-fit:cover;
  display:block;
}

.public-social-copy {
  padding:18px
}

.public-social-copy h3 {
  margin:6px 0 10px;
  color:#072d6f
}

.public-social-meta {
  color:#165dff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

/* V26 — Hub section ordering */
.public-hub-shell {
  display:flex;
  flex-direction:column
}

/* V26.8 — Fixed section names with stronger optional subtitles */
.public-hub-section-subtitle {
  margin: -4px 0 18px;
  color: #3f4f66;
  font-size: 1.05rem;
  line-height: 1.5;
  font-style: normal;
  font-weight: 700;
}

/* V26.6 — Reliable public-hub section ordering */
.public-hub-sections-sortable {
  display:flex;
  flex-direction:column;
  gap:20px;
}

.public-hub-sections-sortable > .public-hub-section {
  width:100%;
}


/* =========================================================
   V29 — TRUE HOME / MY NETWORK SPLIT
   ========================================================= */

.folk-landing {
  max-width: 1220px;
  margin: 0 auto;
}

.folk-landing-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  gap: 28px;
  align-items: stretch;
  padding: 34px 0 24px;
}

.folk-landing-copy,
.folk-landing-panel,
.folk-landing-statement {
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.folk-landing-copy {
  padding: clamp(28px, 5vw, 58px);
}

.folk-landing-logo {
  display: block;
  width: min(320px, 82%);
  height: auto;
  margin: 18px 0 24px;
}

.folk-landing-copy h2 {
  max-width: 760px;
  margin: 0 0 18px;
  font-size: clamp(2.5rem, 6vw, 5.2rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.folk-landing-lead {
  max-width: 760px;
  margin: 0 0 15px;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.55;
  font-weight: 750;
}

.folk-landing-copy > p:not(.folk-landing-lead) {
  max-width: 760px;
  line-height: 1.7;
}

.folk-landing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.folk-landing-panel {
  padding: clamp(26px, 4vw, 42px);
}

.folk-landing-panel h3 {
  margin: 10px 0 12px;
  font-size: clamp(1.75rem, 3vw, 2.65rem);
  line-height: 1.06;
}

.folk-landing-panel > p {
  line-height: 1.65;
}

.folk-landing-points {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.folk-landing-points > div {
  display: grid;
  gap: 4px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(255,255,255,.03);
}

.folk-landing-points strong {
  font-size: 1.05rem;
}

.folk-landing-points span {
  opacity: .82;
  line-height: 1.45;
}

.folk-landing-destinations {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 22px;
}

.folk-landing-destination {
  width: 100%;
  min-height: 118px;
  display: grid;
  gap: 6px;
  align-content: center;
  text-align: left;
  padding: 22px 24px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--panel);
  color: inherit;
  cursor: pointer;
  box-shadow: var(--shadow);
}

.folk-landing-destination:hover,
.folk-landing-destination:focus-visible {
  transform: translateY(-2px);
  border-color: var(--accent);
}

.folk-landing-destination strong {
  font-size: 1.2rem;
}

.folk-landing-destination span {
  opacity: .8;
  line-height: 1.45;
}

.folk-landing-statement {
  display: grid;
  gap: 5px;
  margin-bottom: 32px;
  padding: 24px;
  text-align: center;
}

.folk-landing-statement strong {
  font-size: clamp(1.25rem, 2.4vw, 1.8rem);
}

.folk-network > .folk-home-brand {
  margin-top: 18px;
}

@media (max-width: 820px) {
  .folk-landing-hero {
    grid-template-columns: 1fr;
    padding-top: 18px;
  }

  .folk-landing-destinations {
    grid-template-columns: 1fr;
  }

  .folk-landing-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .folk-landing-actions > * {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .folk-landing-destination {
    min-height: 96px;
  }
}


/* =========================================================
   V29.1B — FINAL PUBLIC HOME TREATMENT
   ========================================================= */

.folk-landing-copy {
  text-align: center;
}

.folk-landing-copy .eyebrow {
  display: block;
  text-align: center;
}

.folk-landing-logo {
  margin-left: auto;
  margin-right: auto;
}

.folk-landing-copy h2 {
  width: min(100%, 900px);
  margin: 20px auto 24px;
  text-align: center;
  font-size: clamp(2.25rem, 5vw, 4.6rem);
  line-height: 1.04;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.folk-headline-blue {
  display: inline-block;
  color: var(--blue, #0b2f72);
}

.folk-landing-message {
  width: min(100%, 840px);
  margin: 0 auto 20px;
  color: #047857;
  font-family: inherit;
  font-size: clamp(1.15rem, 1.9vw, 1.38rem);
  line-height: 1.62;
  font-weight: 700;
  text-align: center;
}

.folk-landing-actions {
  justify-content: center;
  gap: 14px;
}

.folk-landing-actions > a {
  min-width: 190px;
  text-align: center;
}

.folk-create-profile {
  border-color: #047857;
  color: #047857;
}

.folk-create-profile:hover,
.folk-create-profile:focus-visible {
  background: #047857;
  color: #ffffff;
}

.folk-learn-more-shell {
  min-height: 100vh;
  padding: 36px 18px;
  background: var(--bg, #f5f7fb);
}

.folk-learn-more-card {
  width: min(100%, 980px);
  margin: 0 auto;
  padding: clamp(26px, 5vw, 54px);
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--panel);
  box-shadow: var(--shadow);
  text-align: center;
}

.folk-learn-more-logo {
  width: min(320px, 80%);
  height: auto;
  margin: 0 auto 20px;
}

.folk-learn-more-card h1 {
  width: min(100%, 820px);
  margin: 14px auto 22px;
  color: var(--blue, #0b2f72);
  text-align: center;
  font-size: clamp(2rem, 4.5vw, 3.8rem);
  line-height: 1.08;
  text-wrap: balance;
}

.folk-learn-more-card > p {
  width: min(100%, 820px);
  margin: 0 auto 18px;
  color: #047857;
  font-size: clamp(1.08rem, 1.8vw, 1.28rem);
  line-height: 1.65;
  font-weight: 700;
}

.folk-learn-more-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0;
}

.folk-learn-more-grid > div {
  display: grid;
  gap: 7px;
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 16px;
  text-align: left;
}

.folk-learn-more-grid strong {
  color: var(--blue, #0b2f72);
  font-size: 1.08rem;
}

.folk-learn-more-grid span {
  line-height: 1.5;
}

@media (max-width: 820px) {
  .folk-landing-copy h2 {
    width: min(100%, 640px);
    font-size: clamp(2.05rem, 10vw, 3.2rem);
    line-height: 1.06;
  }

  .folk-landing-message {
    font-size: clamp(1.08rem, 4.5vw, 1.3rem);
  }

  .folk-landing-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .folk-landing-actions > a {
    width: 100%;
  }

  .folk-learn-more-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   V29.1C — DARKER GREEN + LEARN MORE RESTORE
   ========================================================= */

.folk-learn-more-home-style h1 {
  width: min(100%, 860px);
}

.folk-learn-more-points,
.folk-learn-more-menu {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 28px 0;
}

.folk-learn-more-points > div,
.folk-learn-more-menu > div {
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 20px;
  background: #fff;
  text-align: left;
  display: grid;
  gap: 8px;
}

.folk-learn-more-points strong,
.folk-learn-more-menu strong {
  color: var(--blue, #0b2f72);
  font-size: 1.18rem;
}

.folk-learn-more-points span,
.folk-learn-more-menu small {
  color: var(--ink, #1f2a44);
  font-size: 1rem;
  line-height: 1.55;
}

@media (max-width: 820px) {
  .folk-learn-more-points,
  .folk-learn-more-menu {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   V30 — MEMBER HUB INTEGRATION & OWNER NAVIGATION
   ========================================================= */

.public-hub-owner-center {
  width: min(100%, 1080px);
  margin: 18px auto 26px;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid var(--border);
  border-radius: 22px;
  background: var(--panel);
  box-shadow: var(--shadow);
  text-align: center;
}

.public-hub-owner-center h2 {
  max-width: 760px;
  margin: 8px auto 10px;
  color: var(--blue, #0b2f72);
  text-align: center;
  text-wrap: balance;
}

.public-hub-owner-center > p {
  max-width: 780px;
  margin: 0 auto 22px;
  line-height: 1.6;
}

.public-hub-owner-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.public-hub-owner-grid > a {
  display: grid;
  gap: 6px;
  min-height: 106px;
  align-content: center;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--bg, #f5f7fb);
  color: inherit;
  text-align: left;
  text-decoration: none;
}

.public-hub-owner-grid > a:hover,
.public-hub-owner-grid > a:focus-visible {
  border-color: var(--blue, #0b2f72);
  transform: translateY(-1px);
}

.public-hub-owner-grid strong {
  color: var(--blue, #0b2f72);
  font-size: 1.05rem;
}

.public-hub-owner-grid span {
  line-height: 1.45;
  opacity: .82;
}

.public-module-manage-link {
  display: inline-flex;
  margin-top: 10px;
  font-weight: 800;
  color: var(--blue, #0b2f72);
}

@media (max-width: 760px) {
  .public-hub-owner-grid {
    grid-template-columns: 1fr;
  }
}


/* V32 — Admin User Master List */
.admin-user-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}.admin-user-toolbar input{min-width:300px;flex:1}.admin-user-toolbar select{min-width:150px}.admin-user-summary{font-weight:700;margin:8px 0 12px}.admin-user-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.admin-user-table{width:100%;border-collapse:collapse;min-width:1280px}.admin-user-table th,.admin-user-table td{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.admin-user-table th{position:sticky;top:0;background:var(--panel);z-index:1;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.admin-user-table td span,.admin-user-table td small{color:var(--muted)}.admin-user-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.8rem;font-weight:800;text-transform:capitalize}.status-active{background:#eaf8ef;color:#08753c}.status-suspended,.status-restricted{background:#fff0f0;color:#b42318}.status-pending{background:#fff6df;color:#8a5a00}.admin-user-profile-link{display:inline-flex;text-decoration:none}@media(max-width:760px){.admin-user-toolbar>*{width:100%;min-width:0!important}}


/* V33 — Membership levels */
.public-membership-badge {
  display: inline-flex; align-items: center; justify-content: center;
  margin: 8px auto 6px; padding: 7px 13px; border-radius: 999px;
  font-weight: 800; font-size: .88rem; letter-spacing: .02em;
  background: #e8eefc; color: var(--blue, #0b2f72); border: 1px solid rgba(11,47,114,.22);
}
.public-membership-badge.membership-founding { background:#fff5d9; color:#7a4b00; border-color:#e4bd5a; }
.public-membership-badge.membership-basic { background:#f1f3f7; color:#4c566a; }
.public-membership-badge.membership-full { background:#e7f8f0; color:#047857; border-color:#8bd0b3; }
.public-membership-badge.membership-premium { background:#f2eaff; color:#6d28d9; border-color:#c5a7f2; }
.public-membership-badge.membership-chairman { background:#1f2937; color:#fff; border-color:#1f2937; }
.admin-membership-select { min-width: 112px; padding: 7px 9px; border-radius: 9px; }


/* V35.2 — Session Amnesia & Identity Safety */
.active-identity-strip{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;padding:10px 18px;background:#0f1a31;color:#fff;font-weight:700}
.active-identity-strip a,.session-not-you{color:#fff;text-decoration:underline;font-weight:800}
.session-not-you{margin-left:10px}
@media(max-width:700px){.active-identity-strip{font-size:.92rem;gap:8px}.session-not-you{display:inline-block;margin-left:6px}}


/* V35.7 location and service-area search */
.location-search-row{display:grid;grid-template-columns:minmax(150px,220px) minmax(130px,180px) 1fr;gap:14px;align-items:end;margin-top:16px}.location-search-row label{display:grid;gap:6px;font-weight:700}.location-search-row input,.location-search-row select{width:100%;box-sizing:border-box}.remote-search-option{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:8px!important;padding-bottom:12px}.remote-search-option input{width:auto!important}.location-search-summary{margin:14px 0 0;font-weight:700;color:#047857}.service-distance{display:block;margin-top:6px;color:#047857;font-weight:700}.public-hub-service-area{margin:6px auto;color:#047857;font-weight:700;text-align:center}
@media(max-width:760px){.location-search-row{grid-template-columns:1fr}.remote-search-option{padding-bottom:0}}


/* V35.9 Homepage Discovery Search */
.homepage-discovery {
  max-width:1180px;
  margin:0 auto 26px;
  padding:clamp(22px,4vw,38px);
  border:1px solid #cddcf2;
  border-radius:24px;
  background:linear-gradient(135deg,#ffffff 0%,#eef5ff 100%);
  box-shadow:0 20px 48px rgba(12,47,111,.12);
}
.homepage-discovery-copy { max-width:920px; }
.homepage-discovery h2 {
  margin:5px 0 10px;
  color:#072d6f;
  font-size:clamp(2rem,5vw,3.7rem);
  line-height:1.04;
}
.homepage-discovery-copy p {
  margin:0;
  color:#4b5f7c;
  font-size:1.06rem;
  line-height:1.65;
}
.homepage-discovery-form {
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(110px,150px) minmax(130px,170px) auto;
  gap:12px;
  align-items:end;
  margin-top:22px;
}
.homepage-discovery-form label { display:grid; gap:7px; }
.homepage-discovery-form label > span {
  color:#173966;
  font-size:.86rem;
  font-weight:900;
}
.homepage-discovery-form input,
.homepage-discovery-form select {
  width:100%;
  min-height:50px;
  box-sizing:border-box;
  padding:12px 14px;
  border:1px solid #bfcfe6;
  border-radius:12px;
  background:#fff;
  color:#17233a;
  font:inherit;
}
.homepage-discovery-form input:focus,
.homepage-discovery-form select:focus {
  outline:3px solid rgba(36,99,255,.16);
  border-color:#2463ff;
}
.homepage-remote-option {
  grid-column:1 / -2;
  display:flex !important;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:9px !important;
  min-height:28px;
}
.homepage-remote-option input { width:auto; min-height:0; }
.homepage-remote-option span { font-size:.92rem !important; }
.homepage-discovery-submit { min-height:50px; }
@media(max-width:900px) {
  .homepage-discovery-form { grid-template-columns:1fr 1fr; }
  .homepage-search-keyword { grid-column:1 / -1; }
  .homepage-remote-option { grid-column:1 / -1; }
  .homepage-discovery-submit { width:100%; }
}
@media(max-width:580px) {
  .homepage-discovery { border-radius:18px; }
  .homepage-discovery-form { grid-template-columns:1fr; }
  .homepage-search-keyword,.homepage-remote-option { grid-column:auto; }
}

/* V36.2.8 — responsive Admin Users and accessible actions */
.admin-courtesy-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.admin-access-cell{min-width:190px}
.admin-user-profile-link{white-space:nowrap}
@media (max-width:1100px){
  .admin-shell{padding:18px 14px}
  .admin-user-table-wrap{overflow:visible;border:0;background:transparent}
  .admin-user-table{display:block;min-width:0;width:100%}
  .admin-user-table thead{display:none}
  .admin-user-table tbody{display:grid;gap:14px}
  .admin-user-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--border);border-radius:16px;background:var(--panel);overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.06)}
  .admin-user-table td{display:grid;grid-template-columns:minmax(105px,34%) minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border-bottom:1px solid var(--border);overflow-wrap:anywhere}
  .admin-user-table td::before{content:attr(data-label);font-weight:800;color:var(--ink);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
  .admin-user-table td[data-label="User"],.admin-user-table td[data-label="Email"],.admin-user-table td[data-label="Paid Access"],.admin-user-table td[data-label="Profile"]{grid-column:1/-1}
  .admin-user-table td[data-label="Profile"]{border-bottom:0}
  .admin-user-table td[data-label="Profile"] .admin-user-profile-link{width:100%;justify-content:center}
  .admin-membership-select{width:100%;min-width:0}
}
@media (max-width:620px){
  .admin-dashboard{padding:0}
  .admin-shell{min-height:100vh;border-radius:0;padding:16px 12px}
  .admin-head{align-items:center}
  .admin-head h2{font-size:28px}
  .admin-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px}
  .admin-tab{flex:0 0 auto}
  .admin-user-table tr{grid-template-columns:1fr}
  .admin-user-table td,.admin-user-table td[data-label]{grid-column:1/-1}
  .admin-user-table td{grid-template-columns:100px minmax(0,1fr)}
}

/* V36.3 Admin user cards */
.admin-user-table-wrap{overflow:visible!important}.admin-user-cards{display:grid;gap:16px;margin-top:12px}.admin-user-card{background:#f8faff;border:1px solid #d8e2f3;border-radius:18px;padding:18px;box-shadow:0 5px 18px rgba(12,43,104,.06)}.admin-user-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid #e2e9f5;padding-bottom:12px}.admin-user-card-head h3{margin:2px 0;font-size:1.25rem}.admin-user-id,.admin-label{display:block;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#5e6f89}.admin-user-handle{color:#5e6f89}.admin-user-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:16px 0}.admin-user-card-grid>div{min-width:0}.admin-user-card-grid strong,.admin-user-card-grid small{overflow-wrap:anywhere}.admin-user-card-actions{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid #e2e9f5;padding-top:14px}.admin-user-card-actions a,.admin-user-card-actions button{width:auto!important}.admin-user-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-weight:800;text-transform:capitalize}.status-active{background:#e4f7ea;color:#287447}.status-inactive,.status-archived{background:#edf0f5;color:#5d6878}.status-suspended{background:#ffe8e8;color:#a32626}@media(max-width:980px){.admin-user-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.admin-user-card{padding:14px}.admin-user-card-grid{grid-template-columns:1fr}.admin-user-card-actions>*{flex:1 1 100%;text-align:center}.admin-user-toolbar{grid-template-columns:1fr!important}.admin-shell{padding:14px!important}.admin-tabs{overflow-x:auto;flex-wrap:nowrap!important}}

/* V36.5.0: Admin is a full-screen command center, not an inset modal. */
.admin-dashboard{background:#eef3f9!important;padding:0!important}
.admin-shell{max-width:none!important;width:100%!important;min-height:100vh!important;margin:0!important;border-radius:0!important;padding:28px 32px!important}
.admin-head-actions .close{display:none!important}
@media(max-width:760px){.admin-shell{padding:16px 12px!important}}

/* V36.5.0 Public Member Hub navigation and expandable sections */
.public-hub-context-nav{max-width:980px;margin:16px auto;display:flex;gap:10px;flex-wrap:wrap}.public-hub-context-nav a{width:auto}
.public-hub-explore-top{order:1!important}.public-module-jump{appearance:none;text-align:left;width:100%;cursor:pointer;font:inherit;color:inherit}.public-module-jump:hover{border-color:#2563eb;box-shadow:0 8px 22px rgba(37,99,235,.12)}
.public-hub-sections-sortable{order:2}.public-hub-section{scroll-margin-top:18px}.public-hub-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.public-hub-chevron{margin-left:auto;transition:transform .2s}.public-hub-section.is-open .public-hub-chevron{transform:rotate(90deg)}.public-hub-count{font-size:.78em;color:#64748b}.public-hub-collapsible-body{display:none}.public-hub-section.is-open>.public-hub-collapsible-body{display:block}.legacy-explore-bottom{display:none!important}


/* V36.5.3 — coherent full-page Admin Command Center */
body.admin-command-center-open{overflow:auto;background:#eef3f9}
body.admin-command-center-open > :not(#adminDashboard):not(script){display:none!important}
.admin-dashboard{
  position:relative!important;
  inset:auto!important;
  display:none;
  min-height:100vh;
  width:100%;
  padding:0!important;
  overflow:visible!important;
  background:#eef3f9!important;
  z-index:auto!important
}
.admin-dashboard.open{display:block!important}
.admin-shell{
  width:min(1600px,100%)!important;
  max-width:1600px!important;
  min-height:100vh!important;
  margin:0 auto!important;
  padding:24px clamp(16px,3vw,42px) 48px!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:0 0 0 1px rgba(15,43,94,.06)!important
}
.admin-head{align-items:center!important}
.admin-head-actions .close{display:none!important}
.admin-tabs{position:sticky;top:0;z-index:5;background:#fff;padding:12px 0;margin:10px 0 20px;border-bottom:1px solid #dfe7f3}
.admin-panel.active{display:block}
.admin-user-toolbar{display:grid!important;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(140px,1fr)) auto;gap:10px;align-items:center}
.admin-user-summary{margin:14px 0;font-size:1rem}
.admin-user-cards{display:grid!important;grid-template-columns:1fr;gap:18px;width:100%;margin-top:12px}
.admin-user-card{width:100%;background:#f8faff;border:1px solid #d8e2f3;border-radius:18px;padding:20px;box-shadow:0 7px 22px rgba(12,43,104,.07)}
.admin-user-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:1px solid #e2e9f5;padding-bottom:14px}
.admin-user-card-head h3{margin:3px 0;font-size:1.35rem}
.admin-user-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;padding:18px 0}
.admin-user-card-grid>div{min-width:0}
.admin-user-card-grid strong,.admin-user-card-grid small{display:block;overflow-wrap:anywhere}
.admin-user-card-actions{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid #e2e9f5;padding-top:15px}
.admin-user-card-actions a,.admin-user-card-actions button{width:auto!important}
.admin-user-loading{padding:24px;border:1px dashed #b9c8df;border-radius:14px;background:#f8faff;color:#52637e}
@media(max-width:1200px){
  .admin-user-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-user-toolbar input{grid-column:1/-1;min-width:0}
  .admin-user-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .admin-shell{padding:14px 12px 36px!important}
  .admin-head{align-items:flex-start!important}
  .admin-head h2{font-size:26px}
  .admin-tabs{overflow-x:auto;flex-wrap:nowrap!important}
  .admin-tab{flex:0 0 auto}
  .admin-user-toolbar{grid-template-columns:1fr!important}
  .admin-user-toolbar>*{grid-column:auto!important;width:100%;min-width:0!important}
  .admin-user-card{padding:14px}
  .admin-user-card-grid{grid-template-columns:1fr}
  .admin-user-card-actions>*{flex:1 1 100%;text-align:center}
}


/* V36.5.4 — restored admin hierarchy and escape routes */
.admin-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-logo-link img{display:block;max-width:145px;height:auto}
.admin-user-card-actions .admin-action-primary{background:#1f5fbf!important;color:#fff!important;border-color:#1f5fbf!important}
.admin-user-card-actions .admin-action-secondary{background:#fff!important;color:#1f3f72!important;border-color:#9fb3d3!important}
.admin-action-accent{background:#e8f1ff!important;color:#174e9b!important;border-color:#76a1df!important}
.admin-action-danger{background:#fff0f0!important;color:#a42121!important;border-color:#d98787!important}
.admin-user-card-actions a:hover,.admin-user-card-actions button:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(20,55,105,.14)}
