:root{
  color-scheme:dark;
  /* Phase 1 overhaul tokens. These are additive so existing production pages keep working. */
  --av-warm-ivory:#fbf4ec;
  --av-warm-ivory-2:#FBF4EC;
  --av-deep-espresso:#241817;
  --av-deep-espresso-2:#362320;
  --av-terracotta:#b85c45;
  --av-terracotta-soft:#B85C45;
  --av-soft-gold:#B85C45;
  --av-legacy-primary:#B85C45;
  --av-legacy-success:#22C55E;
  --av-ink-brown:#201614;
  --av-warm-taupe:#7a6861;
  --av-bg:#130F0E;
  --av-bg-2:#130F0E;
  --av-bg-3:#241817;
  --av-text:#FBF4EC;
  --av-text-soft:rgba(247,244,238,.72);
  --av-text-muted:rgba(247,244,238,.56);
  --av-line:rgba(255,238,218,.13);
  --av-line-strong:rgba(255,238,218,.22);
  --av-surface:rgba(255,241,224,.075);
  --av-surface-strong:rgba(255,241,224,.12);
  --av-coral:#B85C45;
  --av-coral-soft:#B85C45;
  --av-gold:#B85C45;
  --av-focus-color:#B85C45;
  --av-focus-color:#B85C45;
  --av-danger:#b85c45;
  --av-shadow:0 28px 80px -48px rgba(0,0,0,.9);
  --av-shadow-hover:0 30px 78px -48px rgba(233,109,88,.30);
  --av-radius-xl:32px;
  --av-radius-lg:28px;
  --av-radius-md:22px;
  --av-radius-sm:16px;
  --av-focus:0 0 0 4px rgba(184,92,69,.16);
  --av-motion-fast:160ms cubic-bezier(.2,.8,.2,1);
  --av-motion-med:320ms cubic-bezier(.2,.8,.2,1);
  --av-page-pad-x:clamp(1rem,2.5vw,2rem);
  --av-page-pad-y:clamp(1.25rem,2.4vw,2rem);
  --av-font-display:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  --av-font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

[data-av-foundation="warm"]{
  color-scheme:light;
  --av-bg:var(--av-warm-ivory);
  --av-bg-2:var(--av-warm-ivory-2);
  --av-bg-3:#FBF4EC;
  --av-text:var(--av-ink-brown);
  --av-text-soft:rgba(32,22,20,.74);
  --av-text-muted:rgba(32,22,20,.56);
  --av-line:rgba(36,24,23,.12);
  --av-line-strong:rgba(36,24,23,.22);
  --av-surface:rgba(255,255,255,.58);
  --av-surface-strong:rgba(255,255,255,.78);
  --av-coral:var(--av-terracotta);
  --av-coral-soft:var(--av-terracotta-soft);
  --av-gold:var(--av-soft-gold);
  --av-focus-color:var(--av-legacy-primary);
  --av-focus:0 0 0 4px rgba(184,92,69,.20);
}

.av-surface-warm{
  background:var(--av-warm-ivory);
  color:var(--av-ink-brown);
}

.av-surface-espresso{
  background:var(--av-deep-espresso);
  color:var(--av-warm-ivory);
}

.av-text-muted-warm{
  color:var(--av-warm-taupe);
}

html{
  background:#130F0E;
}

body{
  font-family:var(--av-font-body);
  color:var(--av-text);
  text-rendering:optimizeLegibility;
}

.av-page-bg,
.dashboard-page-bg,
.auth-page-bg,
.dating-search-bg,
.profile-complete-bg{
  position:relative;
  isolation:isolate;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 12% -8%, rgba(233,109,88,.14), transparent 30%),
    radial-gradient(circle at 90% 4%, rgba(184,92,69,.08), transparent 26%),
    radial-gradient(circle at 55% 100%, rgba(135,201,167,.07), transparent 30%),
    linear-gradient(180deg,#130F0E 0%, var(--av-bg-2) 46%, var(--av-bg-3) 100%);
}

.av-page-bg::before,
.auth-page-bg::before,
.dating-search-bg::before,
.profile-complete-bg::before,
.av-admin-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.22;
  background:
    radial-gradient(circle at 18% 18%, rgba(184,92,69,.10), transparent 18%),
    radial-gradient(circle at 82% 26%, rgba(135,201,167,.06), transparent 16%),
    radial-gradient(circle at 44% 8%, rgba(233,109,88,.08), transparent 14%);
  filter:blur(18px);
}

.av-page-bg::after,
.auth-page-bg::after,
.dating-search-bg::after,
.profile-complete-bg::after,
.av-admin-page::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.055;
  background-image:
    linear-gradient(115deg, transparent 0 42%, rgba(255,238,218,.24) 43%, transparent 44% 100%),
    linear-gradient(68deg, transparent 0 54%, rgba(255,238,218,.16) 55%, transparent 56% 100%);
  background-size:42rem 28rem,36rem 24rem;
  background-position:-10rem 2rem,calc(100% + 8rem) 3rem;
}

.av-static-page{
  --av-mood-coral:.16;
  --av-mood-success:.08;
}

.av-form-page{
  --av-mood-coral:.12;
  --av-mood-success:.10;
}

.av-admin-page{
  --av-mood-coral:.10;
  --av-mood-success:.16;
}

.av-grid,
.auth-grid{
  background-image:
    linear-gradient(rgba(255,238,218,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,238,218,.02) 1px, transparent 1px);
  background-size:80px 80px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.85), transparent 82%);
}

.av-display,
.av-page-title{
  font-family:var(--av-font-display);
  letter-spacing:-.025em;
}

.av-solid-text,
.av-solid-text{
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:currentColor !important;
  color:#B85C45 !important;
  text-shadow:none !important;
}

.av-glass,
.av-panel,
.av-form-card,
.av-profile-card,
.av-empty-state,
.glass,
.av-card,
.settings-card,
.content-panel,
.legal-shell{
  position:relative;
  background:
    linear-gradient(145deg, rgba(255,241,224,.105), rgba(255,241,224,.052)),
    radial-gradient(circle at 10% 0%, rgba(233,109,88,.052), transparent 42%);
  border:1px solid var(--av-line);
  box-shadow:var(--av-shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color:var(--av-text);
  z-index:0;
}

.av-glass::before,
.av-panel::before,
.av-form-card::before,
.glass::before,
.av-card::before,
.settings-card::before,
.content-panel::before,
.legal-shell::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,238,218,.08),transparent 42%,rgba(255,238,218,.028));
  opacity:.46;
  z-index:0;
}

.av-glass > *,
.av-panel > *,
.av-form-card > *,
.glass > *,
.av-card > *,
.settings-card > *,
.content-panel > *,
.legal-shell > *{
  position:relative;
  z-index:1;
}

.av-panel{
  border-radius:var(--av-radius-xl);
}

.av-form-card{
  border-radius:var(--av-radius-xl);
  padding:clamp(1.25rem,2vw,2rem);
}

.av-empty-state{
  position:relative;
  overflow:hidden;
  border-radius:var(--av-radius-xl);
  padding:clamp(2rem,4vw,3rem);
  text-align:center;
}

.av-empty-state::before{
  content:"";
  position:absolute;
  inset:auto auto 60% 50%;
  width:11rem;
  height:11rem;
  transform:translateX(-50%);
  border-radius:999px;
  background:rgba(233,109,88,.13);
  filter:blur(44px);
  pointer-events:none;
}

.av-input,
.av-select,
.av-textarea,
.av-input,
.input-dark,
.select-dark,
.textarea-dark{
  min-height:3.15rem;
  border:1.5px solid rgba(255,238,218,.16) !important;
  background:rgba(255,241,224,.09) !important;
  color:#fff !important;
  box-shadow:none !important;
  outline:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

.av-input,
.av-select,
.av-input,
.input-dark,
.select-dark{
  border-radius:999px !important;
}

.av-textarea,
.textarea-dark{
  border-radius:24px !important;
}

.av-input::placeholder,
.av-textarea::placeholder,
.av-input::placeholder,
.input-dark::placeholder,
.textarea-dark::placeholder{
  color:rgba(255,255,255,.42) !important;
  opacity:1 !important;
}

.av-select option,
.select-dark option{
  background:var(--av-deep-espresso);
  color:#fff;
}

.av-input:focus,
.av-select:focus,
.av-textarea:focus,
.av-input:focus,
.input-dark:focus,
.select-dark:focus,
.textarea-dark:focus{
  background:rgba(255,241,224,.13) !important;
  border-color:var(--av-focus-color) !important;
  box-shadow:var(--av-focus),0 12px 26px rgba(0,0,0,.20) !important;
  transform:translateY(-1px);
}

.av-btn,
.av-btn-primary,
.av-btn-ghost,
.btn-primary{
  min-height:2.75rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  font-weight:700;
  transition:transform var(--av-motion-fast),box-shadow var(--av-motion-fast),background var(--av-motion-fast),border-color var(--av-motion-fast),filter var(--av-motion-fast);
}

.av-btn-primary,
.btn-primary{
  border:0;
  background:#B85C45;
  color:#FBF4EC !important;
  box-shadow:0 12px 26px rgba(196,94,66,.18);
}

.av-btn-primary:hover,
.btn-primary:hover{
  transform:translateY(-1px);
  background:#B85C45;
  box-shadow:0 14px 30px rgba(196,94,66,.22);
  filter:none;
}

.av-btn-primary:active{
  transform:translateY(0) scale(.99);
}

.av-btn-ghost{
  border:1px solid var(--av-line);
  background:rgba(255,241,224,.075);
  color:rgba(255,255,255,.86);
}

.av-btn-ghost:hover{
  transform:translateY(-1px);
  border-color:var(--av-line-strong);
  background:rgba(255,241,224,.12);
  color:#fff;
}

.av-chip,
.filter-chip{
  position:relative;
  min-height:2.75rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  border:1px solid rgba(255,238,218,.14);
  border-radius:999px;
  background:rgba(255,241,224,.075);
  color:rgba(255,255,255,.82);
  font-size:.9rem;
  font-weight:700;
  text-align:center;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}

.av-chip:hover,
.filter-chip:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.30);
  background:rgba(255,241,224,.115);
}

.av-chip:has(input:focus-visible),
.filter-chip:has(input:focus-visible){
  box-shadow:var(--av-focus);
  border-color:rgba(184,92,69,.72);
}

.av-chip:has(input:checked),
.filter-chip:has(input:checked),
.av-chip.is-active{
  border-color:rgba(184,92,69,.70);
  background:linear-gradient(135deg,rgba(184,92,69,.20),rgba(233,109,88,.16));
  color:#fff;
}

.av-chip input,
.filter-chip input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.av-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  padding:.35rem;
  border:1px solid var(--av-line);
  border-radius:999px;
  background:rgba(255,241,224,.055);
  backdrop-filter: none;
}

.av-tab{
  min-height:2.35rem;
  border-radius:999px;
  padding:.5rem 1rem;
  color:rgba(255,255,255,.72);
  font-weight:700;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}

.av-tab:hover,
.av-tab.is-active{
  background:rgba(255,241,224,.11);
  color:#fff;
}

.av-profile-card,
.dashboard-discovery-card{
  min-height:520px;
  position:relative;
  overflow:hidden;
  border-radius:30px;
  background:#130F0E;
  transform:translateZ(0);
}

.av-profile-card,
.card{
  border-color:rgba(255,255,255,.14);
}

.card:not(.dashboard-discovery-card):not(.av-profile-card){
  background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.055));
  color:var(--av-text);
  box-shadow:0 22px 60px -44px rgba(0,0,0,.9);
}

.av-profile-card:hover,
.dashboard-discovery-card:hover{
  border-color:rgba(255,238,218,.24);
  box-shadow:var(--av-shadow-hover);
  transform:translateY(-4px);
}

.av-profile-media{
  position:absolute;
  inset:0;
  z-index:0;
}

.av-profile-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s ease,filter .55s ease;
}

.av-profile-card:hover .av-profile-media img{
  transform:scale(1.045);
}

.av-profile-overlay{
  position:absolute;
  inset:auto 0 0;
  z-index:2;
  padding:1.15rem;
  color:#fff;
  background:
    linear-gradient(180deg,transparent 0%,rgba(14,10,12,.54) 45%,rgba(10,8,10,.92) 100%),
    linear-gradient(90deg,rgba(22,12,13,.40),transparent 58%);
}

/* Phase 1 shared component foundation. These classes back new partials but are not yet wired into live pages. */
.av-person-card{
  position:relative;
  display:grid;
  min-height:31rem;
  overflow:hidden;
  border:1px solid var(--av-line);
  border-radius:18px;
  background:var(--av-deep-espresso);
  color:var(--av-warm-ivory);
  box-shadow:0 24px 62px -46px rgba(36,24,23,.72);
}

.av-person-card__media{
  position:absolute;
  inset:0;
  display:block;
}

.av-person-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(36,24,23,.12) 0%,rgba(36,24,23,.18) 42%,rgba(36,24,23,.88) 100%),
    linear-gradient(90deg,rgba(36,24,23,.34),transparent 58%);
}

.av-person-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform var(--av-motion-med);
}

.av-person-card:hover .av-person-card__media img{
  transform:scale(1.035);
}

.av-person-card__body{
  position:relative;
  z-index:1;
  align-self:end;
  display:grid;
  gap:.75rem;
  padding:1rem;
}

.av-person-card__identity h3{
  margin:0;
  color:var(--av-warm-ivory);
  font-family:var(--av-font-display);
  font-size:clamp(1.35rem,2vw,1.85rem);
  line-height:1.08;
}

.av-person-card__identity p,
.av-person-card__bio{
  margin:0;
  color:rgba(251,244,236,.78);
}

.av-person-card__bio{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  font-size:.92rem;
  line-height:1.45;
}

.av-person-card__chips,
.av-action-bar,
.av-trust-badges{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
}

.av-soft-badge,
.av-trust-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.9rem;
  border:1px solid rgba(251,244,236,.16);
  border-radius:999px;
  background:rgba(251,244,236,.10);
  color:rgba(251,244,236,.86);
  padding:.35rem .65rem;
  font-size:.75rem;
  font-weight:700;
}

.av-trust-badge{
  border-color:rgba(184,92,69,.24);
  background:rgba(184,92,69,.12);
  color:#22C55E;
}

.av-icon-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.45rem;
  border:1px solid rgba(251,244,236,.16);
  border-radius:999px;
  background:rgba(251,244,236,.10);
  color:var(--av-warm-ivory);
  padding:.5rem .8rem;
  font-size:.83rem;
  font-weight:800;
  text-decoration:none;
  transition:background var(--av-motion-fast),border-color var(--av-motion-fast),transform var(--av-motion-fast);
}

.av-icon-action:hover{
  transform:translateY(-1px);
  border-color:rgba(251,244,236,.28);
  background:rgba(251,244,236,.16);
}

.av-modal__panel{
  border-radius:20px !important;
}

.av-modal__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}

.av-modal__title{
  margin:0;
  color:var(--av-warm-ivory);
  font-family:var(--av-font-display);
  font-size:1.25rem;
  line-height:1.15;
}

.av-modal__close{
  min-height:2.25rem;
  border:1px solid rgba(251,244,236,.14);
  border-radius:999px;
  background:rgba(251,244,236,.08);
  color:rgba(251,244,236,.82);
  padding:.35rem .75rem;
  font-size:.8rem;
  font-weight:800;
}

.av-modal__body{
  margin-top:1rem;
}

.av-field{
  display:grid;
  gap:.4rem;
}

.av-field__label{
  color:var(--av-text-soft);
  font-size:.88rem;
  font-weight:800;
}

.av-field__help{
  color:var(--av-text-muted);
  font-size:.78rem;
  line-height:1.35;
}

.av-empty-state--warm{
  border-color:rgba(36,24,23,.10);
  background:
    linear-gradient(145deg,rgba(255,255,255,.72),rgba(251,244,236,.92)),
    radial-gradient(circle at 18% 0%,rgba(184,92,69,.10),transparent 38%);
  color:var(--av-ink-brown);
}

.av-empty-state__title{
  margin:0;
  color:var(--av-ink-brown);
  font-family:var(--av-font-display);
  font-size:clamp(1.35rem,2vw,1.9rem);
}

.av-empty-state__message{
  margin:.55rem auto 0;
  max-width:34rem;
  color:var(--av-warm-taupe);
  line-height:1.6;
}

.av-mobile-nav{
  position:fixed;
  right:max(.75rem,env(safe-area-inset-right));
  bottom:max(.75rem,env(safe-area-inset-bottom));
  left:max(.75rem,env(safe-area-inset-left));
  z-index:50;
  display:none;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.25rem;
  border:1px solid rgba(36,24,23,.10);
  border-radius:20px;
  background:rgba(251,244,236,.92);
  box-shadow:0 20px 60px -34px rgba(36,24,23,.42);
  padding:.35rem;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.av-mobile-nav a{
  position:relative;
  display:flex;
  min-height:2.65rem;
  align-items:center;
  justify-content:center;
  border-radius:15px;
  color:var(--av-warm-taupe);
  font-size:.72rem;
  font-weight:850;
  text-decoration:none;
}

.av-mobile-nav a.is-active{
  background:var(--av-deep-espresso);
  color:var(--av-warm-ivory);
}

.av-mobile-nav__badge{
  position:absolute;
  top:.25rem;
  right:.45rem;
  min-width:1.1rem;
  border-radius:999px;
  background:var(--av-terracotta);
  color:white;
  padding:.05rem .28rem;
  font-size:.65rem;
  line-height:1rem;
  text-align:center;
}

@media (max-width: 768px){
  .av-mobile-nav{
    display:grid;
  }
}

.av-light-readable{
  color-scheme:light;
}

.modal-box,
dialog.modal > .modal-box{
  background:
    linear-gradient(145deg,rgba(24,16,20,.96),rgba(17,12,16,.94)),
    radial-gradient(circle at 12% 0%,rgba(233,109,88,.11),transparent 40%) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:#fff !important;
  box-shadow:0 28px 90px -40px rgba(0,0,0,.96) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.modal-box .input,
.modal-box .select,
.modal-box .textarea,
.modal-box input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']),
.modal-box select,
.modal-box textarea{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.17) !important;
}

.modal-box select option{
  background:var(--av-deep-espresso);
  color:#fff;
}

.modal-box input::placeholder,
.modal-box textarea::placeholder{
  color:rgba(255,255,255,.42) !important;
}

.modal-backdrop,
dialog::backdrop{
  background:rgba(2,6,14,.74) !important;
  backdrop-filter: none;
}

.av-mood-chat .av-page-bg,
body:has(#chatForm){
  background:
    radial-gradient(circle at 18% 0%, rgba(233,109,88,.10), transparent 30%),
    radial-gradient(circle at 90% 8%, rgba(184,92,69,.07), transparent 25%),
    linear-gradient(180deg,#130F0E 0%,#130F0E 54%,#241817 100%);
}

body:has(#chatForm) .message,
body:has(#chatForm) [data-message],
body:has(#chatForm) .chat-bubble{
  box-shadow:0 16px 40px -32px rgba(0,0,0,.75);
}

body:has(#chatForm) #chatForm{
  background:rgba(18,13,16,.82);
  border:1px solid rgba(255,238,218,.12);
  border-radius:28px;
  box-shadow:0 22px 54px -42px rgba(0,0,0,.9);
  backdrop-filter: none;
}

body:has(#upgradeForm),
body:has([action="/create-checkout-session"]),
.av-upgrade-page{
  background:
    radial-gradient(circle at 18% -4%, rgba(184,92,69,.18), transparent 30%),
    radial-gradient(circle at 88% 4%, rgba(184,92,69,.14), transparent 28%),
    linear-gradient(180deg,#241817 0%,#241817 48%,#201614 100%);
}

body:has([action="/settings/preferences"]),
body:has([action="/settings/email"]),
body:has([action="/settings/password"]){
  background:
    radial-gradient(circle at 18% 0%, rgba(184,92,69,.08), transparent 30%),
    radial-gradient(circle at 86% 10%, rgba(233,109,88,.075), transparent 26%),
    linear-gradient(180deg,#130F0E 0%,#130F0E 48%,#241817 100%);
}

.av-form-page .card,
.av-form-page .av-card,
.av-form-page .settings-card,
.av-static-page .glass,
.av-static-page .av-card,
.av-static-page .legal-shell,
.av-static-page .content-panel{
  background:linear-gradient(145deg, rgba(255,241,224,.10), rgba(255,241,224,.055)) !important;
  border:1px solid var(--av-line) !important;
  box-shadow:var(--av-shadow) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color:var(--av-text);
}

.av-form-page .card,
.av-form-page .av-card,
.av-static-page .glass,
.av-static-page .av-card,
.av-static-page .legal-shell,
.av-static-page .content-panel{
  border-radius:var(--av-radius-xl) !important;
}

.av-form-page .input,
.av-form-page .select,
.av-form-page .textarea,
.av-form-page input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']),
.av-form-page select,
.av-form-page textarea{
  border:1.5px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  box-shadow:none !important;
  outline:none;
}

.av-form-page .input,
.av-form-page .select,
.av-form-page input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']),
.av-form-page select{
  border-radius:999px !important;
}

.av-form-page .textarea,
.av-form-page textarea{
  border-radius:24px !important;
}

.av-form-page input::placeholder,
.av-form-page textarea::placeholder{
  color:rgba(255,255,255,.45) !important;
  opacity:1 !important;
}

.av-form-page select option{
  background:var(--av-deep-espresso);
  color:#fff;
}

.av-form-page .input:focus,
.av-form-page .select:focus,
.av-form-page .textarea:focus,
.av-form-page input:focus,
.av-form-page select:focus,
.av-form-page textarea:focus{
  border-color:var(--av-focus-color) !important;
  box-shadow:var(--av-focus),0 14px 34px rgba(0,0,0,.22) !important;
}

.av-form-page .modal-box .input,
.av-form-page .modal-box .select,
.av-form-page .modal-box .textarea,
.av-form-page .modal-box input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']),
.av-form-page .modal-box select,
.av-form-page .modal-box textarea{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.16) !important;
  box-shadow:none !important;
}

.av-form-page .modal-box input::placeholder,
.av-form-page .modal-box textarea::placeholder{
  color:rgba(255,255,255,.42) !important;
}

.av-form-page .btn:not(.btn-ghost):not(.btn-outline),
.av-static-page .btn-primary,
.av-static-page .btn:not(.btn-ghost):not(.btn-outline){
  border:0 !important;
  border-radius:999px !important;
  background:var(--av-terracotta) !important;
  color:#fff !important;
  box-shadow:0 14px 28px -20px rgba(184,92,69,.88);
}

.av-form-page .btn-ghost,
.av-form-page .btn-outline,
.av-static-page .btn-ghost,
.av-static-page .btn-outline{
  border:1px solid var(--av-line) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.09) !important;
  color:rgba(255,255,255,.86) !important;
}

.av-static-page .content-prose h1,
.av-static-page .content-prose h2,
.av-static-page .content-prose h3,
.av-static-page .content-prose h4,
.av-static-page .legal-title,
.av-static-page .legal-section h2{
  color:rgba(255,255,255,.95) !important;
}

.av-static-page .content-prose p,
.av-static-page .content-prose li,
.av-static-page .legal-section p,
.av-static-page .legal-document p,
.av-static-page .legal-document li{
  color:rgba(255,255,255,.72) !important;
}

.av-static-page .content-prose a,
.av-static-page .legal-section a{
  color:#FBF4EC !important;
}

@media (max-width:640px){
  .av-profile-card,
  .dashboard-discovery-card{
    min-height:560px;
  }
}

/* Admin surfaces: stable CSS classes so admin readability does not depend on
   generated arbitrary Tailwind color utilities. */
.av-admin-page{
  color-scheme:dark;
  min-height:100vh;
  color:#FBF4EC !important;
  background:
    radial-gradient(circle at 10% -4%, rgba(184,92,69,.12), transparent 30%),
    radial-gradient(circle at 92% 8%, rgba(184,92,69,.12), transparent 30%),
    linear-gradient(180deg,#100b10 0%,#140e16 48%,#0f0a0d 100%) !important;
}

.av-admin-page main{
  color:#FBF4EC;
}

.av-admin-page h1,
.av-admin-title{
  color:#fff4ea !important;
  background:linear-gradient(135deg,#fff2df 0%,#B85C45 48%,#fbf4ec 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.av-admin-page h2,
.av-admin-page h3,
.av-admin-page th,
.av-admin-page .font-semibold,
.av-admin-page .font-bold,
.av-admin-page .font-extrabold{
  color:#FBF4EC;
}

.av-admin-page section,
.av-admin-card,
.av-admin-surface{
  background:
    linear-gradient(145deg,rgba(30,18,23,.92),rgba(18,11,16,.86)),
    radial-gradient(circle at 0% 0%,rgba(184,92,69,.06),transparent 38%) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  box-shadow:0 26px 72px -44px rgba(0,0,0,.92) !important;
  color:#FBF4EC !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.av-admin-page .rounded-3xl,
.av-admin-page section{
  border-radius:24px;
}

.av-admin-page .rounded-2xl{
  border-radius:18px;
}

.av-admin-page .bg-black\/20,
.av-admin-page pre,
.av-admin-page details,
.av-admin-page .overflow-x-auto{
  background:rgba(7,6,8,.42) !important;
  border-color:rgba(255,255,255,.12) !important;
  color:#FBF4EC !important;
}

.av-admin-page .table{
  color:#FBF4EC !important;
  background:transparent !important;
}

.av-admin-page .table :where(th,td){
  border-color:rgba(255,255,255,.10) !important;
  color:#FBF4EC;
}

.av-admin-page .table thead :where(th,td){
  background:rgba(9,7,10,.76) !important;
  color:rgba(255,248,239,.82) !important;
  font-size:.76rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.av-admin-page .table tbody tr{
  background:rgba(255,255,255,.018);
}

.av-admin-page .table tbody tr:hover{
  background:rgba(184,92,69,.09) !important;
}

.av-admin-page .input,
.av-admin-page .select,
.av-admin-page textarea,
.av-admin-page input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']),
.av-admin-page select{
  background:rgba(8,7,10,.82) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#FBF4EC !important;
  box-shadow:none !important;
}

.av-admin-page .input::placeholder,
.av-admin-page textarea::placeholder,
.av-admin-page input::placeholder{
  color:rgba(255,248,239,.48) !important;
}

.av-admin-page .select option,
.av-admin-page select option{
  background:#140c11;
  color:#FBF4EC;
}

.av-admin-page .input:focus,
.av-admin-page .select:focus,
.av-admin-page textarea:focus,
.av-admin-page input:focus,
.av-admin-page select:focus{
  border-color:rgba(184,92,69,.72) !important;
  outline:none !important;
  box-shadow:0 0 0 4px rgba(184,92,69,.14) !important;
}

.av-admin-page .btn,
.av-admin-btn{
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,248,239,.08) !important;
  color:#FBF4EC !important;
  box-shadow:none !important;
}

.av-admin-page .btn:hover,
.av-admin-btn:hover{
  background:rgba(184,92,69,.16) !important;
  border-color:rgba(184,92,69,.38) !important;
}

.av-admin-page button[type='submit'],
.av-admin-primary{
  border-color:transparent !important;
  background:var(--av-terracotta) !important;
  color:#FBF4EC !important;
  font-weight:800;
}

.av-admin-warning{
  border-color:rgba(246,200,95,.42) !important;
  background:rgba(246,200,95,.18) !important;
  color:#FBF4EC !important;
  font-weight:800;
}

.av-admin-danger{
  border-color:rgba(184,92,69,.46) !important;
  background:rgba(184,92,69,.22) !important;
  color:#ffd2c9 !important;
  font-weight:800;
}

@media (prefers-reduced-motion:no-preference){
  .av-page-bg::before,
  .auth-page-bg::before,
  .dating-search-bg::before,
  .profile-complete-bg::before,
  .dashboard-page-bg::before{
    animation:avGlowDrift 16s ease-in-out infinite alternate;
  }

  .av-glass,
  .av-panel,
  .av-form-card,
  .av-profile-card,
  .dashboard-discovery-card,
  .card{
    transition:transform var(--av-motion-med),box-shadow var(--av-motion-med),border-color var(--av-motion-med),background var(--av-motion-med);
  }
}

@keyframes avGlowDrift{
  from{transform:translate3d(-.6rem,-.35rem,0) scale(1);}
  to{transform:translate3d(.75rem,.45rem,0) scale(1.03);}
}

@media (max-width:768px){
  .av-panel,
  .av-form-card,
  .av-empty-state,
  .glass,
  .av-card,
  .content-panel,
  .legal-shell{
    border-radius:24px !important;
  }

  .av-form-card,
  .av-empty-state{
    padding:1.15rem;
  }

  .av-btn,
  .av-btn-primary,
  .av-btn-ghost,
  .btn-primary{
    min-height:2.6rem;
  }
}

.av-admin-success{
  border-color:rgba(184,92,69,.42) !important;
  background:rgba(184,92,69,.18) !important;
  color:#22C55E !important;
  font-weight:800;
}

.av-admin-page .badge{
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,248,239,.09) !important;
  color:#FBF4EC !important;
}

.av-admin-page .badge-warning,
.av-admin-badge-open{
  border-color:rgba(246,200,95,.42) !important;
  background:rgba(246,200,95,.16) !important;
  color:#FBF4EC !important;
}

.av-admin-nav{
  display:flex;
  max-width:100%;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  border:1px solid rgba(255,255,255,.13);
  border-radius:20px;
  background:rgba(10,7,10,.68);
  padding:.4rem;
  box-shadow:0 18px 44px -30px rgba(0,0,0,.9);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.av-admin-nav-link{
  min-height:2.35rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,248,239,.08);
  color:rgba(255,248,239,.86);
  padding:.48rem .95rem;
  font-size:.86rem;
  font-weight:800;
  text-decoration:none;
}

.av-admin-nav-link:hover{
  background:rgba(184,92,69,.15);
  border-color:rgba(184,92,69,.38);
  color:#fff;
}

.av-admin-nav-link.is-active,
.av-admin-nav-link[aria-current='page']{
  background:var(--av-terracotta);
  border-color:rgba(255,220,160,.72);
  color:#FBF4EC;
  box-shadow:0 12px 28px -18px rgba(184,92,69,.85);
}

@media (max-width:640px){
  .av-admin-page main{
    padding-bottom:6rem;
  }

  .av-admin-nav{
    width:100%;
  }

  .av-admin-nav-link{
    flex:1 1 auto;
  }
}

/* Final AfroVibe identity layer.
   One visual family across public, auth, discovery, profile, chat, settings,
   legal, payment, and admin pages. This layer intentionally overrides older
   page-level glass/overly bright experiments without changing routes or JS hooks. */
:root{
  color-scheme:dark;
  --av-bg:#241817;
  --av-bg-2:#241817;
  --av-bg-3:#201614;
  --av-page-top:#2a1b18;
  --av-page-bottom:#130F0E;
  --av-surface:#3a2824;
  --av-surface-2:#46302a;
  --av-surface-soft:rgba(251,244,236,.075);
  --av-surface-strong:rgba(251,244,236,.12);
  --av-elevated:#FBF4EC;
  --av-elevated-2:#FBF4EC;
  --av-text:#FBF4EC;
  --av-text-soft:rgba(251,244,236,.76);
  --av-text-muted:rgba(251,244,236,.58);
  --av-text-on-light:#201614;
  --av-text-on-light-soft:#7A6861;
  --av-border:rgba(251,244,236,.14);
  --av-border-strong:rgba(251,244,236,.24);
  --av-border-light:rgba(36,24,23,.12);
  --av-primary:#B85C45;
  --av-primary-hover:#B85C45;
  --av-secondary:#B85C45;
  --av-accent:#B85C45;
  --av-trust:#22C55E;
  --av-focus-color:#B85C45;
  --av-danger:#B85C45;
  --av-success:#22C55E;
  --av-focus:0 0 0 3px rgba(184,92,69,.22);
  --av-shadow:0 24px 64px -46px rgba(0,0,0,.78);
  --av-shadow-light:0 24px 70px -44px rgba(36,24,23,.42);
  --av-radius-xl:28px;
  --av-radius-lg:22px;
  --av-radius-md:16px;
}

html,
body{
  background:var(--av-bg-3) !important;
}

body,
.av-page-bg,
.dashboard-page-bg,
.auth-page-bg,
.dating-search-bg,
.profile-complete-bg,
.profile-page,
.messages-page,
.chat-page,
.av-static-page,
.av-form-page{
  color:var(--av-text) !important;
  background:
    radial-gradient(circle at 12% -8%, rgba(184,92,69,.12), transparent 31%),
    radial-gradient(circle at 88% 2%, rgba(184,92,69,.10), transparent 28%),
    linear-gradient(180deg,var(--av-page-top) 0%,var(--av-bg) 44%,var(--av-page-bottom) 100%) !important;
}

body::before,
body::after,
.auth-page-bg::before,
.auth-page-bg::after,
.dashboard-page-bg::before,
.dashboard-page-bg::after,
.profile-complete-bg::before,
.profile-complete-bg::after,
.dating-search-bg::before,
.dating-search-bg::after,
.av-page-bg::before,
.av-page-bg::after{
  opacity:0 !important;
  display:none !important;
}

.av-app-header{
  background:rgba(251,244,236,.97) !important;
  border-bottom:1px solid var(--av-border-light) !important;
  color:var(--av-text-on-light) !important;
  box-shadow:0 18px 48px -38px rgba(36,24,23,.58) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.av-site-footer{
  background:#241817 !important;
  border-color:rgba(251,244,236,.12) !important;
  color:var(--av-text) !important;
}

.av-site-footer .av-glass,
.av-site-footer details{
  background:rgba(251,244,236,.06) !important;
}

.av-site-footer a{
  color:rgba(251,244,236,.76) !important;
}

.av-site-footer a:hover{
  color:var(--av-accent) !important;
}

.av-display,
.av-page-title,
h1,
h2,
h3{
  letter-spacing:-.025em;
}

.av-solid-text,
.av-solid-text,
.brand-wordmark{
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:currentColor !important;
  color:var(--av-accent) !important;
  text-shadow:none !important;
}

.av-panel,
.av-glass,
.av-form-card,
.glass,
.av-card,
.settings-card,
.content-panel,
.legal-shell,
.card:not(.dashboard-discovery-card):not(.av-profile-card),
.av-card,
.search-card,
.chat-panel,
.messages-shell,
.settings-panel{
  background:var(--av-surface-soft) !important;
  border:1px solid var(--av-border) !important;
  box-shadow:var(--av-shadow) !important;
  color:var(--av-text) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.av-panel::before,
.av-glass::before,
.av-form-card::before,
.glass::before,
.av-card::before,
.settings-card::before,
.content-panel::before,
.legal-shell::before{
  opacity:0 !important;
}

.av-form-card,
.av-panel,
.av-empty-state,
.card,
.settings-card,
.content-panel,
.legal-shell,
.chat-panel,
.messages-shell{
  border-radius:var(--av-radius-xl) !important;
}

.dashboard-discovery-card,
.av-profile-card{
  background:#241817 !important;
  border:1px solid var(--av-border) !important;
  border-radius:20px !important;
  box-shadow:0 24px 62px -46px rgba(0,0,0,.84) !important;
}

.dashboard-discovery-card:hover,
.av-profile-card:hover{
  border-color:rgba(184,92,69,.34) !important;
  box-shadow:0 28px 68px -46px rgba(0,0,0,.9) !important;
}

.av-profile-overlay{
  background:
    linear-gradient(180deg,transparent 0%,rgba(32,22,20,.46) 38%,rgba(20,14,13,.94) 100%) !important;
}

.av-btn,
.btn,
button,
a.btn{
  letter-spacing:0 !important;
}

.av-btn-primary,
.btn-primary,
.dashboard-apply-button,
html body.av-form-page button[type='submit']:not(.btn-ghost):not(.btn-outline),
html body.av-signup-shell button[type='submit']:not(.btn-ghost):not(.btn-outline),
html body.profile-complete-bg button[type='submit']:not(.btn-ghost):not(.btn-outline),
html body.av-static-page button[type='submit']:not(.btn-ghost):not(.btn-outline),
.av-form-page .btn:not(.btn-ghost):not(.btn-outline),
.av-static-page .btn-primary,
.av-static-page .btn:not(.btn-ghost):not(.btn-outline){
  border:0 !important;
  border-radius:999px !important;
  background:var(--av-primary) !important;
  color:#FBF4EC !important;
  box-shadow:0 14px 30px -20px rgba(184,92,69,.92) !important;
}

.av-btn-primary:hover,
.btn-primary:hover,
.dashboard-apply-button:hover,
html body.av-form-page button[type='submit']:not(.btn-ghost):not(.btn-outline):hover,
html body.av-signup-shell button[type='submit']:not(.btn-ghost):not(.btn-outline):hover,
html body.profile-complete-bg button[type='submit']:not(.btn-ghost):not(.btn-outline):hover,
html body.av-static-page button[type='submit']:not(.btn-ghost):not(.btn-outline):hover{
  background:var(--av-primary-hover) !important;
  filter:none !important;
}

.av-btn-ghost,
.btn-ghost,
.btn-outline,
.av-btn-secondary{
  border:1px solid var(--av-border) !important;
  border-radius:999px !important;
  background:rgba(251,244,236,.055) !important;
  color:rgba(251,244,236,.86) !important;
  box-shadow:none !important;
}

.av-btn-ghost:hover,
.btn-ghost:hover,
.btn-outline:hover,
.av-btn-secondary:hover{
  border-color:var(--av-border-strong) !important;
  background:rgba(251,244,236,.10) !important;
  color:var(--av-text) !important;
}

.btn-error,
.av-btn-danger,
.av-admin-danger{
  border-color:rgba(184,92,69,.44) !important;
  background:rgba(184,92,69,.20) !important;
  color:#FFD6CE !important;
}

.btn[disabled],
.btn-disabled,
.av-btn[disabled],
button:disabled{
  opacity:.56 !important;
  cursor:not-allowed !important;
  transform:none !important;
}

.av-input,
.av-select,
.av-textarea,
.input,
.select,
.textarea,
html body.av-page-bg input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']),
html body.av-page-bg select,
html body.av-page-bg textarea,
html body.av-admin-page input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']),
html body.av-admin-page select,
html body.av-admin-page textarea{
  background:rgba(251,244,236,.10) !important;
  border:1px solid rgba(251,244,236,.16) !important;
  color:var(--av-text) !important;
  box-shadow:none !important;
  outline:none !important;
}

html body.av-page-bg input::placeholder,
html body.av-page-bg textarea::placeholder,
html body.av-admin-page input::placeholder,
html body.av-admin-page textarea::placeholder{
  color:rgba(251,244,236,.48) !important;
  opacity:1 !important;
}

.av-input:focus,
.av-select:focus,
.av-textarea:focus,
.input:focus,
.select:focus,
.textarea:focus,
html body.av-page-bg input:focus,
html body.av-page-bg select:focus,
html body.av-page-bg textarea:focus,
html body.av-admin-page input:focus,
html body.av-admin-page select:focus,
html body.av-admin-page textarea:focus{
  border-color:rgba(184,92,69,.62) !important;
  box-shadow:var(--av-focus) !important;
}

select option,
.select option{
  background:var(--av-bg) !important;
  color:var(--av-text) !important;
}

html body.av-signup-shell,
html body.profile-complete-bg{
  color:var(--av-text-on-light) !important;
  background:
    radial-gradient(circle at 12% -8%, rgba(184,92,69,.16), transparent 30%),
    radial-gradient(circle at 88% 0%, rgba(184,92,69,.12), transparent 28%),
    linear-gradient(180deg,#FBF4EC 0%,#FBF4EC 54%,#FBF4EC 100%) !important;
}

html body.av-signup-shell .auth-card,
html body.av-signup-shell .av-form-card,
html body.av-signup-shell .av-panel,
html body.profile-complete-bg .av-form-card,
html body.profile-complete-bg .av-panel,
html body.profile-page .profile-section,
html body.profile-page .profile-card,
html body.messages-page .thread-card,
html body.messages-page .av-card{
  background:rgba(251,244,236,.88) !important;
  border:1px solid var(--av-border-light) !important;
  color:var(--av-text-on-light) !important;
  box-shadow:var(--av-shadow-light) !important;
}

html body.av-signup-shell .text-white,
html body.profile-complete-bg .text-white,
html body.profile-page .profile-shell .text-white,
html body.messages-page .text-white{
  color:var(--av-text-on-light) !important;
}

html body.av-signup-shell .text-white\/70,
html body.av-signup-shell .text-white\/60,
html body.av-signup-shell .text-white\/50,
html body.profile-complete-bg .text-white\/70,
html body.profile-complete-bg .text-white\/60,
html body.profile-complete-bg .text-white\/50,
html body.profile-page .profile-shell .text-white\/70,
html body.profile-page .profile-shell .text-white\/60,
html body.messages-page .text-white\/70,
html body.messages-page .text-white\/60{
  color:var(--av-text-on-light-soft) !important;
}

html body.av-signup-shell input:not([type='checkbox']):not([type='radio']):not([type='file']),
html body.av-signup-shell select,
html body.av-signup-shell textarea,
html body.profile-complete-bg input:not([type='checkbox']):not([type='radio']):not([type='file']),
html body.profile-complete-bg select,
html body.profile-complete-bg textarea,
html body.profile-page input:not([type='checkbox']):not([type='radio']):not([type='file']),
html body.profile-page select,
html body.profile-page textarea,
html body.messages-page input:not([type='checkbox']):not([type='radio']):not([type='file']),
html body.messages-page select,
html body.messages-page textarea{
  background:rgba(255,255,255,.78) !important;
  border-color:rgba(36,24,23,.14) !important;
  color:var(--av-text-on-light) !important;
}

html body.av-signup-shell input::placeholder,
html body.av-signup-shell textarea::placeholder,
html body.profile-complete-bg input::placeholder,
html body.profile-complete-bg textarea::placeholder,
html body.profile-page input::placeholder,
html body.profile-page textarea::placeholder,
html body.messages-page input::placeholder,
html body.messages-page textarea::placeholder{
  color:rgba(32,22,20,.48) !important;
}

.modal-box,
dialog.modal > .modal-box,
.av-modal-warm{
  background:var(--av-elevated) !important;
  border:1px solid var(--av-border-light) !important;
  color:var(--av-text-on-light) !important;
  box-shadow:0 28px 80px -44px rgba(36,24,23,.66) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.modal-box .text-white,
.modal-box h1,
.modal-box h2,
.modal-box h3,
.av-modal-warm h1,
.av-modal-warm h2,
.av-modal-warm h3{
  color:var(--av-text-on-light) !important;
}

.modal-box .text-white\/70,
.modal-box .text-white\/60,
.av-modal-warm .text-white\/70,
.av-modal-warm .text-white\/60{
  color:var(--av-text-on-light-soft) !important;
}

.modal-box input:not([type='checkbox']):not([type='radio']):not([type='file']),
.modal-box select,
.modal-box textarea,
.av-modal-warm input:not([type='checkbox']):not([type='radio']):not([type='file']),
.av-modal-warm select,
.av-modal-warm textarea{
  background:rgba(255,255,255,.78) !important;
  border-color:rgba(36,24,23,.14) !important;
  color:var(--av-text-on-light) !important;
}

.modal-backdrop,
dialog::backdrop{
  background:rgba(32,22,20,.58) !important;
  backdrop-filter: none;
}

.dropdown-content:not(.av-shell-menu),
.av-shell-menu{
  background:var(--av-elevated) !important;
  border:1px solid var(--av-border-light) !important;
  color:var(--av-text-on-light) !important;
  box-shadow:0 24px 64px -42px rgba(36,24,23,.58) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.badge,
.av-chip,
.filter-chip,
.av-soft-badge,
.av-trust-badge{
  border-radius:999px !important;
  box-shadow:none !important;
}

.badge:not(.badge-error),
.av-chip,
.filter-chip,
.av-soft-badge{
  border-color:var(--av-border) !important;
  background:rgba(251,244,236,.08) !important;
  color:rgba(251,244,236,.82) !important;
}

.av-trust-badge,
.badge-success{
  color:#22C55E !important;
  border-color:rgba(184,92,69,.32) !important;
  background:rgba(184,92,69,.18) !important;
}

.badge-error,
.nav-unread-messages,
.nav-unread-notifs{
  background:var(--av-primary) !important;
  color:#fff !important;
}

.av-empty-state{
  background:rgba(251,244,236,.08) !important;
  border:1px solid var(--av-border) !important;
  color:var(--av-text) !important;
}

body:has(#chatForm),
.chat-page{
  background:
    radial-gradient(circle at 18% -6%, rgba(184,92,69,.10), transparent 31%),
    linear-gradient(180deg,#241817 0%,#241817 55%,#130F0E 100%) !important;
}

.chat-page .chat-shell,
.chat-page .chat-panel,
.chat-page .conversation-panel,
.chat-page [data-chat-panel],
body:has(#chatForm) .chat-panel{
  background:rgba(251,244,236,.07) !important;
  border:1px solid var(--av-border) !important;
  color:var(--av-text) !important;
}

body:has(#chatForm) #chatForm{
  background:rgba(251,244,236,.09) !important;
  border:1px solid var(--av-border) !important;
  box-shadow:0 22px 54px -42px rgba(0,0,0,.9) !important;
  backdrop-filter:none !important;
}

.chat-bubble,
[data-message]{
  box-shadow:none !important;
}

.chat-bubble:not(.chat-bubble-primary){
  background:rgba(251,244,236,.10) !important;
  color:var(--av-text) !important;
}

.chat-bubble-primary,
.message-out,
.is-own .chat-bubble{
  background:var(--av-primary) !important;
  color:#FBF4EC !important;
}

.legal-shell,
.legal-toc,
.legal-meta,
main .prose:not(.prose-invert){
  background:var(--av-elevated) !important;
  border-color:var(--av-border-light) !important;
  color:var(--av-text-on-light) !important;
}

.legal-document p,
.legal-document li,
.legal-section p,
main .prose:not(.prose-invert) p,
main .prose:not(.prose-invert) li{
  color:var(--av-text-on-light-soft) !important;
}

.legal-document h1,
.legal-document h2,
.legal-document h3,
.legal-section h2,
main .prose:not(.prose-invert) h1,
main .prose:not(.prose-invert) h2,
main .prose:not(.prose-invert) h3{
  color:var(--av-text-on-light) !important;
}

.av-admin-page{
  background:
    radial-gradient(circle at 12% -8%, rgba(184,92,69,.10), transparent 30%),
    linear-gradient(180deg,#241817 0%,#241817 52%,#130F0E 100%) !important;
}

.av-admin-page section,
.av-admin-card,
.av-admin-surface{
  background:rgba(251,244,236,.075) !important;
  border-color:var(--av-border) !important;
  color:var(--av-text) !important;
  box-shadow:var(--av-shadow) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.av-admin-page .table thead :where(th,td){
  background:rgba(251,244,236,.08) !important;
}

.av-admin-page .btn,
.av-admin-btn{
  background:rgba(251,244,236,.07) !important;
  border-color:var(--av-border) !important;
  color:var(--av-text) !important;
}

.av-admin-primary,
.av-admin-page button[type='submit']{
  background:var(--av-primary) !important;
  border-color:transparent !important;
  color:#FBF4EC !important;
}

.av-mobile-nav{
  background:rgba(251,244,236,.97) !important;
  border-color:var(--av-border-light) !important;
  box-shadow:0 20px 60px -34px rgba(36,24,23,.48) !important;
  backdrop-filter:none !important;
}

.av-mobile-nav a{
  color:var(--av-text-on-light-soft) !important;
}

.av-mobile-nav a.is-active{
  background:var(--av-bg) !important;
  color:var(--av-elevated) !important;
}

@media (max-width:1023px){
  body{
    padding-bottom:calc(6rem + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width:640px){
  .av-form-card,
  .av-panel,
  .av-empty-state,
  .card,
  .settings-card,
  .content-panel,
  .legal-shell{
    border-radius:22px !important;
  }
}


/* Dashboard profile-card cleanup: warmer, quieter, less AI-gradient feeling */
.brand-wordmark,
.av-solid-text.brand-wordmark{
  color:#B85C45 !important;
}
.dashboard-apply-button{
  background:#B85C45 !important;
  box-shadow:0 12px 26px rgba(196,94,66,.18) !important;
  color:#FBF4EC !important;
}
.dashboard-apply-button:hover{
  background:#B85C45 !important;
  box-shadow:0 14px 30px rgba(196,94,66,.22) !important;
  filter:none !important;
}
.dashboard-discovery-card{
  min-height:unset !important;
}
.dashboard-discovery-card .btn-primary{
  background:#B85C45 !important;
  box-shadow:0 10px 20px rgba(196,94,66,.18) !important;
}
.dashboard-discovery-card .card-menu-btn{
  letter-spacing:.08em;
}
.dashboard-discovery-card .dashboard-card-dropdown .dropdown-content,
.dashboard-discovery-card .dashboard-why-dropdown .dropdown-content{
  background:#130F0E !important;
  border-color:rgba(255,238,218,.16) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.dashboard-discovery-card [title]{
  text-decoration:none;
}

/* Phase 2 app shell and visual normalization. This layer preserves existing
   route, form, JS, socket, RTC, and payment hooks while moving shared surfaces
   away from overly bright/glass and toward a warmer premium dating vocabulary. */
html{
  background:var(--av-deep-espresso);
}

body{
  background:var(--av-deep-espresso);
}

@media (max-width: 1023px){
  body{
    padding-bottom:calc(5.75rem + env(safe-area-inset-bottom));
  }
}

.av-page-bg,
.dashboard-page-bg,
.auth-page-bg,
.dating-search-bg,
.profile-complete-bg{
  background:
    radial-gradient(circle at 12% -10%, rgba(184,92,69,.10), transparent 30%),
    radial-gradient(circle at 90% 2%, rgba(184,92,69,.09), transparent 27%),
    linear-gradient(180deg,#241817 0%,#241817 48%,#201614 100%) !important;
}

.av-page-bg::before,
.auth-page-bg::before,
.dating-search-bg::before,
.profile-complete-bg::before,
.av-admin-page::before,
.av-page-bg::after,
.auth-page-bg::after,
.dating-search-bg::after,
.profile-complete-bg::after,
.av-admin-page::after{
  opacity:0 !important;
}

.av-app-header{
  background:rgba(251,244,236,.94);
  border-bottom:1px solid rgba(36,24,23,.10);
  box-shadow:0 18px 42px -34px rgba(36,24,23,.55);
  color:var(--av-ink-brown);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.av-brand{
  color:var(--av-deep-espresso) !important;
}

.av-brand:hover{
  color:var(--av-terracotta) !important;
  transform:translateY(-1px);
}

.av-nav-icon-button{
  color:var(--av-deep-espresso) !important;
}

.av-nav-icon-button:hover,
.av-nav-icon-button:focus-visible{
  background:rgba(184,92,69,.10) !important;
  color:var(--av-terracotta) !important;
}

.av-desktop-nav{
  border-top:1px solid rgba(36,24,23,.08);
}

.av-nav-link{
  color:rgba(32,22,20,.72) !important;
  transition:background var(--av-motion-fast),color var(--av-motion-fast);
}

.av-nav-link:hover,
.av-nav-link:focus,
.av-nav-link:active{
  background:rgba(184,92,69,.10) !important;
  color:var(--av-deep-espresso) !important;
}

.av-shell-menu{
  border:1px solid rgba(36,24,23,.12) !important;
  border-radius:18px !important;
  background:#fbf4ec !important;
  color:var(--av-ink-brown) !important;
  box-shadow:0 26px 70px -34px rgba(36,24,23,.64) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  max-height:min(72vh,34rem);
  overflow-y:auto;
  overscroll-behavior:contain;
}

.av-shell-menu-link,
.av-shell-menu :where(a,label,summary){
  border-radius:12px !important;
  color:#201614 !important;
}

.av-shell-menu-link:hover,
.av-shell-menu :where(a,label,summary):hover{
  background:rgba(184,92,69,.10) !important;
  color:var(--av-deep-espresso) !important;
}

.av-menu-title{
  color:var(--av-deep-espresso);
}

.av-muted-text{
  color:var(--av-warm-taupe) !important;
}

.av-nav-pill{
  border-color:rgba(36,24,23,.12) !important;
  color:var(--av-ink-brown) !important;
}

.av-nav-pill--free,
.av-nav-pill--quiet{
  background:rgba(36,24,23,.045) !important;
}

.av-nav-pill--free:hover,
.av-nav-pill--quiet:hover{
  background:rgba(184,92,69,.10) !important;
  color:var(--av-deep-espresso) !important;
}

.av-nav-pill--paid{
  border-color:rgba(184,92,69,.42) !important;
  background:rgba(184,92,69,.16) !important;
  color:#6f451f !important;
}

.av-avatar-ring{
  border:1px solid rgba(36,24,23,.16);
  box-shadow:0 0 0 3px rgba(255,255,255,.54);
}

.av-progress-track{
  background:rgba(36,24,23,.14);
}

.badge-error,
.nav-unread-messages,
.nav-unread-notifs{
  border-color:transparent !important;
  background:var(--av-terracotta) !important;
  color:white !important;
}

.av-btn-primary,
.btn-primary,
.av-form-page .btn:not(.btn-ghost):not(.btn-outline),
.av-static-page .btn-primary,
.av-static-page .btn:not(.btn-ghost):not(.btn-outline){
  border:0 !important;
  background:var(--av-terracotta) !important;
  color:#FBF4EC !important;
  box-shadow:0 12px 24px -18px rgba(184,92,69,.86) !important;
}

.av-btn-primary:hover,
.btn-primary:hover,
.av-form-page .btn:not(.btn-ghost):not(.btn-outline):hover,
.av-static-page .btn-primary:hover{
  background:#B85C45 !important;
  box-shadow:0 16px 30px -20px rgba(184,92,69,.95) !important;
}

.btn-outline,
.av-btn-secondary{
  border:1px solid rgba(251,244,236,.28) !important;
  background:transparent !important;
  color:var(--av-warm-ivory) !important;
}

.av-btn-ghost,
.btn-ghost{
  border-color:rgba(251,244,236,.14);
  background:rgba(251,244,236,.055);
  color:rgba(251,244,236,.84);
}

.av-btn-ghost:hover,
.btn-ghost:hover{
  border-color:rgba(251,244,236,.24);
  background:rgba(251,244,236,.10);
  color:var(--av-warm-ivory);
}

.av-glass,
.av-panel,
.av-form-card,
.av-profile-card,
.av-empty-state,
.glass,
.av-card,
.settings-card,
.content-panel,
.legal-shell{
  background:rgba(251,244,236,.075) !important;
  border:1px solid rgba(251,244,236,.13) !important;
  box-shadow:0 22px 56px -42px rgba(0,0,0,.72) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.av-glass::before,
.av-panel::before,
.av-form-card::before,
.glass::before,
.av-card::before,
.settings-card::before,
.content-panel::before,
.legal-shell::before{
  opacity:0 !important;
}

.card:not(.dashboard-discovery-card):not(.av-profile-card){
  background:rgba(251,244,236,.075) !important;
  border-color:rgba(251,244,236,.13) !important;
  box-shadow:0 18px 48px -40px rgba(0,0,0,.72) !important;
}

.dashboard-discovery-card,
.av-profile-card{
  background:var(--av-deep-espresso) !important;
  border-radius:18px !important;
  border-color:rgba(251,244,236,.13) !important;
  box-shadow:0 24px 58px -44px rgba(0,0,0,.78) !important;
}

.dashboard-discovery-card:hover,
.av-profile-card:hover{
  border-color:rgba(184,92,69,.34) !important;
  box-shadow:0 26px 62px -46px rgba(0,0,0,.86) !important;
}

.av-input,
.av-select,
.av-textarea,
.input,
.select,
.textarea,
.av-input,
.input-dark,
.select-dark,
.textarea-dark{
  border:1px solid rgba(251,244,236,.16) !important;
  background:rgba(251,244,236,.10) !important;
  color:var(--av-warm-ivory) !important;
  box-shadow:none !important;
}

.av-input::placeholder,
.av-textarea::placeholder,
.input::placeholder,
.textarea::placeholder,
.av-input::placeholder,
.input-dark::placeholder,
.textarea-dark::placeholder{
  color:rgba(251,244,236,.48) !important;
}

.av-select option,
.select option,
.select-dark option{
  background:var(--av-deep-espresso);
  color:var(--av-warm-ivory);
}

.av-input:focus,
.av-select:focus,
.av-textarea:focus,
.input:focus,
.select:focus,
.textarea:focus,
.av-input:focus,
.input-dark:focus,
.select-dark:focus,
.textarea-dark:focus{
  border-color:rgba(184,92,69,.62) !important;
  box-shadow:0 0 0 3px rgba(184,92,69,.16) !important;
  transform:none !important;
}

.label-text,
.av-field__label{
  color:rgba(251,244,236,.78) !important;
}

.modal-box,
dialog.modal > .modal-box,
.av-modal-warm{
  background:var(--av-warm-ivory) !important;
  border:1px solid rgba(36,24,23,.12) !important;
  color:var(--av-ink-brown) !important;
  box-shadow:0 28px 80px -44px rgba(36,24,23,.66) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.modal-box h1,
.modal-box h2,
.modal-box h3,
.av-modal-warm h1,
.av-modal-warm h2,
.av-modal-warm h3{
  color:var(--av-ink-brown) !important;
}

.modal-box .input,
.modal-box .select,
.modal-box .textarea,
.modal-box input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']),
.modal-box select,
.modal-box textarea,
.av-modal-warm .input,
.av-modal-warm .select,
.av-modal-warm .textarea{
  border-color:rgba(36,24,23,.14) !important;
  background:rgba(255,255,255,.72) !important;
  color:var(--av-ink-brown) !important;
}

.modal-box input::placeholder,
.modal-box textarea::placeholder,
.av-modal-warm input::placeholder,
.av-modal-warm textarea::placeholder{
  color:rgba(32,22,20,.46) !important;
}

.av-modal-warm .av-btn-ghost,
.av-modal-warm .btn-ghost{
  border-color:rgba(36,24,23,.14) !important;
  background:rgba(36,24,23,.045) !important;
  color:var(--av-ink-brown) !important;
}

.av-modal-warm .av-btn-ghost:hover,
.av-modal-warm .btn-ghost:hover{
  background:rgba(184,92,69,.10) !important;
}

.modal-backdrop,
dialog::backdrop{
  background:rgba(32,22,20,.48) !important;
  backdrop-filter: none;
}

.dropdown-content:not(.av-shell-menu){
  border:1px solid rgba(36,24,23,.12) !important;
  background:rgba(251,244,236,.98) !important;
  color:var(--av-ink-brown) !important;
  box-shadow:0 24px 64px -42px rgba(36,24,23,.58) !important;
}

.av-toast{
  background:var(--av-warm-ivory) !important;
  border-color:rgba(36,24,23,.12) !important;
  color:var(--av-ink-brown) !important;
  box-shadow:0 24px 70px -40px rgba(36,24,23,.52) !important;
  backdrop-filter:none !important;
}

.av-toast .text-white{
  color:var(--av-ink-brown) !important;
}

.av-toast .text-white\/76{
  color:var(--av-warm-taupe) !important;
}

.av-mobile-nav{
  right:max(.75rem,env(safe-area-inset-right));
  bottom:max(.75rem,env(safe-area-inset-bottom));
  left:max(.75rem,env(safe-area-inset-left));
  display:none;
  grid-template-columns:1fr;
  border:1px solid rgba(36,24,23,.10);
  border-radius:22px;
  background:rgba(251,244,236,.96);
  box-shadow:0 20px 60px -34px rgba(36,24,23,.48);
  padding:.35rem;
}

.av-mobile-nav__grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.25rem;
}

.av-mobile-nav a{
  position:relative;
  display:flex;
  min-height:2.75rem;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  color:var(--av-warm-taupe);
  font-size:.75rem;
  font-weight:850;
  text-decoration:none;
}

.av-mobile-nav a:hover,
.av-mobile-nav a:focus-visible{
  background:rgba(184,92,69,.10);
  color:var(--av-deep-espresso);
}

.av-mobile-nav a.is-active{
  background:var(--av-deep-espresso);
  color:var(--av-warm-ivory);
}

.av-mobile-nav__badge{
  position:absolute !important;
  top:.2rem !important;
  right:.4rem !important;
  min-width:1.1rem;
  border-radius:999px;
  padding:.05rem .28rem;
  font-size:.65rem;
  line-height:1rem;
}

@media (max-width:1023px){
  .dropdown > .av-shell-menu.dropdown-content{
    position:fixed !important;
    top:4.75rem !important;
    left:max(.75rem,env(safe-area-inset-left)) !important;
    right:max(.75rem,env(safe-area-inset-right)) !important;
    width:auto !important;
    max-height:calc(100dvh - 8rem);
    z-index:220 !important;
  }

  .av-mobile-nav{
    display:grid;
  }

  main,
  .page-content,
  .container{
    scroll-padding-bottom:calc(6rem + env(safe-area-inset-bottom));
  }
}

/* Final authoritative visual consistency layer.
   Keep this block last so older phase-specific page rules cannot override the
   unified AfroVibe palette or broad readability protections. */
:root{
  --av-deep-espresso:#241817;
  --av-ink-brown:#201614;
  --av-warm-ivory:#FBF4EC;
  --av-soft-ivory:#FBF4EC;
  --av-primary:#B85C45;
  --av-clay-gold:#B85C45;
  --av-warm-accent:#B85C45;
  --av-legacy-success:#22C55E;
  --av-legacy-muted-primary:#B85C45;
  --av-warm-taupe:#7A6861;
  --av-text-on-light:#201614;
  --av-text-on-light-soft:#7A6861;
  --av-text:#FBF4EC;
  --av-text-soft:#EADCCD;
  --av-border:rgba(251,244,236,.14);
  --av-border-light:rgba(36,24,23,.12);
  --av-surface:rgba(251,244,236,.08);
  --av-elevated:#FBF4EC;
}

html body.av-page-bg,
html body.av-form-page,
html body.profile-page,
html body.messages-page,
html body.chat-page,
html body.av-admin-page{
  background:
    radial-gradient(circle at 12% -8%, rgba(184,92,69,.16), transparent 30%),
    radial-gradient(circle at 90% 4%, rgba(184,92,69,.10), transparent 28%),
    linear-gradient(180deg, #241817 0%, #201614 46%, #130F0E 100%) !important;
  color:var(--av-text) !important;
}

.av-btn-primary,
.btn-primary,
button[type='submit'].av-btn-primary{
  background:var(--av-primary) !important;
  border-color:var(--av-primary) !important;
  color:#fff !important;
  box-shadow:0 16px 34px -24px rgba(184,92,69,.72) !important;
}

.av-btn-secondary,
.btn-secondary,
.av-btn-outline,
.btn-outline{
  background:rgba(251,244,236,.06) !important;
  border-color:rgba(251,244,236,.22) !important;
  color:var(--av-warm-ivory) !important;
}

.av-btn-ghost,
.btn-ghost{
  background:transparent !important;
  border-color:rgba(251,244,236,.14) !important;
  color:rgba(251,244,236,.84) !important;
}

html body .av-form-page button[type='submit']:not(.av-btn-ghost):not(.btn-ghost):not(.btn-outline):not(.av-btn-secondary),
html body .av-signup-shell button[type='submit']:not(.av-btn-ghost):not(.btn-ghost):not(.btn-outline):not(.av-btn-secondary),
html body .profile-complete-bg button[type='submit']:not(.av-btn-ghost):not(.btn-ghost):not(.btn-outline):not(.av-btn-secondary){
  background:var(--av-primary) !important;
  border-color:var(--av-primary) !important;
  color:#fff !important;
}

.av-card,
.av-panel,
.av-form-card,
.av-card,
.profile-section,
.profile-card,
.thread-card,
.chat-panel,
.admin-card{
  border-color:var(--av-border-light) !important;
}

html body.av-signup-shell .auth-card,
html body.av-signup-shell .av-form-card,
html body.profile-complete-bg .av-form-card,
html body.profile-page .profile-shell,
html body.profile-page .profile-section,
html body.profile-page .profile-card,
html body.messages-page .thread-card,
html body.messages-page .av-card{
  background:rgba(251,244,236,.92) !important;
  color:var(--av-text-on-light) !important;
}

html body.profile-page .profile-shell .text-white,
html body.profile-page .profile-shell .text-white\/85,
html body.profile-page .profile-shell h1,
html body.profile-page .profile-shell h2,
html body.profile-page .profile-shell h3{
  color:var(--av-text-on-light) !important;
}

html body.profile-page .profile-shell .text-white\/75,
html body.profile-page .profile-shell .text-white\/70,
html body.profile-page .profile-shell .text-white\/60,
html body.profile-page .profile-shell .text-white\/50{
  color:var(--av-text-on-light-soft) !important;
}

html body.profile-page .profile-hero-photo .text-white,
html body.profile-page .profile-hero-photo .text-white\/85,
html body.profile-page .profile-hero-photo .text-white\/75,
html body.profile-page .profile-hero-photo .text-white\/70,
html body.profile-page .profile-hero-photo .text-white\/60,
.photo-stage .text-white,
#photoDialog .photo-stage .text-white,
#rtcModal .text-white,
#rtcModal .text-white\/85{
  color:var(--av-warm-ivory) !important;
}

html body.profile-page .profile-hero-photo .text-white\/75,
html body.profile-page .profile-hero-photo .text-white\/70,
html body.profile-page .profile-hero-photo .text-white\/60,
#rtcModal .text-white\/70,
#rtcModal .text-white\/60{
  color:rgba(251,244,236,.72) !important;
}

#rtcModal > div,
#rtcModal [data-av-modal-panel],
#photoDialog [data-av-modal-panel]{
  background:rgba(32,22,20,.96) !important;
  border-color:rgba(251,244,236,.16) !important;
  color:var(--av-warm-ivory) !important;
  box-shadow:0 28px 80px -42px rgba(0,0,0,.95) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

#rtcModal video,
#rtcModal .photo-stage,
#photoDialog .photo-stage{
  background:#050302 !important;
}

html body .modal-box:not(.av-dark-modal),
html body dialog.modal > .modal-box:not(.av-dark-modal),
html body .av-modal-warm{
  background:var(--av-elevated) !important;
  border:1px solid var(--av-border-light) !important;
  color:var(--av-text-on-light) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

html body .dropdown-content:not(.av-shell-menu):not(.profile-menu-panel),
html body .av-shell-menu,
html body .profile-menu-panel{
  background:rgba(251,244,236,.98) !important;
  border:1px solid var(--av-border-light) !important;
  color:var(--av-text-on-light) !important;
  box-shadow:0 24px 64px -42px rgba(36,24,23,.58) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

html body .av-form-page input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']),
html body .av-form-page select,
html body .av-form-page textarea,
html body .av-signup-shell input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']),
html body .av-signup-shell select,
html body .av-signup-shell textarea,
html body .profile-complete-bg input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']),
html body .profile-complete-bg select,
html body .profile-complete-bg textarea,
html body .messages-page input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']),
html body .messages-page select,
html body .messages-page textarea{
  background:rgba(251,244,236,.92) !important;
  border-color:rgba(36,24,23,.14) !important;
  color:var(--av-text-on-light) !important;
}

html body .av-trust-badge,
html body .badge-success{
  color:#22C55E !important;
  border-color:rgba(184,92,69,.32) !important;
  background:rgba(184,92,69,.18) !important;
}

html body .text-[#B85C45],
html body .text-[#B85C45]{
  color:#22C55E !important;
  background:transparent !important;
  border-color:currentColor !important;
}

html body .av-trust-badge.text-[#B85C45],
html body .av-trust-badge.text-[#B85C45],
html body .badge-success.text-[#B85C45],
html body .badge-success.text-[#B85C45]{
  background:rgba(184,92,69,.18) !important;
  border-color:rgba(184,92,69,.32) !important;
}

.photo-stage .text-[#B85C45],
.photo-stage .text-[#B85C45],
#rtcModal .text-[#B85C45],
#rtcModal .text-[#B85C45]{
  color:var(--av-warm-ivory) !important;
}

html body ::selection{
  background:rgba(184,92,69,.24);
  color:var(--av-warm-ivory);
}

@media (max-width:1023px){
  html body .av-mobile-nav{
    background:rgba(251,244,236,.98) !important;
    border-color:rgba(36,24,23,.12) !important;
  }
}

/* Targeted staging corrections: keep the login/dashboard dark shell, remove
   signup light drift, make mobile menus solid, and restore chat readability. */
html body.auth-page-bg.av-signup-shell{
  color-scheme:dark !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(184,92,69,.20), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(184,92,69,.13), transparent 30%),
    radial-gradient(circle at 55% 100%, rgba(184,92,69,.12), transparent 30%),
    linear-gradient(180deg,#241817 0%,#201614 46%,#241817 100%) !important;
  color:#FBF4EC !important;
}

html body.av-signup-shell .glass,
html body.av-signup-shell .av-signup-panel{
  background:linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.07)) !important;
  border-color:rgba(255,255,255,.14) !important;
  color:#FBF4EC !important;
  box-shadow:0 28px 80px -48px rgba(0,0,0,.9) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
}

html body.av-signup-shell .glass::before,
html body.av-signup-shell .av-signup-panel::before{
  background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 42%,rgba(255,255,255,.03)) !important;
}

html body.av-signup-shell h1,
html body.av-signup-shell h2,
html body.av-signup-shell h3,
html body.av-signup-shell .text-white,
html body.av-signup-shell .label-text{
  color:#fff !important;
}

html body.av-signup-shell .text-white\/80,
html body.av-signup-shell .text-white\/70,
html body.av-signup-shell .text-white\/60,
html body.av-signup-shell .text-white\/55,
html body.av-signup-shell .help{
  color:rgba(255,255,255,.68) !important;
}

html body.av-signup-shell input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']),
html body.av-signup-shell select,
html body.av-signup-shell textarea,
html body.av-signup-shell .file-strong{
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(255,255,255,.18) !important;
  color:#fff !important;
}

html body.av-signup-shell input::placeholder,
html body.av-signup-shell textarea::placeholder{
  color:rgba(255,255,255,.42) !important;
}

html body.av-signup-shell select option{
  background:#241817 !important;
  color:#fff !important;
}

html body.av-signup-shell .av-btn-outline-warm{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.16) !important;
  color:#fff !important;
}

html body .av-app-header{
  z-index:900 !important;
}

html body .av-shell-menu,
html body .profile-menu-panel{
  background:#FBF4EC !important;
  border:1px solid rgba(36,24,23,.14) !important;
  color:#201614 !important;
  box-shadow:0 28px 80px -34px rgba(0,0,0,.72) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

html body .av-shell-menu :where(a,label,summary),
html body .av-shell-menu-link{
  color:#201614 !important;
  min-height:2.75rem;
  align-items:center;
}

html body .av-shell-menu ul,
html body .av-shell-menu details ul{
  background:#FBF4EC !important;
}

@media (max-width:1023px){
  html body .dropdown > .av-mobile-menu-panel.dropdown-content{
    position:fixed !important;
    top:5.25rem !important;
    left:.75rem !important;
    right:.75rem !important;
    width:auto !important;
    max-height:calc(100dvh - 7rem) !important;
    z-index:1000 !important;
    padding:.75rem !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
  }

  html body .dropdown > .av-profile-menu-panel.dropdown-content{
    position:fixed !important;
    top:5.25rem !important;
    left:.75rem !important;
    right:.75rem !important;
    width:auto !important;
    max-height:calc(100dvh - 7rem) !important;
    z-index:1000 !important;
    padding:.75rem !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
  }
}

html body.chat-page .chat-scroll-surface{
  background:#FBF4EC !important;
  border-color:rgba(36,24,23,.14) !important;
  color:#201614 !important;
}

html body.chat-page .chat-scroll-surface .chat-received-bubble{
  background:#FBF4EC !important;
  border-color:rgba(36,24,23,.12) !important;
  color:#201614 !important;
}

html body.chat-page .chat-scroll-surface .chat-empty{
  background:rgba(255,255,255,.58) !important;
  border-color:rgba(36,24,23,.20) !important;
  color:#201614 !important;
}

html body.chat-page .chat-message-meta,
html body.chat-page .chat-scroll-surface .text-\[\#7A6861\]{
  color:rgba(32,22,20,.58) !important;
}

html body.chat-page #chatForm.chat-composer{
  background:#FBF4EC !important;
  border-color:rgba(36,24,23,.12) !important;
  color:#201614 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

html body.chat-page #chatForm input:not([type='hidden']){
  background:#fff !important;
  border-color:rgba(36,24,23,.14) !important;
  color:#201614 !important;
}

/* AfroVibe reference flow: login + signup + dashboard + profile + chat.
   This final layer maps older theme names to the selected palette and keeps
   action styling solid, readable, and consistent without changing hooks. */
:root{
  --av-app-bg:#130F0E;
  --av-app-bg-2:#201614;
  --av-dark-panel:#241817;
  --av-ivory:#FBF4EC;
  --av-ink:#201614;
  --av-muted:#7A6861;
  --av-primary:#B85C45;
  --av-success:#22C55E;
  --av-text-on-dark:#FBF4EC;
  --av-deep-espresso:#241817;
  --av-ink-brown:#201614;
  --av-warm-ivory:#FBF4EC;
  --av-soft-ivory:#FBF4EC;
  --av-terracotta:#B85C45;
  --av-terracotta-soft:#B85C45;
  --av-coral:#B85C45;
  --av-coral-soft:#B85C45;
  --av-soft-gold:#B85C45;
  --av-clay-gold:#B85C45;
  --av-warm-accent:#B85C45;
  --av-gold:#B85C45;
  --av-legacy-primary:#B85C45;
  --av-legacy-muted-primary:#B85C45;
  --av-focus-color:#B85C45;
  --av-legacy-success:#22C55E;
  --av-trust:#22C55E;
  --av-text:#FBF4EC;
  --av-text-soft:rgba(251,244,236,.72);
  --av-text-muted:rgba(251,244,236,.58);
  --av-border:rgba(251,244,236,.14);
  --av-border-light:rgba(36,24,23,.12);
  --av-focus:0 0 0 3px rgba(184,92,69,.28);
}

html body.av-page-bg,
html body.dashboard-page-bg,
html body.auth-page-bg,
html body.profile-page,
html body.chat-page,
html body.messages-page{
  background:
    radial-gradient(circle at 12% -8%, rgba(184,92,69,.14), transparent 30%),
    linear-gradient(180deg,#201614 0%,#130F0E 58%,#130F0E 100%) !important;
  color:var(--av-text-on-dark) !important;
}

html body .av-solid-text,
html body .av-solid-text{
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:currentColor !important;
  color:inherit !important;
  text-shadow:none !important;
}

html body .btn-primary,
html body .av-btn-primary,
html body .profile-action-primary,
html body .dashboard-apply-button,
html body button[type='submit'].btn-primary,
html body button[type='submit'].av-btn-primary{
  background:var(--av-primary) !important;
  background-image:none !important;
  border-color:var(--av-primary) !important;
  color:#fff !important;
  box-shadow:0 14px 32px -24px rgba(184,92,69,.82) !important;
  filter:none !important;
}

html body .btn-primary:hover,
html body .av-btn-primary:hover,
html body .profile-action-primary:hover,
html body .dashboard-apply-button:hover{
  background:#A84F3B !important;
  background-image:none !important;
  box-shadow:0 18px 38px -26px rgba(184,92,69,.88) !important;
}

html body .btn-outline,
html body .av-btn-ghost,
html body .profile-action-secondary,
html body .dashboard-pill-button,
html body .av-card-action:not(.btn-primary){
  background:rgba(36,24,23,.72) !important;
  background-image:none !important;
  border-color:rgba(251,244,236,.18) !important;
  color:var(--av-ivory) !important;
  box-shadow:none !important;
}

html body .profile-shell .profile-action-secondary,
html body .profile-shell .av-chip,
html body .profile-shell .profile-chip{
  background:#FBF4EC !important;
  border-color:rgba(36,24,23,.14) !important;
  color:var(--av-ink) !important;
}

html body .dashboard-hero-panel,
html body .dashboard-filter-strip,
html body .dashboard-activity-panel,
html body .dashboard-meter-card{
  background:rgba(36,24,23,.96) !important;
  background-image:none !important;
  border-color:rgba(251,244,236,.14) !important;
  color:var(--av-ivory) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

html body .dashboard-live-dot,
html body .presence-dot.is-online-dot,
html body [data-presence-dot].is-online-dot{
  background:var(--av-success) !important;
  box-shadow:0 0 0 2px rgba(12,10,10,.72),0 0 14px rgba(34,197,94,.75) !important;
}

html body .dashboard-section-kicker,
html body .profile-kicker{
  color:var(--av-primary) !important;
}

html body .dashboard-discovery-card .fav-icon.text-\[\#B85C45\],
html body .favorite-toggle[aria-pressed='true'] .fav-icon{
  color:var(--av-primary) !important;
}

html body .dashboard-card-dropdown .dropdown-content,
html body .dashboard-why-dropdown .dropdown-content,
html body .av-shell-menu,
html body .profile-menu-panel{
  background:#FBF4EC !important;
  background-image:none !important;
  border:1px solid rgba(36,24,23,.14) !important;
  color:#201614 !important;
  box-shadow:0 28px 80px -34px rgba(0,0,0,.72) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

html body .dashboard-card-dropdown .dropdown-content :where(button,a,label,summary),
html body .dashboard-why-dropdown .dropdown-content :where(button,a,label,summary),
html body .profile-menu-panel :where(button,a,label,summary),
html body .av-shell-menu :where(a,label,summary){
  color:#201614 !important;
}

html body .profile-hero-photo::after{
  background:
    linear-gradient(180deg, rgba(0,0,0,.10) 0%, transparent 35%, rgba(32,22,20,.82) 100%),
    linear-gradient(90deg, rgba(36,24,23,.36), transparent 48%) !important;
}

html body .profile-hero-photo .text-white,
html body .profile-hero-photo [class*='text-white']{
  color:#FBF4EC !important;
  text-shadow:0 2px 18px rgba(0,0,0,.55);
}

html body :where(button,a,input,select,textarea):focus-visible{
  outline:none !important;
  box-shadow:var(--av-focus) !important;
}

/* =========================================================
   AFROVIBE FINAL SINGLE THEME, CURRENT ZIP CLEANUP
   Source of truth: dark romantic shell, ivory readable panels,
   solid terracotta actions, green status only.
   ========================================================= */
:root{
  --av-bg:#130F0E;
  --av-panel:#241817;
  --av-ivory:#FBF4EC;
  --av-ink:#201614;
  --av-muted:#7A6861;
  --av-primary:#B85C45;
  --av-primary-hover:#A34F3D;
  --av-success:#22C55E;
  --av-text-dark:#FBF4EC;
  --av-text-soft:rgba(251,244,236,.74);
  --av-border:rgba(251,244,236,.14);
  --av-border-ink:rgba(32,22,20,.14);
  --av-shadow:0 28px 86px -54px rgba(0,0,0,.95);
  --av-focus:0 0 0 3px rgba(184,92,69,.28);
}

html,
body{
  background:var(--av-bg);
  color:var(--av-text-dark);
}

body.av-page-bg,
body.dashboard-page-bg,
body.auth-page-bg,
body.profile-page,
body.chat-page,
body.messages-page,
body.dating-search-bg,
body.profile-complete-bg,
body.admin-page,
body.admin-bg{
  background:
    radial-gradient(circle at 12% -8%, rgba(184,92,69,.16), transparent 32%),
    radial-gradient(circle at 92% 0%, rgba(184,92,69,.08), transparent 24%),
    linear-gradient(180deg,#201614 0%,#130F0E 58%,#130F0E 100%) !important;
  color:var(--av-text-dark) !important;
}

.av-card,
.av-dark-panel,
.av-panel,
.content-panel,
.legal-shell,
.auth-panel,
.chat-panel,
.dashboard-hero-panel,
.dashboard-filter-strip,
.dashboard-activity-panel,
.dashboard-meter-card,
.profile-card,
.settings-card,
.admin-card,
.admin-panel{
  background:rgba(36,24,23,.96) !important;
  background-image:none !important;
  color:var(--av-text-dark) !important;
  border:1px solid var(--av-border) !important;
  box-shadow:var(--av-shadow) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.av-ivory-panel,
.av-form-panel,
.chat-scroll-surface,
.profile-shell,
.profile-content-shell,
.settings-form-panel,
.legal-content,
.admin-table-panel,
.table-panel,
.form-panel{
  background:var(--av-ivory) !important;
  background-image:none !important;
  color:var(--av-ink) !important;
  border:1px solid var(--av-border-ink) !important;
  box-shadow:0 20px 64px -48px rgba(0,0,0,.84) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.av-ivory-panel :where(h1,h2,h3,h4,p,span,label,small,strong,li,td,th),
.av-form-panel :where(h1,h2,h3,h4,p,span,label,small,strong,li,td,th),
.chat-scroll-surface :where(h1,h2,h3,h4,p,span,label,small,strong,li,td,th),
.profile-shell :where(h1,h2,h3,h4,p,span,label,small,strong,li,td,th),
.profile-content-shell :where(h1,h2,h3,h4,p,span,label,small,strong,li,td,th),
.settings-form-panel :where(h1,h2,h3,h4,p,span,label,small,strong,li,td,th),
.legal-content :where(h1,h2,h3,h4,p,span,label,small,strong,li,td,th),
.admin-table-panel :where(h1,h2,h3,h4,p,span,label,small,strong,li,td,th),
.table-panel :where(h1,h2,h3,h4,p,span,label,small,strong,li,td,th),
.form-panel :where(h1,h2,h3,h4,p,span,label,small,strong,li,td,th){
  color:var(--av-ink);
}

.av-muted-text,
.text-muted,
.muted,
.help,
.form-help{
  color:var(--av-muted) !important;
}

body:not(.chat-page) :where(input:not([type='checkbox']):not([type='radio']),select,textarea),
.av-input,
.auth-input,
.input-dark,
.select-dark,
.textarea-dark{
  background:var(--av-ivory) !important;
  color:var(--av-ink) !important;
  border:1.5px solid rgba(32,22,20,.16) !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body:not(.chat-page) :where(input:not([type='checkbox']):not([type='radio']),select,textarea)::placeholder,
.av-input::placeholder,
.auth-input::placeholder,
.input-dark::placeholder,
.textarea-dark::placeholder{
  color:rgba(122,104,97,.82) !important;
}

:where(input,select,textarea,button,a,label,summary):focus-visible{
  outline:none !important;
  box-shadow:var(--av-focus) !important;
}

.btn-primary,
.av-btn-primary,
button[type='submit'],
.profile-action-primary,
.dashboard-apply-button,
.chat-send-button,
.pay-button,
.upgrade-button{
  background:var(--av-primary) !important;
  background-image:none !important;
  color:#fff !important;
  border-color:var(--av-primary) !important;
  box-shadow:0 16px 34px -24px rgba(184,92,69,.78) !important;
  filter:none !important;
}

.btn-primary:hover,
.av-btn-primary:hover,
button[type='submit']:hover,
.profile-action-primary:hover,
.dashboard-apply-button:hover,
.chat-send-button:hover,
.pay-button:hover,
.upgrade-button:hover{
  background:var(--av-primary-hover) !important;
  background-image:none !important;
}

.btn-secondary,
.btn-outline,
.av-btn-secondary,
.av-btn-ghost,
.profile-action-secondary,
.dashboard-pill-button,
.av-card-action:not(.btn-primary){
  background:rgba(36,24,23,.72) !important;
  background-image:none !important;
  color:var(--av-text-dark) !important;
  border:1px solid var(--av-border) !important;
  box-shadow:none !important;
}

.av-ivory-panel .btn-secondary,
.av-form-panel .btn-secondary,
.chat-scroll-surface .btn-secondary,
.profile-shell .btn-secondary,
.profile-shell .profile-action-secondary,
.profile-shell .av-card-action:not(.btn-primary),
.settings-form-panel .btn-secondary{
  background:#fff !important;
  background-image:none !important;
  color:var(--av-ink) !important;
  border:1px solid var(--av-border-ink) !important;
}

.badge,
.av-badge,
.chip,
.av-chip,
.profile-chip,
.chat-context-chip,
.chat-starter-btn{
  background:rgba(251,244,236,.10) !important;
  background-image:none !important;
  color:var(--av-text-dark) !important;
  border:1px solid var(--av-border) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.av-ivory-panel .badge,
.av-ivory-panel .av-badge,
.av-ivory-panel .chip,
.av-ivory-panel .av-chip,
.profile-shell .badge,
.profile-shell .av-badge,
.profile-shell .chip,
.profile-shell .av-chip,
.chat-scroll-surface .badge,
.chat-scroll-surface .chip{
  background:#fff !important;
  color:var(--av-ink) !important;
  border-color:var(--av-border-ink) !important;
}

.av-app-header,
.site-header,
.navbar{
  background:rgba(19,15,14,.96) !important;
  color:var(--av-text-dark) !important;
  border-color:rgba(251,244,236,.10) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.av-brand,
.av-brand span,
.auth-brand-text{
  color:var(--av-text-dark) !important;
  background:none !important;
  -webkit-text-fill-color:currentColor !important;
  text-shadow:none !important;
}

.av-shell-menu,
.av-mobile-menu-panel,
.av-profile-menu-panel,
.dropdown-content,
.menu.dropdown-content{
  background:var(--av-ivory) !important;
  background-image:none !important;
  color:var(--av-ink) !important;
  border:1px solid var(--av-border-ink) !important;
  box-shadow:0 28px 80px -34px rgba(0,0,0,.72) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.av-shell-menu :where(a,button,label,summary,li,span),
.av-mobile-menu-panel :where(a,button,label,summary,li,span),
.av-profile-menu-panel :where(a,button,label,summary,li,span),
.dropdown-content :where(a,button,label,summary,li,span){
  color:var(--av-ink) !important;
}

.av-shell-menu-link:hover,
.av-mobile-menu-panel a:hover,
.av-profile-menu-panel a:hover,
.dropdown-content a:hover,
.dropdown-content label:hover{
  background:rgba(184,92,69,.10) !important;
  color:var(--av-ink) !important;
}

@media (max-width:1023px){
  .av-mobile-menu-panel,
  .av-profile-menu-panel.dropdown-content,
  .dropdown > .av-mobile-menu-panel.dropdown-content,
  .dropdown > .av-profile-menu-panel.dropdown-content{
    position:fixed !important;
    top:4.85rem !important;
    left:.75rem !important;
    right:.75rem !important;
    width:auto !important;
    max-height:calc(100dvh - 6.5rem) !important;
    z-index:5000 !important;
    padding:1rem !important;
    overflow-y:auto !important;
    border-radius:22px !important;
  }
}

.chat-page .chat-panel{
  background:rgba(36,24,23,.96) !important;
  color:var(--av-text-dark) !important;
}
.chat-page .chat-scroll-surface{
  background:var(--av-ivory) !important;
  color:var(--av-ink) !important;
  border-color:var(--av-border-ink) !important;
}
.chat-page .chat-scroll-surface :where(p,span,small,div){
  color:inherit;
}
.chat-page .chat-received-bubble,
.chat-page .chat-empty,
.chat-page .chat-composer,
.chat-page .chat-composer-preview{
  background:#fff !important;
  color:var(--av-ink) !important;
  border-color:var(--av-border-ink) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.chat-page #chatForm input:not([type='hidden']){
  background:#fff !important;
  color:var(--av-ink) !important;
  border-color:var(--av-border-ink) !important;
}

.is-online-dot,
.presence-dot.is-online-dot,
[data-presence-dot].is-online-dot,
.dashboard-live-dot{
  background:var(--av-success) !important;
  box-shadow:0 0 0 2px rgba(19,15,14,.75),0 0 14px rgba(34,197,94,.72) !important;
}

.av-solid-text{
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:currentColor !important;
  color:inherit !important;
}

[class*='bg-gradient-to']{
  background:var(--av-primary) !important;
  background-image:none !important;
}

/* --------------------------------------------------------------------------
   FINAL NAVBAR MOBILE/DROPDOWN HARDENING
   Keep every navbar menu solid, readable, and above page content.
   -------------------------------------------------------------------------- */
html body .av-app-header,
html body .av-app-header .navbar{
  overflow:visible !important;
}

html body .av-app-header .dropdown-content,
html body .av-app-header .av-shell-menu,
html body .av-app-header .av-mobile-menu-panel,
html body .av-app-header .av-profile-menu-panel{
  background:#FBF4EC !important;
  background-image:none !important;
  color:#201614 !important;
  border:1px solid rgba(36,24,23,.16) !important;
  box-shadow:0 26px 72px -30px rgba(0,0,0,.78) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  opacity:1 !important;
  z-index:9999 !important;
  isolation:isolate !important;
}

html body .av-app-header .dropdown-content::before,
html body .av-app-header .dropdown-content::after,
html body .av-app-header .av-shell-menu::before,
html body .av-app-header .av-shell-menu::after{
  content:none !important;
  display:none !important;
}

html body .av-app-header .av-shell-menu :where(a,button,label,summary,li,span),
html body .av-app-header .av-mobile-menu-panel :where(a,button,label,summary,li,span),
html body .av-app-header .av-profile-menu-panel :where(a,button,label,summary,li,span),
html body .av-app-header .dropdown-content :where(a,button,label,summary,li,span){
  color:#201614 !important;
  -webkit-text-fill-color:#201614 !important;
  text-shadow:none !important;
}

html body .av-app-header .av-shell-menu :where(a,label,summary),
html body .av-app-header .dropdown-content :where(a,label,summary){
  min-height:2.65rem !important;
  border-radius:14px !important;
  display:flex !important;
  align-items:center !important;
  gap:.55rem !important;
}

html body .av-app-header .av-shell-menu :where(a,label,summary):hover,
html body .av-app-header .dropdown-content :where(a,label,summary):hover,
html body .av-app-header .av-shell-menu :where(a,label,summary):focus-visible,
html body .av-app-header .dropdown-content :where(a,label,summary):focus-visible{
  background:rgba(184,92,69,.12) !important;
  color:#201614 !important;
}

html body .av-app-header .av-shell-menu details ul,
html body .av-app-header .dropdown-content details ul,
html body .av-app-header .av-shell-menu ul,
html body .av-app-header .dropdown-content ul{
  background:#FBF4EC !important;
  background-image:none !important;
  border-color:rgba(36,24,23,.10) !important;
}

html body .av-navbar-actions{
  overflow:visible !important;
}

html body .av-navbar-pill-row{
  flex-wrap:nowrap !important;
  overflow:visible !important;
}

html body .av-nav-pill,
html body .av-nav-boost-pill,
html body .av-nav-upgrade-btn{
  white-space:nowrap !important;
  min-width:max-content !important;
  line-height:1 !important;
}

html body .av-nav-boost-pill{
  max-width:none !important;
}

@media (max-width:1023px){
  html body .av-app-header .dropdown > .dropdown-content.av-shell-menu,
  html body .av-app-header .dropdown > .av-mobile-menu-panel.dropdown-content,
  html body .av-app-header .dropdown > .av-profile-menu-panel.dropdown-content{
    position:fixed !important;
    top:6.65rem !important;
    left:.75rem !important;
    right:.75rem !important;
    width:calc(100vw - 1.5rem) !important;
    max-width:none !important;
    max-height:calc(100dvh - 8.2rem) !important;
    padding:.85rem !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    border-radius:22px !important;
    transform:none !important;
  }

  html body .av-app-header .av-mobile-menu-panel li,
  html body .av-app-header .av-profile-menu-panel li{
    width:100% !important;
  }

  html body .av-app-header .av-mobile-menu-panel :where(a,label,summary),
  html body .av-app-header .av-profile-menu-panel :where(a,label,summary){
    width:100% !important;
    justify-content:flex-start !important;
  }

  html body .av-navbar-actions{
    gap:.35rem !important;
  }

  html body .av-navbar-pill-row{
    gap:.25rem !important;
    flex:1 1 auto !important;
    min-width:0 !important;
  }

  html body .av-navbar-pill-row .av-nav-pill{
    padding:.42rem .48rem !important;
    font-size:.68rem !important;
  }

  html body .av-nav-boost-pill{
    padding:.42rem .48rem !important;
    font-size:.68rem !important;
  }

  html body .av-nav-upgrade-btn{
    min-height:2rem !important;
    height:2rem !important;
    padding-inline:.55rem !important;
    font-size:.72rem !important;
  }

  html body .av-mobile-nav{
    background:#130F0E !important;
    border-top:1px solid rgba(251,244,236,.14) !important;
    box-shadow:0 -22px 60px -34px rgba(0,0,0,.9) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    z-index:850 !important;
  }

  html body .av-mobile-nav__grid{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:.25rem !important;
  }

  html body .av-mobile-nav a{
    min-width:0 !important;
    padding:.48rem .25rem !important;
    font-size:.72rem !important;
    color:#FBF4EC !important;
    white-space:nowrap !important;
  }
}

@media (max-width:390px){
  html body .av-navbar-pill-row .av-nav-pill span:first-child:not(:only-child){
    margin-right:0 !important;
  }

  html body .av-nav-upgrade-btn span:first-child{
    max-width:3.8rem !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}

/* --------------------------------------------------------------------------
   FINAL MOBILE NAVBAR FIX 2026-05-13
   Custom hamburger panel, solid profile dropdown, fixed bottom nav.
   This is intentionally last so no old DaisyUI/glass rule can override it.
   -------------------------------------------------------------------------- */
html body .av-mobile-menu-wrap{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  z-index:10020 !important;
}

html body .av-mobile-menu-toggle{
  position:absolute !important;
  inline-size:1px !important;
  block-size:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

html body .av-mobile-menu-scrim,
html body .av-mobile-main-menu-panel{
  display:none !important;
}

html body .av-app-header{
  z-index:9000 !important;
  overflow:visible !important;
}

html body .av-app-header .navbar,
html body .av-app-header .navbar-start,
html body .av-app-header .navbar-end{
  overflow:visible !important;
}

html body .av-app-header .av-profile-menu-panel.dropdown-content,
html body .av-app-header .dropdown > .av-profile-menu-panel.dropdown-content,
html body .av-app-header .dropdown-content.av-shell-menu{
  background:#FBF4EC !important;
  background-image:none !important;
  color:#201614 !important;
  border:1px solid rgba(36,24,23,.16) !important;
  box-shadow:0 30px 90px -34px rgba(0,0,0,.82) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  opacity:1 !important;
  isolation:isolate !important;
  z-index:10030 !important;
}

html body .av-app-header .av-profile-menu-panel :where(a,label,summary,li,span),
html body .av-app-header .dropdown-content.av-shell-menu :where(a,label,summary,li,span){
  color:#201614 !important;
  -webkit-text-fill-color:#201614 !important;
  text-shadow:none !important;
}

html body .av-app-header .av-profile-menu-panel::before,
html body .av-app-header .av-profile-menu-panel::after,
html body .av-app-header .dropdown-content.av-shell-menu::before,
html body .av-app-header .dropdown-content.av-shell-menu::after{
  content:none !important;
  display:none !important;
}

html body .av-mobile-nav{
  position:fixed !important;
  top:auto !important;
  right:max(.75rem, env(safe-area-inset-right)) !important;
  bottom:max(.75rem, env(safe-area-inset-bottom)) !important;
  left:max(.75rem, env(safe-area-inset-left)) !important;
  z-index:850 !important;
  display:none !important;
  width:auto !important;
  background:#130F0E !important;
  background-image:none !important;
  border:1px solid rgba(251,244,236,.14) !important;
  box-shadow:0 -24px 70px -36px rgba(0,0,0,.92) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

@media (max-width:1023px){
  html body .av-mobile-nav{
    display:grid !important;
  }

  html body .av-mobile-nav__grid{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:.25rem !important;
    width:100% !important;
  }

  html body .av-mobile-nav a{
    min-width:0 !important;
    color:#FBF4EC !important;
    -webkit-text-fill-color:#FBF4EC !important;
    white-space:nowrap !important;
  }

  html body .av-mobile-menu-toggle:checked ~ .av-mobile-menu-scrim{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    z-index:10010 !important;
    background:rgba(19,15,14,.66) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  html body .av-mobile-menu-toggle:checked ~ .av-mobile-main-menu-panel{
    display:block !important;
    position:fixed !important;
    top:5.25rem !important;
    left:max(.75rem, env(safe-area-inset-left)) !important;
    right:max(.75rem, env(safe-area-inset-right)) !important;
    width:auto !important;
    max-height:calc(100dvh - 6.25rem) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    z-index:10040 !important;
    padding:1rem !important;
    border-radius:24px !important;
    background:#FBF4EC !important;
    background-image:none !important;
    color:#201614 !important;
    border:1px solid rgba(36,24,23,.16) !important;
    box-shadow:0 30px 90px -34px rgba(0,0,0,.86) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  html body .av-mobile-main-menu-panel :where(a,label,summary,li,span,button){
    color:#201614 !important;
    -webkit-text-fill-color:#201614 !important;
    text-shadow:none !important;
  }

  html body .av-mobile-main-menu-panel :where(a,label,summary){
    display:flex !important;
    align-items:center !important;
    gap:.65rem !important;
    min-height:2.75rem !important;
    width:100% !important;
    border-radius:16px !important;
    padding:.55rem .75rem !important;
    background:transparent !important;
  }

  html body .av-mobile-main-menu-panel :where(a,label,summary):hover,
  html body .av-mobile-main-menu-panel :where(a,label,summary):focus-visible{
    background:rgba(184,92,69,.12) !important;
    color:#201614 !important;
  }

  html body:has(#av-mobile-menu-toggle:checked) .av-mobile-nav{
    display:none !important;
  }

  html body:has(#av-mobile-menu-toggle:checked){
    overflow:hidden !important;
  }

  html body .av-app-header .dropdown > .av-profile-menu-panel.dropdown-content{
    position:fixed !important;
    top:5.25rem !important;
    left:max(.75rem, env(safe-area-inset-left)) !important;
    right:max(.75rem, env(safe-area-inset-right)) !important;
    width:auto !important;
    max-width:none !important;
    max-height:calc(100dvh - 6.25rem) !important;
    overflow-y:auto !important;
    border-radius:24px !important;
    padding:1rem !important;
    transform:none !important;
  }
}

/* --------------------------------------------------------------------------
   FINAL NAVBAR PATCH 2026-05-13B
   Robust JS-toggled mobile menu, solid profile dropdown, bottom icon nav.
   -------------------------------------------------------------------------- */
html body .av-mobile-menu-scrim[hidden],
html body .av-mobile-main-menu-panel[hidden]{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

html body .av-mobile-menu-scrim,
html body .av-mobile-main-menu-panel{
  display:none !important;
}

@media (max-width:1023px){
  html body .av-app-header{
    z-index:9000 !important;
    overflow:visible !important;
  }

  html body .av-mobile-menu-button{
    position:relative !important;
    z-index:10060 !important;
  }

  html body.av-mobile-menu-open .av-mobile-menu-scrim:not([hidden]){
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    z-index:10010 !important;
    background:rgba(19,15,14,.72) !important;
    border:0 !important;
    padding:0 !important;
    margin:0 !important;
    cursor:pointer !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  html body.av-mobile-menu-open .av-mobile-main-menu-panel:not([hidden]){
    display:block !important;
    position:fixed !important;
    top:5.15rem !important;
    left:max(.75rem, env(safe-area-inset-left)) !important;
    right:max(.75rem, env(safe-area-inset-right)) !important;
    width:auto !important;
    max-height:calc(100dvh - 6.25rem) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    z-index:10050 !important;
    padding:1rem !important;
    border-radius:24px !important;
    background:#FBF4EC !important;
    background-image:none !important;
    color:#201614 !important;
    border:1px solid rgba(36,24,23,.16) !important;
    box-shadow:0 34px 90px -28px rgba(0,0,0,.86) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  html body.av-mobile-menu-open .av-mobile-main-menu-panel :where(a,label,summary,li,span,button){
    color:#201614 !important;
    -webkit-text-fill-color:#201614 !important;
    text-shadow:none !important;
  }

  html body.av-mobile-menu-open .av-mobile-main-menu-panel :where(a,label,summary){
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:.65rem !important;
    min-height:2.65rem !important;
    width:100% !important;
    border-radius:16px !important;
    padding:.55rem .75rem !important;
    background:transparent !important;
    font-weight:800 !important;
  }

  html body.av-mobile-menu-open .av-mobile-main-menu-panel :where(a,label,summary):hover,
  html body.av-mobile-menu-open .av-mobile-main-menu-panel :where(a,label,summary):focus-visible{
    background:rgba(184,92,69,.12) !important;
  }

  html body.av-mobile-menu-open .av-mobile-main-menu-panel details ul{
    background:#fffaf5 !important;
    border:1px solid rgba(36,24,23,.12) !important;
    border-radius:18px !important;
  }

  html body.av-mobile-menu-open .av-mobile-nav{
    display:none !important;
  }

  html body.av-mobile-menu-open{
    overflow:hidden !important;
  }

  html body .av-app-header .dropdown > .av-profile-menu-panel.dropdown-content,
  html body .av-app-header .av-profile-menu-panel.dropdown-content{
    background:#FBF4EC !important;
    background-image:none !important;
    color:#201614 !important;
    border:1px solid rgba(36,24,23,.16) !important;
    box-shadow:0 32px 90px -30px rgba(0,0,0,.86) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    opacity:1 !important;
    z-index:10045 !important;
  }

  html body .av-app-header .av-profile-menu-panel :where(a,label,summary,li,span){
    color:#201614 !important;
    -webkit-text-fill-color:#201614 !important;
  }

  html body .av-mobile-nav{
    position:fixed !important;
    top:auto !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    display:block !important;
    width:auto !important;
    z-index:8500 !important;
    padding:.4rem max(.55rem, env(safe-area-inset-right)) max(.4rem, env(safe-area-inset-bottom)) max(.55rem, env(safe-area-inset-left)) !important;
    border-radius:0 !important;
    background:#241817 !important;
    background-image:none !important;
    border:1px solid rgba(251,244,236,.14) !important;
    border-left:0 !important;
    border-right:0 !important;
    border-bottom:0 !important;
    box-shadow:0 -22px 70px -34px rgba(0,0,0,.95) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  html body .av-mobile-nav__grid{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:.2rem !important;
    width:100% !important;
    max-width:30rem !important;
    margin:0 auto !important;
  }

  html body .av-mobile-nav a{
    position:relative !important;
    display:flex !important;
    min-width:0 !important;
    min-height:3rem !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:.1rem !important;
    border-radius:18px !important;
    padding:.35rem .18rem !important;
    color:#FBF4EC !important;
    -webkit-text-fill-color:#FBF4EC !important;
    font-size:.66rem !important;
    font-weight:800 !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
    text-decoration:none !important;
  }

  html body .av-mobile-nav a:hover,
  html body .av-mobile-nav a:focus-visible,
  html body .av-mobile-nav a.is-active{
    background:rgba(184,92,69,.18) !important;
  }

  html body .av-mobile-nav__icon{
    display:block !important;
    width:1.05rem !important;
    height:1.05rem !important;
    line-height:1 !important;
    color:#FBF4EC !important;
    -webkit-text-fill-color:#FBF4EC !important;
  }

  html body .av-mobile-nav__badge{
    position:absolute !important;
    top:.2rem !important;
    right:.38rem !important;
    min-width:1.05rem !important;
    height:1.05rem !important;
    padding:0 .25rem !important;
    border-radius:999px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:.62rem !important;
    color:#201614 !important;
    -webkit-text-fill-color:#201614 !important;
    background:#ff6688 !important;
    border:0 !important;
  }

  html body .av-mobile-nav__badge.hidden,
  html body .av-mobile-nav__badge[hidden]{
    display:none !important;
  }

  html body{
    padding-bottom:calc(5rem + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width:1023px){
  html body.chat-page #chatForm.chat-composer{
    bottom:calc(var(--av-mobile-nav-height, 4.75rem) + env(safe-area-inset-bottom)) !important;
  }

  html body.chat-page #chatScroll.chat-scroll-surface{
    padding-bottom:calc(var(--av-mobile-nav-height, 4.75rem) + 8.5rem + env(safe-area-inset-bottom)) !important;
    scroll-padding-bottom:calc(var(--av-mobile-nav-height, 4.75rem) + 8.5rem + env(safe-area-inset-bottom)) !important;
  }
}

@media (min-width:1024px){
  html body.chat-page #chatForm.chat-composer{
    bottom:0 !important;
  }

  html body.chat-page #chatScroll.chat-scroll-surface{
    padding-bottom:1.25rem !important;
    scroll-padding-bottom:1.25rem !important;
  }
}

/* --------------------------------------------------------------------------
   PHASE 2 FRONTEND CLEANUP
   Small visual system pass only. No route, JS, payment, Socket.IO, or data hooks.
   -------------------------------------------------------------------------- */
:root{
  --av-ivory:#FBF4EC;
  --av-espresso:#241817;
  --av-terracotta:#B85C45;
  --av-gold-clay:#C99A4A;
  --av-olive-sage:#667A5A;
  --av-deep-teal:#2F6F73;
  --av-ink-brown:#201614;
  --av-warm-taupe:#7A6861;
  --av-muted-red:#A33F38;
  --av-surface-warm:#fff8f1;
  --av-border-warm:rgba(36,24,23,.14);
}

html body.dashboard-page-bg .dashboard-hero-panel{
  background:
    linear-gradient(135deg, rgba(36,24,23,.96), rgba(32,22,20,.94)),
    radial-gradient(circle at 15% 0%, rgba(184,92,69,.18), transparent 34%) !important;
  border:1px solid rgba(251,244,236,.12) !important;
  box-shadow:0 24px 70px -46px rgba(0,0,0,.92) !important;
}

html body.dashboard-page-bg .dashboard-section-heading{
  border-left:3px solid var(--av-terracotta);
  padding-left:.85rem;
}

html body.dashboard-page-bg .dashboard-section-kicker,
html body.dashboard-page-bg .profile-kicker{
  color:var(--av-gold-clay) !important;
  letter-spacing:.14em !important;
}

html body.dashboard-page-bg .dashboard-picks-section{
  margin-top:.25rem;
}

html body.dashboard-page-bg .dashboard-discovery-card{
  background:var(--av-espresso) !important;
  border-color:rgba(251,244,236,.14) !important;
  border-radius:22px !important;
  box-shadow:0 24px 72px -48px rgba(0,0,0,.94) !important;
}

html body.dashboard-page-bg .dashboard-discovery-card > .relative:first-child{
  border-radius:20px 20px 0 0 !important;
}

html body.dashboard-page-bg .dashboard-discovery-card > :where(.p-3,.p-4){
  padding:1rem !important;
}

html body.dashboard-page-bg .dashboard-card-intent-chip{
  min-height:1.7rem !important;
  border:1px solid rgba(251,244,236,.16) !important;
  background:rgba(251,244,236,.09) !important;
  color:rgba(251,244,236,.88) !important;
  box-shadow:none !important;
}

html body.dashboard-page-bg .dashboard-card-intent-chip.intent{
  border-color:rgba(201,154,74,.32) !important;
  background:rgba(201,154,74,.14) !important;
  color:#F7DFB0 !important;
}

html body.dashboard-page-bg .dashboard-card-intent-chip.vibe,
html body.dashboard-page-bg .dashboard-why-trigger{
  border-color:rgba(47,111,115,.36) !important;
  background:rgba(47,111,115,.18) !important;
  color:#BFE8E6 !important;
}

html body.dashboard-page-bg .dashboard-why-dropdown .dropdown-content,
html body.dashboard-page-bg .dashboard-card-dropdown .dropdown-content{
  background:var(--av-espresso) !important;
  border-color:rgba(251,244,236,.16) !important;
  color:var(--av-ivory) !important;
  box-shadow:0 28px 72px -34px rgba(0,0,0,.9) !important;
}

html body.dashboard-page-bg .dashboard-card-meta{
  color:rgba(251,244,236,.72) !important;
  line-height:1.45 !important;
}

html body.dashboard-page-bg .dashboard-discovery-card .av-card-actions{
  gap:.45rem !important;
  align-items:stretch !important;
}

html body.dashboard-page-bg .dashboard-discovery-card .av-card-action{
  min-height:2.35rem !important;
  border-radius:999px !important;
  font-weight:800 !important;
}

html body.dashboard-page-bg .dashboard-discovery-card .card-menu-btn{
  min-width:2.35rem !important;
}

html body.profile-page .profile-shell{
  background:var(--av-surface-warm) !important;
  color:var(--av-ink-brown) !important;
  border:1px solid var(--av-border-warm) !important;
  box-shadow:0 32px 90px -56px rgba(0,0,0,.88) !important;
}

html body.profile-page .profile-title-text{
  color:var(--av-ink-brown) !important;
}

html body.profile-page .profile-kicker{
  color:var(--av-terracotta) !important;
  letter-spacing:.14em !important;
}

html body.profile-page .profile-card,
html body.profile-page .profile-empty,
html body.profile-page .profile-shell .av-glass{
  background:#fffaf5 !important;
  border:1px solid rgba(36,24,23,.12) !important;
  color:var(--av-ink-brown) !important;
  box-shadow:0 18px 44px -34px rgba(36,24,23,.38) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

html body.profile-page .profile-chip.trust,
html body.profile-page .profile-shell .av-chip{
  border-color:rgba(36,24,23,.14) !important;
  background:rgba(251,244,236,.78) !important;
  color:var(--av-ink-brown) !important;
  box-shadow:none !important;
}

html body.profile-page .profile-chip.trust{
  border-color:rgba(102,122,90,.28) !important;
  background:rgba(102,122,90,.12) !important;
  color:#344B2C !important;
}

html body.profile-page .profile-action-primary{
  background:var(--av-terracotta) !important;
  color:var(--av-ivory) !important;
  border-color:transparent !important;
}

html body.profile-page .profile-action-secondary{
  background:rgba(36,24,23,.06) !important;
  color:var(--av-ink-brown) !important;
  border:1px solid rgba(36,24,23,.14) !important;
}

html body.profile-page .profile-menu-panel{
  background:#fffaf5 !important;
  border:1px solid rgba(36,24,23,.14) !important;
  color:var(--av-ink-brown) !important;
  box-shadow:0 24px 64px -36px rgba(0,0,0,.72) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

html body.messages-page .messages-shell{
  background:#fffaf5 !important;
  border-color:rgba(36,24,23,.12) !important;
  box-shadow:0 28px 76px -56px rgba(0,0,0,.86) !important;
}

html body.messages-page .message-thread-item{
  border-color:rgba(36,24,23,.08) !important;
}

html body.messages-page .message-thread-item:hover,
html body.messages-page .message-thread-item.is-unread{
  background:rgba(184,92,69,.09) !important;
}

html body.messages-page .message-context-chip{
  border-color:rgba(184,92,69,.22) !important;
  background:rgba(184,92,69,.08) !important;
  color:var(--av-terracotta) !important;
}

html body.chat-page .chat-panel{
  border-color:rgba(251,244,236,.14) !important;
  box-shadow:0 28px 76px -56px rgba(0,0,0,.9) !important;
}

html body.chat-page .chat-scroll-surface{
  background:#fffaf5 !important;
  border-color:rgba(36,24,23,.12) !important;
}

html body .av-profile-card{
  background:var(--av-espresso) !important;
  border:1px solid rgba(251,244,236,.14) !important;
  border-radius:22px !important;
  box-shadow:0 24px 72px -50px rgba(0,0,0,.94) !important;
  overflow:hidden !important;
}

html body .av-profile-media::after{
  background:linear-gradient(180deg, transparent 34%, rgba(32,22,20,.42) 62%, rgba(32,22,20,.94) 100%) !important;
}

html body .av-profile-overlay{
  padding:1rem !important;
  color:var(--av-ivory) !important;
}

html body .av-profile-overlay :where(.av-btn,.btn){
  min-height:2.35rem !important;
  border-radius:999px !important;
  font-weight:800 !important;
}

html body .av-profile-overlay .av-btn-ghost,
html body .av-profile-overlay .btn-outline{
  background:rgba(251,244,236,.08) !important;
  border-color:rgba(251,244,236,.16) !important;
  color:var(--av-ivory) !important;
}

html body .av-profile-overlay .av-btn-primary{
  background:var(--av-terracotta) !important;
  color:var(--av-ivory) !important;
  border-color:transparent !important;
}

html body.dating-search-bg .search-shell,
html body.dating-search-bg .filter-section{
  background:rgba(251,244,236,.10) !important;
  border-color:rgba(251,244,236,.16) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

@media (max-width:640px){
  html body.dashboard-page-bg .dashboard-discovery-card .av-card-actions{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  html body.dashboard-page-bg .dashboard-discovery-card .dashboard-card-dropdown{
    grid-column:span 2 !important;
  }

  html body.dashboard-page-bg .dashboard-discovery-card .card-menu-btn{
    width:100% !important;
  }

  html body.profile-page .profile-shell{
    border-radius:24px !important;
  }

  html body.profile-page .profile-section{
    padding-left:1rem !important;
    padding-right:1rem !important;
  }

  html body.profile-page .profile-action-primary,
  html body.profile-page .profile-action-secondary{
    min-height:2.5rem !important;
  }

  html body.messages-page main{
    padding-bottom:calc(var(--av-mobile-nav-height, 4.75rem) + 1.25rem + env(safe-area-inset-bottom)) !important;
  }

  html body.dating-search-bg main{
    padding-bottom:calc(var(--av-mobile-nav-height, 4.75rem) + 1.5rem + env(safe-area-inset-bottom)) !important;
  }

  html body .av-profile-card{
    min-height:500px !important;
  }

  html body.edit-profile-page main,
  html body:has(form[action="/edit-profile"]) main{
    padding-bottom:calc(var(--av-mobile-nav-height, 4.75rem) + 2rem + env(safe-area-inset-bottom)) !important;
  }
}

/* Phase 3 dashboard card structure */
html body.dashboard-page-bg .dashboard-card-media{
  position:relative !important;
  isolation:isolate !important;
}

html body.dashboard-page-bg .dashboard-card-favorite{
  z-index:30 !important;
}

html body.dashboard-page-bg .dashboard-card-photo-count{
  max-width:calc(100% - 4.75rem) !important;
}

html body.dashboard-page-bg .dashboard-card-photo-count span{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

html body.dashboard-page-bg .dashboard-card-body{
  display:flex !important;
  min-width:0 !important;
  flex-direction:column !important;
  gap:.55rem !important;
}

html body.dashboard-page-bg .dashboard-card-title-row{
  min-width:0 !important;
  flex-wrap:wrap !important;
  align-items:center !important;
}

html body.dashboard-page-bg .dashboard-card-title{
  min-width:0 !important;
  flex:1 1 9rem !important;
}

html body.dashboard-page-bg .dashboard-card-location{
  min-width:0 !important;
  margin-top:0 !important;
}

html body.dashboard-page-bg .dashboard-card-location span{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

html body.dashboard-page-bg .dashboard-card-more-menu .dropdown-content{
  background:#130F0E !important;
  border-color:rgba(251,244,236,.14) !important;
}

@media (max-width:640px){
  html body.dashboard-page-bg .dashboard-card-photo-count{
    max-width:calc(100% - 4.25rem) !important;
  }

  html body.dashboard-page-bg .dashboard-card-body{
    gap:.5rem !important;
  }

  html body.dashboard-page-bg .dashboard-card-title{
    flex-basis:100% !important;
  }
}

/* Phase 4 profile reading experience */
html body.profile-page .profile-hero-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

html body.profile-page .profile-intent-line{
  max-width:42rem !important;
  color:var(--av-warm-taupe) !important;
}

html body.profile-page .profile-action-row{
  align-content:flex-start !important;
}

html body.profile-page .profile-action-row :where(.btn,a){
  min-height:2.45rem !important;
}

html body.profile-page .profile-trust-strip{
  padding-top:.15rem !important;
}

html body.profile-page .profile-trust-strip .av-chip,
html body.profile-page .profile-interest-list .av-chip{
  border-color:rgba(36,24,23,.12) !important;
  background:rgba(36,24,23,.045) !important;
  color:rgba(32,22,20,.78) !important;
}

html body.profile-page .profile-editorial-grid{
  align-items:start !important;
}

html body.profile-page .profile-editorial-card{
  background:linear-gradient(180deg, rgba(255,250,245,.96), rgba(251,244,236,.78)) !important;
}

html body.profile-page .profile-editorial-card p:last-child,
html body.profile-page .profile-about-card p{
  color:rgba(32,22,20,.82) !important;
  font-size:1rem !important;
  line-height:1.8 !important;
}

html body.profile-page .profile-compat-card,
html body.profile-page .profile-trust-card{
  position:relative !important;
  overflow:hidden !important;
}

html body.profile-page .profile-compat-card::before,
html body.profile-page .profile-trust-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 auto 0 0 !important;
  width:3px !important;
  background:var(--av-terracotta) !important;
  opacity:.82 !important;
}

html body.profile-page .profile-section-title{
  color:var(--av-espresso) !important;
}

html body.profile-page .profile-details-card > div{
  border-bottom:1px solid rgba(36,24,23,.08) !important;
  padding-bottom:.7rem !important;
}

html body.profile-page .profile-details-card > div:last-child{
  border-bottom:0 !important;
  padding-bottom:0 !important;
}

html body.profile-page .profile-photo-grid .profile-photo-trigger{
  aspect-ratio:4/5 !important;
}

html body.profile-page .profile-photo-grid .profile-photo-trigger img{
  height:100% !important;
}

html body.profile-page .profile-footer-actions{
  border-top:1px solid rgba(36,24,23,.10) !important;
}

@media (max-width:640px){
  html body.profile-page main#profile{
    padding-bottom:calc(var(--av-mobile-nav-height, 4.75rem) + 2rem + env(safe-area-inset-bottom)) !important;
  }

  html body.profile-page .profile-hero-photo{
    min-height:13.5rem !important;
  }

  html body.profile-page .profile-action-row{
    width:100% !important;
  }

  html body.profile-page .profile-action-row :where(.btn,a){
    flex:1 1 calc(50% - .25rem) !important;
    min-width:8.25rem !important;
  }

  html body.profile-page .profile-footer-actions > div,
  html body.profile-page .profile-footer-actions :where(.btn,a){
    width:100% !important;
  }
}

/* Phase 5 messages and chat UX polish */
html body.messages-page .message-thread-row{
  min-width:0 !important;
  align-items:center !important;
}

html body.messages-page .message-thread-avatar{
  border-radius:1.05rem !important;
}

html body.messages-page .message-thread-link{
  padding:.35rem .2rem !important;
}

html body.messages-page .message-thread-main{
  min-width:0 !important;
}

html body.messages-page .message-thread-name-row{
  min-width:0 !important;
}

html body.messages-page .message-thread-name-row > .truncate{
  min-width:0 !important;
  max-width:100% !important;
}

html body.messages-page .message-thread-preview-row{
  min-width:0 !important;
}

html body.messages-page .message-thread-context{
  max-width:100% !important;
}

html body.messages-page .messages-empty-state{
  border:1px dashed rgba(36,24,23,.18) !important;
  background:rgba(255,250,245,.58) !important;
}

html body.chat-page .chat-header-main{
  min-width:0 !important;
}

html body.chat-page .chat-peer-summary{
  min-width:0 !important;
}

html body.chat-page .chat-peer-summary > div:last-child{
  min-width:0 !important;
}

html body.chat-page .chat-context-chip{
  max-width:100% !important;
  white-space:normal !important;
  line-height:1.25 !important;
}

html body.chat-page .chat-header-actions :where(.btn,button){
  min-height:2.75rem !important;
}

html body.chat-page .chat-starter-panel{
  border-color:rgba(251,244,236,.14) !important;
}

html body.chat-page .chat-message-row{
  min-width:0 !important;
}

html body.chat-page .chat-message-bubble{
  max-width:100% !important;
}

html body.chat-page .chat-composer-row{
  align-items:center !important;
}

html body.chat-page .chat-composer-row #chatInput{
  min-height:2.85rem !important;
}

html body.chat-page .chat-composer-row button{
  min-height:2.85rem !important;
}

html body.chat-page .chat-safety-actions{
  padding-bottom:.25rem !important;
}

@media (max-width:640px){
  html body.messages-page main{
    padding-bottom:calc(var(--av-mobile-nav-height, 4.75rem) + 1.75rem + env(safe-area-inset-bottom)) !important;
  }

  html body.messages-page .message-thread-row{
    align-items:flex-start !important;
    gap:.75rem !important;
    overflow:hidden !important;
  }

  html body.messages-page .message-thread-link{
    padding:.25rem 0 !important;
    max-width:calc(100% - 4.25rem) !important;
    overflow:hidden !important;
  }

  html body.messages-page .message-thread-name-row{
    align-items:flex-start !important;
  }

  html body.messages-page .message-thread-name-row > .truncate{
    flex:1 1 auto !important;
    display:block !important;
    max-width:calc(100vw - 8.75rem) !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  html body.messages-page .message-thread-name-row > div:last-child{
    flex:0 0 auto !important;
  }

  html body.messages-page .message-thread-preview-row{
    flex-wrap:wrap !important;
    gap:.35rem .45rem !important;
  }

  html body.messages-page .message-thread-preview-row > .truncate{
    flex:1 1 100% !important;
    max-width:calc(100vw - 8.75rem) !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  html body.messages-page .message-thread-context{
    gap:.35rem !important;
  }

  html body.chat-page main{
    padding-bottom:calc(var(--av-mobile-nav-height, 4.75rem) + 1.5rem + env(safe-area-inset-bottom)) !important;
  }

  html body.chat-page .chat-header-actions{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    width:100% !important;
  }

  html body.chat-page .chat-peer-summary{
    align-items:flex-start !important;
    width:100% !important;
    overflow:hidden !important;
  }

  html body.chat-page .chat-peer-summary .truncate{
    display:block !important;
    max-width:calc(100vw - 8.25rem) !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  html body.chat-page .chat-context-chip{
    max-width:calc(100vw - 8.25rem) !important;
  }

  html body.chat-page .chat-header-card,
  html body.chat-page .chat-header-main{
    overflow:hidden !important;
  }

  html body.chat-page .chat-header-actions :where(.btn,button){
    width:100% !important;
    min-width:0 !important;
  }

  html body.chat-page .chat-starter-panel .chat-starter-btn{
    width:100% !important;
    justify-content:center !important;
    min-height:2.45rem !important;
    text-align:center !important;
  }

  html body.chat-page .chat-message-stack{
    max-width:88% !important;
  }

  html body.chat-page .chat-composer-row{
    gap:.5rem !important;
  }

  html body.chat-page .chat-composer-row button{
    padding-left:1rem !important;
    padding-right:1rem !important;
  }

  html body.chat-page .chat-safety-actions{
    padding-bottom:.5rem !important;
  }

  html body.chat-page .chat-safety-actions :where(button,a){
    width:100% !important;
  }
}
