/* ══════════════════════════════════
   ROOT & RESET
══════════════════════════════════ */
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{width:100%;height:100%;overflow:hidden;background:#0A0A0A;}

/* ── Noise texture overlay (premium feel) ── */
body::before{
  content:'';
  position:fixed;top:0;left:0;width:100%;height:100%;
  pointer-events:none;z-index:9999;
  opacity:var(--noise-opacity,0.03);
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}

:root{
  /* ══ Cyber Luxury (Dark) — Design System ══ */
  --bg:        #000000;   /* Preto Absoluto */
  --bg2:       #16161A;   /* Grafite Profundo — superfícies (cards/menus/modais) */
  --bg3:       #1E1E24;   /* superfície elevada */
  --bg4:       #26262E;
  --card:      #16161A;
  --surface:   #16161A;

  /* ── Primária: Ouro Elétrico ── */
  --gold:       #FFB300;
  --gold2:      #FFD466;
  --gold-dim:   rgba(255,179,0,.12);
  --gold-bdr:   rgba(255,179,0,.30);
  --gold-grad:  linear-gradient(135deg,#FFD466 0%,#FFB300 55%,#C77E00 100%);
  --gold-grad2: linear-gradient(135deg,#FFB300 0%,#C77E00 100%);
  --cta-bg:     #FFB300;   /* fundo dos CTAs */
  --cta-fg:     #16161A;   /* texto escuro dentro do CTA (ambos os modos) */
  --glow:       rgba(255,179,0,.45);  /* brilho de elementos ativos/snaps */

  /* ── Tipografia ── */
  --text1:  #FFFFFF;   /* Branco Puro */
  --text2:  #B3B3BA;
  --text3:  #74747E;

  /* ── Bordas ── */
  --bdr:    rgba(255,255,255,0.08);
  --bdr2:   rgba(255,179,0,0.18);

  /* ── Accent Colors ── */
  --teal:   #10B981;
  --pink:   #E040A0;
  --blue:   #3D7EFF;

  /* ── Layout ── */
  --nav-h:      62px;
  --font-brand: 'Michroma',sans-serif;
  --font-ui:    'Inter',sans-serif;

  /* ── Elevação (dark: contraste sólido) ── */
  --shadow:  0 10px 30px rgba(0,0,0,.55);

  /* ── Glassmorphism ── */
  --glass-bg:   rgba(22,22,26,0.85);
  --glass-bdr:  rgba(255,179,0,0.15);
  --noise-opacity: 0.03;
}


/* ════════════════════════════════════════════════════
   LIGHT MODE — overrides completos
════════════════════════════════════════════════════ */

/* ── Variáveis ── */
[data-theme="light"]{
  /* ══ Premium Minimalist (Light) ══ */
  --bg:     #F5F5F7;   /* Prata Titânio */
  --bg2:    #FFFFFF;   /* superfícies brancas */
  --bg3:    #FFFFFF;
  --bg4:    #FFFFFF;
  --card:   #FFFFFF;
  --surface:#FFFFFF;
  --gold:       #FFB300;   /* primária igual nos dois modos */
  --gold2:      #FFC94D;
  --gold-dim:   rgba(255,179,0,.12);
  --gold-bdr:   rgba(255,179,0,.35);
  --gold-grad:  linear-gradient(135deg,#FFC94D 0%,#FFB300 55%,#E08E00 100%);
  --gold-grad2: linear-gradient(135deg,#FFB300 0%,#E08E00 100%);
  --cta-bg:     #FFB300;
  --cta-fg:     #16161A;
  --glow:       rgba(255,179,0,.35);
  --text1:  #16161A;   /* Grafite Profundo */
  --text2:  #55555C;
  --text3:  #8A8A92;
  --bdr:    rgba(0,0,0,0.08);
  --bdr2:   rgba(255,179,0,0.28);
  /* sombras suaves e difusas nas superfícies brancas (contraste com o prata) */
  --shadow: 0 6px 22px rgba(20,20,30,.10), 0 2px 8px rgba(20,20,30,.06);
  --glass-bg:  rgba(255,255,255,0.92);
  --glass-bdr: rgba(255,179,0,0.22);
}

/* ── App shell ── */
[data-theme="light"] #app{ background:#F5F5F7; }
[data-theme="light"] .screen{ background:#F5F5F7; }

/* ── Nav ── */
[data-theme="light"] .bnav{ background:#fff; border-top-color:#D9D9D9; }
[data-theme="light"] .ni{ color:#A0A0A0; }
[data-theme="light"] .ni.active{ color:var(--gold); }
[data-theme="light"] /* ni-criar: posição absoluta no centro exato */

/* ── Feed cards ── */
/* ═══════════════════════════════════════
   FCARD — LIGHT MODE (override all darks)
═══════════════════════════════════════ */
[data-theme="light"] .fcard{
  background:#FFFFFF !important;
  border:1px solid rgba(0,0,0,0.09) !important;
  box-shadow:0 2px 16px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.05), 0 4px 20px -6px var(--nc1-glow, rgba(255,179,0,.2)) !important;
}
[data-theme="light"] .fcard::before{ display:none !important; }
[data-theme="light"] .fcard:active{ box-shadow:0 1px 6px rgba(0,0,0,0.1) !important; }

/* Header */
[data-theme="light"] .fcard .fcard-author-top{
  background:#FAFAFA !important;
  border-bottom:1px solid rgba(0,0,0,0.07) !important;
}
[data-theme="light"] .fcard .fav-handle{ color:#222 !important; }
[data-theme="light"] .fcard .fcard-menu-btn{ color:rgba(0,0,0,.35) !important; }
[data-theme="light"] .fcard .fav{
  background:rgba(184,134,11,.1) !important;
  border-color:rgba(184,134,11,.3) !important;
}

/* Tags / cats */
[data-theme="light"] .fcard .fcard-cats{
  background:#FAFAFA !important;
  border-bottom:1px solid rgba(0,0,0,0.06) !important;
}

/* Snap preview row */
[data-theme="light"] .fcard .snap-ring-inner{ background:#F0F0F0 !important; }

/* Body */
[data-theme="light"] .fcard .fcard-body{ background:#FFFFFF !important; }
[data-theme="light"] .fcard .fcard-title{ color:#111111 !important; }
[data-theme="light"] .fcard .fcard-desc{ color:#444444 !important; }
[data-theme="light"] .fcard .fcard-ver-mais{ color:#9A6F00 !important; }

/* Date row */
[data-theme="light"] .fcard .fcard-date-row{ background:rgba(0,0,0,.025) !important; border-radius:8px; }
[data-theme="light"] .fcard .fcard-date-item{ color:#9A6F00 !important; }
[data-theme="light"] .fcard .fcard-date-item svg path,
[data-theme="light"] .fcard .fcard-date-item svg rect,
[data-theme="light"] .fcard .fcard-date-item svg circle{ stroke:#9A6F00 !important; }

/* Meta / location */
[data-theme="light"] .fcard .fcard-meta .fmeta{ color:#666 !important; }
[data-theme="light"] .fcard .fcard-meta .fmeta svg path{ stroke:#888 !important; }
[data-theme="light"] .fcard .fmeta-loc{ color:#555 !important; text-decoration-color:#aaa !important; }

/* Edit pin */
[data-theme="light"] .fcard .fcard-edit-pin{
  color:#777 !important;
  border-color:rgba(0,0,0,.15) !important;
  background:rgba(0,0,0,.04) !important;
}
[data-theme="light"] .fcard .fcard-edit-pin span{ color:#777 !important; }

/* Privacy badge */
[data-theme="light"] .fcard .fcard-privacy{
  background:#F5F0E8 !important;
  border-bottom:1px solid rgba(184,134,11,.15) !important;
}
[data-theme="light"] .fcard .fcard-privacy-lbl{
  color:#7A5200 !important;
}
[data-theme="light"] .fcard .fcard-privacy-icon{
  filter:none !important;
  opacity:1 !important;
}

/* Footer */
[data-theme="light"] .fcard .fcard-footer{
  background:#FAFAFA !important;
  border-top:1px solid rgba(0,0,0,0.07) !important;
}
[data-theme="light"] .fcard .btn-share{
  background:rgba(0,0,0,.04) !important;
  border-color:rgba(0,0,0,.10) !important;
  color:#666 !important;
}
[data-theme="light"] .fcard .btn-msg{
  background:rgba(0,130,110,.07) !important;
  border-color:rgba(0,130,110,.2) !important;
  color:#006B54 !important;
}
[data-theme="light"] .fcard .fcard-snap-btn{
  background:rgba(184,134,11,.08) !important;
  border-color:rgba(184,134,11,.28) !important;
  color:#8B6914 !important;
}

/* Decorative — hide dark glows */
[data-theme="light"] .fcard-shine{ display:none !important; }
[data-theme="light"] .fcard-corner{ display:none !important; }

/* Snap preview badge */
[data-theme="light"] .fcard-snap-preview .fcard-snap-timer{
  background:rgba(0,0,0,.5) !important;
}
[data-theme="light"] .fav{
  background:rgba(184,134,11,0.12);
  border-color:rgba(184,134,11,0.30);
  color:#B8860B;
}
[data-theme="light"] .fav-handle{ color:#444; }

/* ── Feed sidebar / filtros ── */
[data-theme="light"] .feed-sidebar-panel{
  background:#FFFFFF;
  border-left:1px solid rgba(0,0,0,0.10);
  box-shadow:-4px 0 20px rgba(0,0,0,0.08);
}
[data-theme="light"] .fsb-hdr{
  background:#FFFFFF;
  border-bottom:1px solid rgba(0,0,0,0.08);
}
[data-theme="light"] .fsb-title{ color:#16161A; }
[data-theme="light"] .fsb-close{
  background:rgba(0,0,0,0.05);
  border-color:rgba(0,0,0,0.10);
  color:#444;
}
[data-theme="light"] .fsb-section-lbl{ color:#888; }
[data-theme="light"] .fsb-input{
  background:#F0F0F0;
  border-color:rgba(0,0,0,0.12);
  color:#16161A;
}
[data-theme="light"] .fsb-select{
  background:#F0F0F0;
  border-color:rgba(0,0,0,0.12);
  color:#16161A;
}
[data-theme="light"] .fsb-clear-btn{
  background:rgba(0,0,0,0.04);
  border-color:rgba(0,0,0,0.10);
  color:#555;
}
[data-theme="light"] .ffb-sort-btn{
  background:#F0F0F0;
  border-color:rgba(0,0,0,0.10);
  color:#555;
}
[data-theme="light"] .ffb-sort-btn.active{
  background:rgba(184,134,11,0.12);
  border-color:rgba(184,134,11,0.35);
  color:#B8860B;
}
[data-theme="light"] .feed-sidebar-tab{
  background:#FFFFFF;
  border-color:rgba(0,0,0,0.12);
  box-shadow:4px 0 12px rgba(0,0,0,0.08);
}

/* ══ INBOX — dark mode base classes ══ */
.inbox-sheet {
  background: linear-gradient(160deg,#161410,#0d0c09);
  border: 1px solid rgba(255,179,0,.25);
}
.inbox-conv-row {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  transition: background .12s;
  -webkit-tap-highlight-color: transparent;
}
.inbox-conv-row:active { background: rgba(255,255,255,.04); }
.inbox-conv-avatar {
  width: 42px; height: 42px; border-radius: 50%;
  background: rgba(255,179,0,.12);
  border: 1.5px solid rgba(255,179,0,.28);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; overflow: hidden;
  font-family: var(--font-brand); font-size: 13px; color: var(--gold);
  position: relative;
}
.inbox-conv-avatar img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; border-radius: 50%;
  display: block;
}
.inbox-bubble-wrap {
  display: flex; flex-direction: column; max-width: 78%;
}
.inbox-bubble-wrap.mine  { align-self: flex-end;   align-items: flex-end; }
.inbox-bubble-wrap.their { align-self: flex-start; align-items: flex-start; }
/* DARK bolha própria: dourado com texto legível — contraste ~5.2:1 */
.inbox-bubble.mine {
  background: rgba(255,179,0,.22);
  color: #F5F0E8;
  border: 1px solid rgba(255,179,0,.38);
  border-radius: 18px 18px 4px 18px;
  padding: 9px 14px;
  font-family: var(--font-ui); font-size: 14px; line-height: 1.5;
  word-break: break-word;
}
/* DARK bolha do outro: fundo escuro, texto claro — contraste ~9.1:1 */
.inbox-bubble.their {
  background: rgba(255,255,255,.08);
  color: #E8E8E8;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px 18px 18px 4px;
  padding: 9px 14px;
  font-family: var(--font-ui); font-size: 14px; line-height: 1.5;
  word-break: break-word;
}
.inbox-time {
  font-family: var(--font-ui); font-size: 10px;
  color: rgba(255,255,255,.35); margin-top: 3px; padding: 0 2px;
}
/* ══ INBOX — light mode ══ */
[data-theme="light"] .inbox-sheet {
  background: #FFFFFF !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  box-shadow: 0 -4px 24px rgba(0,0,0,.10) !important;
}
[data-theme="light"] .inbox-sheet > div:first-child > div {
  background: rgba(0,0,0,.18) !important;
}
[data-theme="light"] #inbox-panel div[style*="border-bottom"] {
  background: #FFFFFF !important;
  border-bottom-color: rgba(0,0,0,.08) !important;
}
[data-theme="light"] #inbox-conv-name  { color: #16161A !important; }
[data-theme="light"] #inbox-conv-handle{ color: #666666 !important; }
[data-theme="light"] #inbox-back-btn   { color: #444444 !important; }
[data-theme="light"] #inbox-new-btn {
  background: rgba(184,134,11,.10) !important;
  border-color: rgba(184,134,11,.30) !important;
  color: #8B6914 !important;
}
[data-theme="light"] #inbox-messages { background: #F2F2F2 !important; }
[data-theme="light"] .inbox-conv-row {
  border-bottom: 1px solid rgba(0,0,0,.07) !important;
  background: transparent !important;
}
[data-theme="light"] .inbox-conv-row:active { background: rgba(0,0,0,.04) !important; }
[data-theme="light"] .inbox-conv-avatar {
  background: rgba(184,134,11,.10) !important;
  border-color: rgba(184,134,11,.30) !important;
  color: #8B6914 !important;
}
/* LIGHT bolha própria: dourado sólido + branco — contraste 5.5:1 ✓ AA */
[data-theme="light"] .inbox-bubble.mine {
  background: #A67C00 !important;
  color: #FFFFFF !important;
  border: none !important;
}
/* LIGHT bolha do outro: cinza + texto escuro — contraste 11:1 ✓ AAA */
[data-theme="light"] .inbox-bubble.their {
  background: #E2E2E2 !important;
  color: #16161A !important;
  border: 1px solid rgba(0,0,0,.08) !important;
}
[data-theme="light"] .inbox-time { color: #999999 !important; }
[data-theme="light"] #inbox-panel div[style*="border-top"] {
  background: #FFFFFF !important;
  border-top-color: rgba(0,0,0,.08) !important;
}
[data-theme="light"] #inbox-msg-input {
  background: #EFEFEF !important;
  border-color: rgba(0,0,0,.14) !important;
  color: #16161A !important;
}
[data-theme="light"] #inbox-msg-input::placeholder { color: #AAAAAA !important; }
.inbox-handle-bar { background: rgba(255,255,255,.15); }
[data-theme="light"] .inbox-handle-bar { background: rgba(0,0,0,.20) !important; }

/* Search wrap dark base */
#inbox-search-wrap > div:first-child > div {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,179,0,.2);
}

[data-theme="light"] #inbox-send-btn {
  background: linear-gradient(135deg,rgba(139,105,20,.30),rgba(139,105,20,.14)) !important;
  border-color: rgba(139,105,20,.50) !important;
  color: #7A5C00 !important;
}
[data-theme="light"] #inbox-user-search { color: #16161A !important; }
[data-theme="light"] #inbox-search-results .inbox-conv-row {
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
}
[data-theme="light"] #inbox-search-wrap > div:first-child > div {
  background: #F0F0F0 !important;
  border-color: rgba(0,0,0,.12) !important;
}
[data-theme="light"] #inbox-search-wrap svg { color: #888888 !important; }

/* ── Inputs e buttons globais ── */
[data-theme="light"] input,
[data-theme="light"] textarea,
[data-theme="light"] select{
  background:#F0F0F0;
  color:#16161A;
  border-color:rgba(0,0,0,0.12);
}
[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder{ color:#AAAAAA; }
[data-theme="light"] button{ color:inherit; }

/* ── Criar tela ── */
[data-theme="light"] #scr-criar{
  background:#F5F5F7;
}
[data-theme="light"] .criar-label{ color:#16161A; }
[data-theme="light"] .csel-btn{
  background:#FFFFFF;
  border-color:rgba(0,0,0,0.12);
  color:#16161A;
}
[data-theme="light"] .csel-btn.active{
  background:rgba(184,134,11,0.10);
  border-color:rgba(184,134,11,0.30);
  color:#B8860B;
}

/* ── Settings ── */
[data-theme="light"] #scr-settings .ptb{ background:#FFFFFF; }
[data-theme="light"] .settings-row{
  background:#FFFFFF;
  border-bottom:1px solid rgba(0,0,0,0.06);
}
[data-theme="light"] .settings-label{ color:#16161A; }
[data-theme="light"] .settings-value{ color:#888; }

/* ── Modais e overlays (inline styles override via specific selectors) ── */
[data-theme="light"] #collab-modal > div{
  background:#FFFFFF !important;
  border-color:rgba(0,0,0,0.10) !important;
}
[data-theme="light"] #collab-modal input{
  background:#F0F0F0 !important;
  border-color:rgba(0,0,0,0.12) !important;
  color:#16161A !important;
}
[data-theme="light"] #collab-search-results{
  background:#FFFFFF !important;
  border-color:rgba(0,0,0,0.10) !important;
}

/* ── Map sidebar ── */
[data-theme="light"] #map-sidebar-panel{
  background:#FFFFFF !important;
  border-left:1px solid rgba(0,0,0,0.10) !important;
}

/* ── Profile ── */
[data-theme="light"] #scr-profile .ptb{ background:#FFFFFF; }
[data-theme="light"] .prof-stat-lbl{ color:#888; }
[data-theme="light"] .prof-stat-val{ color:#16161A; }

/* ── Community ── */
[data-theme="light"] #scr-comm{ background:#F5F5F7; }

/* ── Search ── */
[data-theme="light"] #scr-search{ background:#F5F5F7; }
[data-theme="light"] .search-input-wrap{
  background:#FFFFFF;
  border-color:rgba(0,0,0,0.10);
}

/* ── Plan cards ── */
[data-theme="light"] .plan-card{
  background:#FFFFFF !important;
  border-color:rgba(0,0,0,0.10) !important;
}
[data-theme="light"] .plan-tier{ color:#16161A; }
[data-theme="light"] .plan-price-big{ color:#16161A; }
[data-theme="light"] .plan-price-note{ color:#888; }
[data-theme="light"] .plan-benefit{ color:#444; }
[data-theme="light"] .plan-hl{
  background:rgba(184,134,11,0.06);
  border-color:rgba(184,134,11,0.20);
}
[data-theme="light"] .plan-hl-title{ color:#16161A; }
[data-theme="light"] .plan-hl-sub{ color:#666; }
[data-theme="light"] #scr-plans{ background:#F5F5F7; }

/* ── Activity detail ── */
[data-theme="light"] #scr-activity{overflow:hidden;display:flex;flex-direction:column;isolation:isolate;}
[data-theme="light"] #act-detail-header{ background:#FFFFFF !important; border-bottom-color:rgba(0,0,0,.08) !important; }
[data-theme="light"] #act-detail-header-title{ color:#8B6914 !important; }
[data-theme="light"] #act-detail-actions{ background:#FFFFFF !important; border-top-color:rgba(0,0,0,.08) !important; }
[data-theme="light"] .act-detail-title{ color:#111111 !important; }
[data-theme="light"] .act-detail-desc{ color:#444 !important; }
[data-theme="light"] .act-detail-row{ color:#444 !important; }
[data-theme="light"] .act-detail-row span{ color:#444 !important; }
[data-theme="light"] .act-detail-row a{ color:#7A5200 !important; }
#scr-activity{ display:flex !important; flex-direction:column !important; overflow:hidden !important; isolation:isolate !important; }
#scr-activity .prof-avatar-circle,#scr-feed .prof-avatar-circle {width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important;overflow:hidden!important;background-image:none!important;background-size:cover!important;background-position:center!important;}
#act-detail-body{flex:1 1 0% !important;min-height:0 !important;overflow-y:auto !important;overflow-x:hidden !important;position:relative;z-index:1;}
.act-modal-organizer > div:first-child { overflow:hidden !important; position:relative !important; isolation:isolate !important; }
.act-modal-organizer > div:first-child img { width:42px !important; height:42px !important; min-width:42px !important; min-height:42px !important; max-width:42px !important; max-height:42px !important; object-fit:cover !important; border-radius:50% !important; display:block !important; flex-shrink:0 !important; position:static !important; }
#act-detail-header{ flex-shrink:0 !important; }
#act-detail-actions{ flex-shrink:0 !important; }
.act-detail-cover-wrap{
  flex-shrink:0 !important;
  height:240px !important;
  max-height:240px !important;
  min-height:0 !important;
  overflow:hidden !important;
  width:100% !important;
  display:block !important;
}
.act-detail-cover-wrap img{
  width:100% !important;
  height:240px !important;
  max-height:240px !important;
  object-fit:cover !important;
  display:block !important;
}
#act-gallery{
  height:240px !important;
  max-height:240px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  display:flex !important;
}
[data-theme="light"] #act-detail-body{ background:#F5F5F5 !important; }
[data-theme="light"] #act-detail-body > div[style*="background:var(--bg3)"],
[data-theme="light"] #act-detail-body > div[style*="background:var(--bg2)"]{
  background:#FFFFFF !important;
  border-color:rgba(0,0,0,.08) !important;
}

/* ── Status bar ── */
[data-theme="light"] .sb{ background:transparent; }
[data-theme="light"] .sb-time{ color:#16161A; }
[data-theme="light"] .sbd{ background:#16161A; }

/* ── PTB header (top bar das telas) ── */
[data-theme="light"] .ptb{
  background:rgba(245,245,245,0.95);
  border-bottom:1px solid rgba(0,0,0,0.08);
}
[data-theme="light"] .ptb-title{ color:#16161A; }

/* ══════════════════════════════════
   APP SHELL — flex column
══════════════════════════════════ */
#app{
  width:100%; max-width:430px;
  height:100%;
  height:100dvh;
  margin:0 auto;
  position:relative;
  background:var(--bg);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

/* ══════════════════════════════════
   SCREENS — stack via opacity
══════════════════════════════════ */
.screen{
  position:absolute;
  top:0; left:0; right:0; bottom:var(--nav-h);
  display:flex; flex-direction:column;
  opacity:0; pointer-events:none;
  transition:opacity .22s ease;
  background:var(--bg);
  overflow:hidden;
  z-index:1;
}
.screen.active{opacity:1; pointer-events:all; z-index:2;}

/* No-nav screens — full height, cover bnav */
#scr-splash,#scr-login,#scr-login-email,#scr-register{
  bottom:0 !important;
  z-index:1;
}
#scr-splash.active,#scr-login.active,
#scr-login-email.active,#scr-register.active{
  z-index:11;
}

/* ══════════════════════════════════
   BOTTOM NAV
══════════════════════════════════ */

/* ══ BOTTOM NAV ══ */
.ni {
  flex: 1;
  min-width: 0;
  padding: 6px 0 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 3px;
  cursor: pointer;
  color: #A0A0A0;
  -webkit-tap-highlight-color: transparent;
  position: relative;
}
.ni svg { display: block; }
/* Balãozinho de notificação nova embaixo do ícone (estilo Instagram) */
.ni-dot{
  display:none;position:absolute;bottom:1px;left:50%;
  transform:translateX(-50%);
  width:6px;height:6px;border-radius:50%;
  background:var(--gold);border:1.5px solid var(--bg2);
  pointer-events:none;
}
.ni-lbl {
  font-family: var(--font-ui);
  font-size: 10px;
  color: inherit;
  letter-spacing: .4px;
  text-align: center;
  width: 100%;
}
.ni.active { color: var(--gold); }
.ni.active svg path,
.ni.active svg circle,
.ni.active svg rect,
.ni.active svg line,
.ni.active svg polygon { stroke: var(--gold); }
.ni.active .ni-lbl {
  background: var(--gold-grad, var(--gold));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.ni:active { opacity: 0.6; }

/* Botão criar — ocupa flex slot mas o botão fica centralizado */
#ni-criar {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  position: relative;
  z-index: 2;
}
#ni-criar-btn {
  pointer-events: none;
  box-shadow: 0 3px 14px rgba(184,134,11,.4), 0 0 0 2px rgba(184,134,11,.15);
  animation: criarBreath 6s ease-in-out infinite;
}
@keyframes criarBreath{
  0%,100% {
    box-shadow: 0 3px 14px rgba(184,134,11,.4), 0 0 0 2px rgba(184,134,11,.15);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 4px 20px rgba(255,179,0,.55), 0 0 0 4px rgba(255,179,0,.12);
    transform: scale(1.04);
  }
}
#ni-criar:active #ni-criar-btn {
  transform: scale(.91);
  box-shadow: 0 2px 6px rgba(255,179,0,.3);
  animation: none;
}
/* ni-inbox fica acima do ni-criar para receber cliques */
#ni-inbox { z-index: 3; }

/* ── Modo "reduzir efeitos visuais" (compatibilidade/perf em GPU fraca) ── */
[data-lowfx="1"] *{ backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
[data-lowfx="1"] .fcard::before{ display:none !important; }
[data-lowfx="1"] .plan-card::before{ display:none !important; }

.bnav{
  flex-shrink:0;
  height:var(--nav-h);
  background:var(--glass-bg,var(--bg2));
  border-top:1px solid var(--bdr2);
  display:flex;
  justify-content:space-around;
  align-items:center;
  padding-bottom:8px;
  z-index:5;
  position:relative;
  box-shadow:0 -1px 0 rgba(255,179,0,.08);
}


[data-theme="light"] .bnav{background:#fff;border-top-color:#D9D9D9;}
[data-theme="light"] .ni{color:#A0A0A0;}
[data-theme="light"] .ni.active{color:#2D6CDF;}

/* ══════════════════════════════════
   STATUS BAR
══════════════════════════════════ */
.sb{
  /* Barra de status FAKE removida (SW105) — o aparelho já mostra hora/sinal reais.
     Vira apenas um espaçador de safe-area: 0 em telas sem notch, altura do notch quando houver. */
  display:block;height:env(safe-area-inset-top,0px);min-height:0;padding:0;flex-shrink:0;overflow:hidden;
}
.sb-time,.sb-r{display:none;}
.sb-r{display:flex;gap:3px;align-items:center;}
.sbd{width:18px;height:7px;border-radius:1px;background:var(--text1);}

/* ══════════════════════════════════
   SPLASH
══════════════════════════════════ */
#scr-splash{
  background:var(--bg);
  align-items:center;justify-content:center;gap:0;
  overflow:hidden;
}
/* Partículas */
.sp-particle{
  position:absolute;border-radius:50%;
  background:var(--gold);pointer-events:none;
  animation:spFloat linear infinite;
  opacity:0;
}
@keyframes spFloat{
  0%  {transform:translateY(0) scale(1);opacity:0;}
  10% {opacity:.6;}
  90% {opacity:.2;}
  100%{transform:translateY(-120vh) scale(.3);opacity:0;}
}
/* Glow pulsante */
.sp-glow{
  position:absolute;width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,.12) 0%,transparent 70%);
  top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;
  animation:spGlowPulse 2.4s ease-in-out infinite;
}
@keyframes spGlowPulse{
  0%,100%{opacity:.6;transform:translate(-50%,-50%) scale(1);}
  50%    {opacity:1; transform:translate(-50%,-50%) scale(1.15);}
}
/* Logo */
.sp-logo{
  margin-bottom:20px;position:relative;z-index:1;
  animation:spLogoIn .9s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes spLogoIn{
  from{opacity:0;transform:scale(.4) translateY(20px);}
  to  {opacity:1;transform:scale(1)  translateY(0);}
}
/* Tagline */
.sp-tag{
  font-family:var(--font-brand);font-size:12px;color:var(--gold);
  letter-spacing:4px;text-transform:uppercase;margin-top:4px;
  opacity:0;animation:spTagIn .7s ease .7s both;
  text-shadow:0 0 20px rgba(201,168,76,.5);
}
@keyframes spTagIn{
  from{opacity:0;transform:translateY(10px);}
  to  {opacity:1;transform:translateY(0);}
}
/* Loader */
.sp-loader{
  width:60px;height:2px;background:rgba(201,168,76,.15);border-radius:1px;
  margin-top:48px;overflow:hidden;
  opacity:0;animation:spTagIn .5s ease 1.1s both;
}
.sp-loader-bar{
  height:100%;width:0%;background:linear-gradient(90deg,transparent,var(--gold),transparent);
  border-radius:1px;animation:spLoaderFill 1.6s ease 1.2s both;
}
@keyframes spLoaderFill{
  0%  {width:0%;opacity:1;}
  70% {width:100%;opacity:1;}
  100%{width:100%;opacity:.4;}
}
/* Fade-out ao sair */
#scr-splash.sp-exit{
  animation:spExitFade .5s ease forwards;
}
@keyframes spExitFade{
  to{opacity:0;transform:scale(1.04);}
}
@keyframes spLoad{0%{width:0%}100%{width:100%}}

/* ══════════════════════════════════
   LOGIN
══════════════════════════════════ */
#scr-login{background:var(--bg); justify-content:flex-end;}
.login-bg-logo{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  opacity:1;
  pointer-events:none;
  z-index:0;
  display:flex;align-items:center;justify-content:center;
}
.login-wrap{padding:28px 22px 42px;position:relative;z-index:2;min-height:100dvh;min-height:100vh;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;}
.login-logo-block{text-align:center;margin-bottom:28px;}

/* ── Nova logo já possui transparência nativa ── */
.login-title{
  font-family:var(--font-brand);font-size:24px;font-weight:800;
  letter-spacing:4px;color:var(--gold);text-align:center;margin-bottom:4px;
}
.login-sub{
  font-family:var(--font-ui);font-size:13px;color:var(--text3);
  text-align:center;letter-spacing:1px;margin-bottom:28px;
}
.login-btn{
  width:100%;padding:14px;margin-bottom:12px;
  background:var(--bg3);border:1px solid var(--bdr2);border-radius:12px;
  color:var(--text1);font-family:var(--font-ui);font-size:14px;font-weight:600;
  cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;
  letter-spacing:.3px;
  transition:border-color .2s,background .15s;
}
.login-btn:active{background:var(--bg4);border-color:var(--gold-bdr);}
.login-divider{
  display:flex;align-items:center;gap:12px;margin:16px 0;
}
.login-divider-line{flex:1;height:1px;background:var(--bdr);}
.login-divider-text{font-family:var(--font-ui);font-size:12px;color:var(--text3);}
.btn-entrar{
  width:100%;padding:15px;background:var(--gold);border:none;border-radius:12px;
  font-family:var(--font-ui);font-size:16px;font-weight:700;color:var(--bg);
  cursor:pointer;letter-spacing:1px;
}
.login-reg{
  text-align:center;margin-top:18px;font-family:var(--font-ui);
  font-size:13px;color:var(--text2);
}
.login-reg span{color:var(--gold);cursor:pointer;font-weight:600;}

/* Login Email */
.lf{
  display:flex;align-items:center;gap:10px;
  background:var(--bg3);border:1px solid var(--bdr);border-radius:10px;
  padding:12px 14px;margin-bottom:12px;
}
.lf-icon{flex-shrink:0;color:var(--text3);}
.lf input{
  flex:1;background:none;border:none;outline:none;
  font-family:var(--font-ui);font-size:15px;color:var(--text1);
}
.lf input::placeholder{color:var(--text3);}
.login-error{display:none;font-size:12px;color:#E24B4A;margin:4px 0 8px 2px;}
.login-forgot{text-align:right;margin-bottom:20px;font-family:var(--font-ui);font-size:13px;color:var(--gold);cursor:pointer;}

/* ══════════════════════════════════
   REGISTER
══════════════════════════════════ */
.reg-step{padding:24px 22px 40px;}
.reg-step-title{font-family:var(--font-brand);font-size:20px;color:var(--gold);margin-bottom:6px;letter-spacing:2px;}
.reg-step-sub{font-family:var(--font-ui);font-size:13px;color:var(--text2);margin-bottom:22px;}
.reg-progress{display:flex;gap:6px;margin-bottom:24px;}
.reg-bar{flex:1;height:3px;border-radius:2px;background:var(--bdr2);}
.reg-label{font-family:var(--font-ui);font-size:12px;color:var(--text3);margin-bottom:6px;}
.reg-error{display:none;font-size:12px;color:#E24B4A;margin:4px 0 8px;}
.btn-next{
  width:100%;padding:14px;background:var(--gold);border:none;border-radius:10px;
  font-family:var(--font-ui);font-size:15px;font-weight:700;color:var(--bg);
  cursor:pointer;opacity:.5;margin-top:8px;letter-spacing:.5px;
}

/* ══════════════════════════════════
   PAGE TITLE BAR
══════════════════════════════════ */
.ptb{
  padding:10px 18px 8px;flex-shrink:0;
  border-bottom:1px solid var(--bdr);
}
.pt{font-family:var(--font-brand);font-size:18px;color:var(--gold);letter-spacing:2px;}

/* ══════════════════════════════════
   SCROLLABLE CONTENT
══════════════════════════════════ */
.sc{
  flex:1;overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
.sc::-webkit-scrollbar{display:none;}

/* ══════════════════════════════════
   FEED
══════════════════════════════════ */
#scr-feed{overflow:hidden;}
/* ── Régua de chips de gênero (feed + mapa) ── */
.genre-strip{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 14px 8px;flex-shrink:0;}
.genre-strip::-webkit-scrollbar{display:none;}
.genre-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:16px;background:var(--bg3);border:1px solid var(--bdr2);color:var(--text2);font-family:var(--font-ui);font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .15s;}
.genre-chip.active{background:rgba(255,179,0,.16);border-color:var(--gold);color:var(--gold);}
.genre-chip .gc-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.genre-chip-more{color:var(--gold);}
#genre-more-overlay{display:none;position:fixed;inset:0;z-index:9600;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);}
#genre-more-overlay .gm-sheet{position:absolute;left:0;right:0;bottom:0;max-height:72dvh;overflow-y:auto;background:var(--bg2);border-radius:20px 20px 0 0;border-top:1px solid var(--bdr);padding:16px 16px 30px;}
.gm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}
.gm-item{display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:12px;background:var(--bg3);border:1px solid var(--bdr2);color:var(--text1);font-family:var(--font-ui);font-size:13px;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.gm-item.active{border-color:var(--gold);background:rgba(255,179,0,.12);}
.gm-sec{font-family:var(--font-ui);font-size:11px;color:var(--text3);letter-spacing:1px;text-transform:uppercase;margin:14px 2px 2px;}
.feed-topbar{
  padding:6px 16px 10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:space-between;
  background:var(--bg);
  border-bottom:1px solid var(--bdr);
  box-shadow:0 2px 16px rgba(0,0,0,.3);
}
.feed-logo-txt{
  font-family:var(--font-brand);font-size:18px;letter-spacing:3px;
  background:var(--gold-grad,var(--gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.notif-btn{
  width:34px;height:34px;border-radius:50%;
  background:var(--bg3);border:1px solid var(--bdr);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;position:relative;
}
.notif-dot{
  position:absolute;top:6px;right:6px;width:7px;height:7px;
  border-radius:50%;background:var(--gold);border:2px solid var(--bg);
}
/* ── Abas de modo do feed (Tudo | Empregos) ── */
.feed-modetab{ flex:1; padding:8px; border-radius:10px; border:1px solid var(--bdr2); background:var(--bg3); color:var(--text3); font-family:var(--font-ui); font-size:13px; font-weight:600; cursor:pointer; transition:all .2s; }
.feed-modetab.active{ background:rgba(255,179,0,.15); border-color:var(--gold); color:var(--gold); }
/* ── Card de vaga (aba Empregos) ── */
.job-card{ margin:0 14px 14px; background:linear-gradient(160deg,#1B1B21,#101014); border:1px solid rgba(16,185,129,.35); border-radius:16px; padding:16px; }
.job-title{ font-family:var(--font-brand); font-size:16px; color:#f0f0f0; letter-spacing:.3px; }
.job-company{ font-family:var(--font-ui); font-size:13px; color:#10B981; font-weight:600; margin-top:2px; }
.job-badges{ display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.job-badge{ font-family:var(--font-ui); font-size:11px; color:var(--text2); background:rgba(255,255,255,.06); border:1px solid var(--bdr2); border-radius:12px; padding:3px 9px; }
.job-salary,.job-loc{ font-family:var(--font-ui); font-size:12px; color:var(--text2); margin-top:4px; }
.job-desc{ font-family:var(--font-ui); font-size:13px; color:rgba(240,240,240,.75); line-height:1.5; margin-top:10px; }
.job-sec{ font-family:var(--font-ui); font-size:12px; color:var(--text2); line-height:1.5; margin-top:10px; }
.job-sec b{ color:var(--text1); }
.job-contacts{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.jobc-btn{ flex:1; min-width:90px; text-align:center; padding:10px; border-radius:10px; font-family:var(--font-ui); font-size:13px; font-weight:700; color:#fff; text-decoration:none; }
.job-owner{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:12px; padding-top:12px; border-top:1px solid var(--bdr2); }
.job-own-btn{ padding:7px 12px; border-radius:9px; background:rgba(255,255,255,.04); border:1px solid var(--bdr2); font-family:var(--font-ui); font-size:12px; font-weight:600; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.feed-scroll{
  flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:8px 0 12px;
}
.feed-scroll::-webkit-scrollbar{display:none;}

.feed-scroll::-webkit-scrollbar{display:none;}
/* fab removido */
.create-fab.visible{display:flex;}
.create-fab:active{transform:scale(.92) translateX(-50%);}

/* ══════════════════════════════════
   FEED CARDS
══════════════════════════════════ */
.fcard{
  --nc1: #FFB300;
  --nc1-r: 255; --nc1-g: 179; --nc1-b: 0;
  background:
    linear-gradient(160deg,#1B1B21 0%,#151519 55%,#101014 100%) padding-box,
    linear-gradient(135deg, var(--nc1,#FFB300) 0%, #FFB300 50%, var(--nc2,#FFB300) 100%) border-box;
  border:1px solid transparent;
  border-radius:18px;
  margin:0 14px 18px;overflow:hidden;
  box-shadow:
    0 6px 26px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.04),
    0 4px 30px -9px var(--nc1-glow, rgba(255,179,0,.30));
  transition:box-shadow .25s,transform .18s;
  position:relative;
  width:calc(100% - 28px);
  box-sizing:border-box;
  flex-shrink:0;
}
.fcard::before{
  content:'';position:absolute;inset:0;border-radius:18px;pointer-events:none;
  background:linear-gradient(160deg,rgba(255,255,255,.022) 0%,transparent 42%);
  z-index:0;
}
/* Borda bicolor agora via background-clip em .fcard (sem mask-composite, à prova de GPU) */
.fcard::after{ display:none; }
.fcard:active{transform:scale(.985);box-shadow:0 3px 16px rgba(0,0,0,.7);}
.fcard .fcard-title{
  font-family:'Michroma','Orbitron',var(--font-brand),sans-serif;
  font-size:15px;font-weight:700;color:#f0f0f0;letter-spacing:.5px;
}
.fcard .fcard-desc{
  font-family:'Inter',var(--font-ui),sans-serif;
  font-size:13px;color:rgba(240,240,240,.65);line-height:1.55;
}
.fcard .fcard-author-top{
  background:rgba(0,0,0,.35);border-bottom:1px solid rgba(255,179,0,.12);
}
.fcard .fcard-footer{
  background:rgba(0,0,0,.3);border-top:1px solid rgba(255,179,0,.1);
  display:flex;align-items:center;padding:10px 14px;gap:8px;
}
.fcard-footer .btn-share{
  margin-left:auto;
  background:none;border:none;cursor:pointer;
  color:rgba(255,179,0,.6);
  display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:50%;
  flex-shrink:0;
}
.fcard .fcard-meta .fmeta{color:rgba(200,180,120,.7);}
.fcard .fcard-likes svg path{stroke:rgba(255,179,0,.7);}
.fcard .btn-ver{
  background:linear-gradient(135deg,rgba(255,179,0,.18),rgba(180,140,30,.22));
  border:1px solid rgba(255,179,0,.35);color:#c9a84c;
}
.fcard .btn-share{ color:rgba(255,179,0,.6); }
.fcard .fcard-menu-btn{ color:rgba(255,179,0,.5); }
.fcard-author-top{
  display:flex;align-items:center;gap:8px;
  padding:12px 14px 8px;
}
.fav{
  width:34px;height:34px;border-radius:50%;
  background:var(--bg4);border:1.5px solid var(--gold-bdr);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-brand);font-size:10px;color:var(--gold);
  font-weight:400;letter-spacing:.5px;
  box-shadow:0 0 0 2px rgba(255,179,0,.08);
  overflow:hidden;background-size:cover;background-position:center;
}
.fav-handle{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text1);cursor:pointer;}
.fav-followers{font-family:var(--font-ui);font-size:12px;color:var(--text3);}

/* Carousel */
.fcard-carousel{position:relative;overflow:hidden;cursor:grab;user-select:none;touch-action:pan-y;}
.fcard-carousel:active{cursor:grabbing;}
.fcard-carousel-track{display:flex;transition:transform .3s ease;will-change:transform;}
.fcard-carousel-slide{min-width:100%;width:100%;flex-shrink:0;}
.fcard-carousel-slide svg,.fcard-carousel-slide img{
  width:100%;height:190px;display:block;pointer-events:none;
}
.fcard-slide-count{
  position:absolute;top:8px;right:10px;
  background:rgba(0,0,0,.55);color:#fff;
  font-family:var(--font-ui);font-size:11px;
  padding:2px 8px;border-radius:10px;
  opacity:0;transition:opacity .2s;pointer-events:none;
}
.fcard-slide-count.show{opacity:1;}
.fcard-dots{
  position:absolute;bottom:8px;left:50%;transform:translateX(-50%);
  display:flex;gap:5px;pointer-events:none;
}
.fcard-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.35);transition:all .2s;}
.fcard-dot.active{background:#fff;transform:scale(1.3);}

.fcard-body{padding:10px 14px 4px;}
.fcard-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px;}
.ftag{
  font-family:var(--font-ui);font-size:10px;font-weight:700;
  padding:3px 10px;border-radius:20px;border:1px solid;
  letter-spacing:.6px;text-transform:uppercase;
}
.ftag.div{background:rgba(16,185,129,.10);border-color:rgba(16,185,129,.28);color:#10B981;}
.ftag.tec{background:rgba(61,126,255,.10);border-color:rgba(61,126,255,.28);color:#3D7EFF;}
.ftag.art{background:rgba(255,179,0,.12);border-color:rgba(255,179,0,.30);color:#FFB300;}
.ftag.bem{background:rgba(224,64,160,.10);border-color:rgba(224,64,160,.25);color:#E040A0;}
.ftag.fot{background:rgba(255,165,0,.10);border-color:rgba(255,165,0,.25);color:#FFA500;}
.ftag.selected{background:var(--gold-dim);border-color:var(--gold-bdr);color:var(--gold);}
.fcard-title{font-family:var(--font-ui);font-size:16px;font-weight:700;color:var(--text1);margin-bottom:6px;}
.fcard-desc{font-family:var(--font-ui);font-size:13px;color:var(--text2);line-height:1.5;margin-bottom:8px;}
.fmeta-dist{ display:inline-flex; align-items:center; gap:4px; font-family:var(--font-ui); font-size:12px; font-weight:600; }
.fcard-meta{display:flex;gap:12px;flex-wrap:wrap;padding-bottom:8px;}
.fmeta{display:flex;align-items:center;gap:5px;font-family:var(--font-ui);font-size:12px;color:var(--text3);}
.fcard-footer{
  display:flex;align-items:center;gap:8px;
  padding:8px 14px 12px;border-top:1px solid var(--bdr);
}
.fcard-likes{display:flex;align-items:center;gap:4px;font-family:var(--font-ui);font-size:13px;color:var(--text2);margin-right:auto;}
.btn-ver{
  display:flex;align-items:center;gap:4px;
  background:var(--gold-grad,var(--gold));border:none;border-radius:8px;
  padding:7px 16px;font-family:var(--font-ui);font-size:12px;
  font-weight:700;color:#121212;cursor:pointer;
  letter-spacing:.8px;text-transform:uppercase;
  box-shadow:0 2px 12px rgba(255,179,0,.3);
  transition:filter .15s;
}
.btn-ver:active{filter:brightness(.9);}
.btn-share{
  width:34px;height:34px;border-radius:8px;
  background:var(--bg3);border:1px solid var(--bdr2);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--gold);
  transition:background .15s,border-color .15s;
}
.btn-share:active{background:var(--bg4);border-color:var(--gold-bdr);}

/* ══════════════════════════════════
   MAP
══════════════════════════════════ */
#scr-map{overflow:hidden;}
.map-container{flex:1;position:relative;background:var(--bg2);}
.map-bg{
  width:100%;height:100%;
  background:linear-gradient(160deg,#0A1520 0%,#0D1B2A 40%,#071018 100%);
  position:relative;overflow:hidden;
}
/* Grid lines */
.map-bg::before{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(201,168,76,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,.05) 1px,transparent 1px);
  background-size:40px 40px;
}
.map-pin{
  position:absolute;display:flex;flex-direction:column;align-items:center;
  cursor:pointer;transform:translateX(-50%);
}
.map-pin-dot{
  width:12px;height:12px;border-radius:50%;
  box-shadow:0 0 0 3px rgba(255,255,255,.15);
}
.map-pin-label{
  font-family:var(--font-ui);font-size:9px;color:var(--text1);
  background:rgba(0,0,0,.6);padding:2px 5px;border-radius:4px;
  white-space:nowrap;margin-top:3px;
}
.map-popup{
  position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
  width:calc(100% - 28px);max-width:380px;
  background:var(--glass-bg,var(--bg3));border:1px solid var(--gold-bdr);border-radius:16px;
  padding:16px;display:none;z-index:5;
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  box-shadow:0 8px 32px rgba(0,0,0,.55),0 0 0 1px rgba(255,179,0,.06);
}
.map-popup.show{display:block;}
.mp-title{font-family:var(--font-ui);font-size:15px;font-weight:700;color:var(--text1);margin-bottom:4px;}
.mp-sub{font-family:var(--font-ui);font-size:12px;color:var(--text3);margin-bottom:10px;}
.mp-close{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--text3);cursor:pointer;font-size:16px;}
.mp-actions{display:flex;gap:8px;}
.btn-ver-map{
  flex:1;padding:9px;background:var(--gold);border:none;border-radius:8px;
  font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--bg);cursor:pointer;
}
/* fab removido */
/* .map-fab-pulse removed */
@keyframes neonPulse{
  0%{transform:scale(1);opacity:.9}
  50%{transform:scale(1.18);opacity:.3}
  100%{transform:scale(1.35);opacity:0}
}

/* ══════════════════════════════════
   SEARCH
══════════════════════════════════ */
#scr-search{overflow:hidden;}
.srch-bar-wrap{flex-shrink:0;padding:10px 14px 6px;}
.srch-bar{
  display:flex;align-items:center;gap:10px;
  background:var(--bg3);border:1px solid var(--bdr2);border-radius:12px;
  padding:10px 14px;
}
.srch-bar input{flex:1;background:none;border:none;outline:none;font-family:var(--font-ui);font-size:15px;color:var(--text1);}
.srch-bar input::placeholder{color:var(--text3);}
.srch-tabs{
  display:flex;flex-shrink:0;padding:0 10px;
  border-bottom:1px solid var(--bdr);overflow-x:auto;gap:4px;scrollbar-width:none;
}
.srch-tabs::-webkit-scrollbar{display:none;}
.srch-tab{
  flex-shrink:0;padding:9px 12px;
  font-family:var(--font-ui);font-size:13px;color:var(--text2);
  cursor:pointer;border-bottom:2px solid transparent;
  white-space:nowrap;display:flex;align-items:center;gap:4px;
}
.srch-tab.active{color:var(--gold);border-bottom-color:var(--gold);font-weight:600;}
.srch-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:16px;}
.srch-scroll::-webkit-scrollbar{display:none;}
.srch-empty{
  display:flex;flex-direction:column;align-items:center;
  padding:40px 24px 20px;
}
.srch-empty-title{font-family:var(--font-ui);font-size:15px;font-weight:600;color:var(--text2);margin-bottom:6px;}
.srch-empty-sub{font-family:var(--font-ui);font-size:13px;color:var(--text3);text-align:center;line-height:1.5;}
.srch-chip-row{display:flex;flex-wrap:wrap;gap:8px;padding:16px;justify-content:center;}
.srch-chip{
  background:var(--bg3);border:1px solid var(--bdr2);border-radius:20px;
  padding:8px 14px;font-family:var(--font-ui);font-size:13px;color:var(--text1);cursor:pointer;
}
.srch-chip:active{background:var(--gold-dim);border-color:var(--gold-bdr);color:var(--gold);}
.srch-section-title{
  font-family:var(--font-brand);font-size:11px;color:var(--text3);
  letter-spacing:1.5px;text-transform:uppercase;padding:14px 16px 8px;
}
.srch-person{
  display:flex;align-items:center;gap:12px;
  padding:10px 16px;border-bottom:1px solid var(--bdr);cursor:pointer;
}
.srch-avatar{
  width:44px;height:44px;border-radius:50%;background:var(--bg4);
  border:1.5px solid var(--bdr2);display:flex;align-items:center;justify-content:center;
  font-family:var(--font-brand);font-size:11px;color:var(--gold);flex-shrink:0;
}
.srch-person-info{flex:1;min-width:0;}
.srch-person-name{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--text1);display:flex;align-items:center;gap:5px;}
.srch-person-handle{font-family:var(--font-ui);font-size:12px;color:var(--text3);margin:2px 0 4px;}
.srch-follow-btn{
  flex-shrink:0;background:var(--gold-dim);border:1px solid var(--gold-bdr);
  border-radius:8px;color:var(--gold);font-family:var(--font-ui);
  font-size:12px;font-weight:600;padding:6px 12px;cursor:pointer;
}
.srch-event{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--bdr);cursor:pointer;}
.srch-event-thumb{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.srch-event-info{flex:1;min-width:0;}
.srch-event-title{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--text1);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.srch-event-meta{font-family:var(--font-ui);font-size:12px;color:var(--text3);margin-bottom:4px;}
.srch-place{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--bdr);cursor:pointer;}
.srch-place-icon{width:44px;height:44px;border-radius:10px;background:var(--gold-dim);border:1px solid var(--gold-bdr);display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* ══════════════════════════════════
   PROFILE
══════════════════════════════════ */
#scr-profile,#scr-visit-profile{overflow:hidden;display:flex;flex-direction:column;}
.prof-bottom-panel{flex-shrink:0;background:var(--bg2);border-top:1px solid var(--bdr);padding-bottom:env(safe-area-inset-bottom,0px);position:relative;z-index:1;}
.prof-cards-area,#visit-cards-area{flex:1 1 0%;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 0 4px;}
.prof-cards-area::-webkit-scrollbar{display:none;}
.prof-bottom-panel{flex-shrink:0;background:var(--bg2);border-top:1px solid var(--bdr);padding-bottom:env(safe-area-inset-bottom,0px);overflow:visible;}
.prof-tabs-row{display:flex;border-bottom:1px solid var(--bdr);}
.ptab{
  flex:1;text-align:center;padding:9px 6px;
  font-family:var(--font-ui);font-size:12px;color:var(--text2);
  cursor:pointer;border-bottom:2px solid transparent;
  display:flex;align-items:center;justify-content:center;gap:5px;
}
.ptab.active{color:var(--gold);border-bottom-color:var(--gold);font-weight:600;}
.prof-info-row{display:flex;align-items:flex-start;padding:10px 16px 6px;}
.prof-avatar-circle{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;max-width:52px!important;max-height:52px!important;border-radius:50%!important;background:var(--bg4);border:2px solid var(--gold);display:flex!important;align-items:center;justify-content:center;flex-shrink:0!important;overflow:hidden!important;position:relative!important;z-index:1;background-size:cover!important;background-position:center!important;isolation:isolate!important;}
.prof-avatar-circle img{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;max-width:52px!important;max-height:52px!important;object-fit:cover!important;border-radius:50%!important;display:block!important;position:static!important;flex-shrink:0!important;}
.prof-avatar-circle img{
  width:100% !important;height:100% !important;
  object-fit:cover !important;display:block !important;
  position:static !important;border-radius:50% !important;
  max-width:none !important;max-height:none !important;
}
.prof-info-text{flex:1;min-width:0;}
.prof-name-row{display:flex;align-items:center;gap:6px;margin-bottom:1px;}
.prof-name{font-family:var(--font-ui);font-size:15px;font-weight:700;color:var(--text1);}
.prof-badge{
  font-family:var(--font-ui);font-size:9px;font-weight:700;letter-spacing:1px;
  background:var(--gold-dim);border:1px solid var(--gold-bdr);color:var(--gold);
  padding:2px 6px;border-radius:4px;
}
.prof-handle{font-family:var(--font-ui);font-size:12px;color:var(--text3);margin-bottom:4px;}
.prof-bio-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.prof-bio{font-family:var(--font-ui);font-size:12px;color:var(--text2);line-height:1.4;}
.prof-bio-icons{display:flex;gap:5px;}
.pbic{width:22px;height:22px;border-radius:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.prof-action-row{display:flex;gap:8px;padding:6px 14px 10px;}
.btn-seguir{flex:1;padding:8px;background:var(--bg4);border:1px solid var(--bdr2);border-radius:8px;color:var(--text1);font-family:var(--font-ui);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;}
.btn-adicionar{flex:1;padding:8px;background:var(--cta-bg);border:none;border-radius:8px;color:var(--cta-fg);font-family:var(--font-ui);font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;}
.btn-more{width:36px;height:36px;background:var(--bg4);border:1px solid var(--bdr2);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text2);flex-shrink:0;}
.pro-badge{font-family:var(--font-ui);font-size:9px;background:var(--gold-dim);border:1px solid var(--gold-bdr);color:var(--gold);padding:1px 5px;border-radius:4px;}

/* pact cards in profile */
.pact{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--bdr);cursor:pointer;}
.pact-thumb{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.pact-info{flex:1;min-width:0;}
.pact-title{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--text1);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pact-sub{font-family:var(--font-ui);font-size:11px;color:var(--text3);margin-bottom:5px;}
.pact-tags{display:flex;gap:5px;flex-wrap:wrap;}

/* ══════════════════════════════════
   COMMUNITY
══════════════════════════════════ */
#scr-comm{overflow:hidden;}
.comm-empty{
  flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;
  align-items:center;justify-content:flex-start;padding:30px 24px;
}
.comm-icon svg{opacity:.2;margin-bottom:16px;}
.comm-soon{font-family:var(--font-brand);font-size:20px;color:var(--text1);letter-spacing:2px;margin-bottom:10px;}
.comm-desc{font-family:var(--font-ui);font-size:13px;color:var(--text3);text-align:center;line-height:1.6;margin-bottom:24px;}

/* ══════════════════════════════════
   CRIAR
══════════════════════════════════ */
.criar-wrap{padding:16px 18px 40px;}
.criar-label{font-family:var(--font-ui);font-size:12px;color:var(--text3);letter-spacing:1px;text-transform:uppercase;margin:14px 0 6px;}
.criar-input{
  width:100%;background:var(--bg3);border:1px solid var(--bdr2);border-radius:10px;
  padding:12px 14px;font-family:var(--font-ui);font-size:14px;color:var(--text1);
  outline:none;transition:border-color .2s,box-shadow .2s;
}
.criar-input:focus{border-color:var(--gold-bdr);box-shadow:0 0 0 3px rgba(255,179,0,.08);}
.criar-input::placeholder{color:var(--text3);}
.btn-publicar{
  width:100%;padding:16px;margin-top:28px;
  background:var(--gold-grad,var(--gold));border:none;border-radius:12px;
  font-family:var(--font-ui);font-size:14px;font-weight:700;
  color:#121212;cursor:pointer;
  letter-spacing:2px;text-transform:uppercase;
  box-shadow:0 4px 20px rgba(255,179,0,.35),0 1px 0 rgba(255,255,255,.15) inset;
  transition:box-shadow .2s,filter .15s;
}
.btn-publicar:active{filter:brightness(.92);}



/* == @MENTION IN CARDS == */
.fcard-mention{
  color:var(--gold);cursor:pointer;font-weight:600;
  background:rgba(201,168,76,.1);border-radius:4px;padding:0 3px;
}
.fcard-mention:hover{text-decoration:underline;}
/* == CATPILL NONE == */
.catpill-none{
  padding:10px 8px;justify-content:center;gap:10px;
  background:rgba(128,128,128,.06);
}
/* ══ CRIAR — SELECTOR BUTTON ══ */
.csel-btn{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--bg3);border:1px solid var(--bdr);border-radius:10px;
  padding:12px 14px;cursor:pointer;transition:border-color .15s;
  margin-bottom:4px;
}
.csel-btn:active,.csel-btn.open{ border-color:var(--gold); }
.csel-arrow{ transition:transform .2s; flex-shrink:0; }
.csel-btn.open .csel-arrow{ transform:rotate(180deg); }
.csel-dropdown{
  display:none;background:var(--bg3);border:1px solid var(--bdr2);
  border-radius:0 0 12px 12px;margin-top:-4px;margin-bottom:8px;
  overflow:hidden;z-index:50;position:relative;
}
.csel-dropdown.open{ display:block; }
.csel-opt{
  display:flex;align-items:center;gap:12px;
  padding:13px 14px;border-bottom:1px solid var(--bdr);
  cursor:pointer;transition:background .12s;
}
.csel-opt:last-child{ border-bottom:none; }
.csel-opt:active,.csel-opt:hover{ background:var(--bg4); }
.csel-opt.selected{ background:var(--gold-dim); }
.csel-opt-lbl{font-family:var(--font-ui);font-size:14px;color:var(--text1);font-weight:500;}
.csel-opt-sub{font-family:var(--font-ui);font-size:11px;color:var(--text3);margin-top:2px;}


#feed-scroll{
  display:flex;
  flex-direction:column;
  width:100%;
  align-items:stretch;
}
/* ══ CARD MENU 3 PONTOS ══ */
.fcard-menu-btn{
  width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--text3);flex-shrink:0;transition:background .15s;
}
.fcard-menu-btn:active{background:var(--bg3);}
.fcard-menu-popup{
  position:fixed;background:var(--bg2);border:1px solid var(--bdr2);border-radius:14px;
  min-width:200px;z-index:9999;box-shadow:0 8px 32px rgba(0,0,0,.4);
  overflow:hidden;
}
.fcard-menu-item{
  display:flex;align-items:center;gap:12px;padding:14px 18px;
  cursor:pointer;font-family:var(--font-ui);font-size:14px;color:var(--text1);
  border-bottom:1px solid var(--bdr);transition:background .12s;
}
.fcard-menu-item:last-child{border-bottom:none;}
.fcard-menu-item:active,.fcard-menu-item:hover{background:var(--bg3);}
.fcard-menu-item.danger{color:#E24B4A;}
.fcard-confirm-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);
  z-index:10000;display:flex;align-items:center;justify-content:center;
}
.fcard-confirm-box{
  background:var(--bg2);border-radius:18px;padding:24px 20px;width:300px;
  border:1px solid var(--bdr2);
}

/* ══ CATEGORY PILLS ══ */
.catpill{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:5px;padding:12px 8px;cursor:pointer;border-bottom:1px solid var(--bdr);
  border-right:1px solid var(--bdr);transition:background .12s;text-align:center;
  position:relative;
}
.catpill:nth-child(even){border-right:none;}
.catpill:active,.catpill:hover{background:rgba(255,255,255,.05);}
.catpill-sel{ background:color-mix(in srgb, var(--cat-color) 18%, transparent); }
.catpill-sel::after{
  content:'✓';position:absolute;top:6px;right:8px;
  font-size:10px;color:var(--cat-color);font-weight:700;
}
.catpill-icon{ font-size:22px;line-height:1; }
.catpill-lbl{
  font-family:var(--font-ui);font-size:10px;color:var(--text2);
  line-height:1.3;max-width:80px;
}
.catpill-sel .catpill-lbl{ color:var(--cat-color);font-weight:600; }

/* ══ SISTEMA DE FILTROS ══ */
.filter-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;z-index:9000;
  background:rgba(0,0,0,.6);backdrop-filter:blur(4px);
  display:flex;align-items:flex-end;
}
.filter-panel{
  background:linear-gradient(160deg,#1c1c1c 0%,#111 100%);
  border:1px solid rgba(255,179,0,.3);
  border-radius:22px 22px 0 0;
  width:100%;max-height:85vh;overflow-y:auto;
  padding:0 0 40px;
  box-shadow:0 -8px 40px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,179,0,.15);
}
.filter-handle{width:40px;height:4px;background:rgba(255,179,0,.3);border-radius:2px;margin:14px auto 20px;}
.filter-title{font-family:var(--font-brand);font-size:14px;color:var(--gold);letter-spacing:2px;padding:0 20px;margin-bottom:18px;}
.filter-section-lbl{font-family:var(--font-ui);font-size:11px;color:var(--text3);letter-spacing:1px;text-transform:uppercase;padding:0 20px;margin-bottom:8px;margin-top:16px;}
.filter-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px;}
.filter-chip{
  padding:7px 14px;border-radius:20px;border:1px solid rgba(255,179,0,.2);
  font-family:var(--font-ui);font-size:12px;color:var(--text2);
  cursor:pointer;background:rgba(255,255,255,.04);transition:all .15s;
  display:flex;align-items:center;gap:5px;
}
.filter-chip.active{background:rgba(255,179,0,.2);border-color:var(--gold);color:var(--gold);font-weight:600;}
.filter-chip:active{transform:scale(.96);}
.filter-range-wrap{padding:0 20px;}
.filter-range{width:100%;accent-color:var(--gold);height:4px;cursor:pointer;}
.filter-range-lbl{font-family:var(--font-ui);font-size:13px;color:var(--text1);margin-top:8px;text-align:center;}
.filter-loc-input{
  width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,179,0,.2);
  border-radius:10px;padding:11px 14px;font-family:var(--font-ui);font-size:13px;
  color:var(--text1);outline:none;
}
.filter-loc-input::placeholder{color:var(--text3);}
.filter-actions{display:flex;gap:10px;padding:20px 20px 0;}
.filter-btn-clear{flex:1;padding:13px;border-radius:12px;border:1px solid rgba(255,179,0,.3);background:transparent;font-family:var(--font-ui);font-size:14px;color:var(--text2);cursor:pointer;}
.filter-btn-apply{flex:2;padding:13px;border-radius:12px;border:none;background:linear-gradient(135deg,#c9a84c,#a07c28);font-family:var(--font-ui);font-size:14px;font-weight:700;color:#0E0E12;cursor:pointer;}

/* ══ LOGO NAS TELAS ══ */
.screen-ptb-logo{ justify-content:center !important; }
.ptb-logo-slot{ display:flex;align-items:center;justify-content:center; }

/* ══ PROFILE PANES ══ */
#pane-passado, #pane-futuro{
  display:flex;
  flex-direction:column;
  width:100%;
}
#pane-passado .fcard, #pane-futuro .fcard{
  width:calc(100% - 28px);
  box-sizing:border-box;
  flex-shrink:0;
}

/* ══ PRIVACY BADGE NO CARD ══ */
.fcard-privacy{
  display:flex;align-items:center;gap:6px;
  padding:5px 14px;
  border-bottom:1px solid rgba(255,179,0,.06);
  background:rgba(0,0,0,.25);
}
.fcard-privacy-icon{ font-size:12px; }
.fcard-privacy-lbl{
  font-family:var(--font-ui);font-size:11px;
  color:var(--gold);letter-spacing:.5px;font-weight:500;
}

/* ══ BUSCA — RESULTADOS ══ */
.srch-loading{ padding:16px;text-align:center;font-family:var(--font-ui);font-size:13px;color:var(--text3); }
.srch-person-row,.srch-event-row{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;border-bottom:1px solid var(--bdr);
  cursor:pointer;transition:background .12s;
}
.srch-person-row:active,.srch-event-row:active{ background:var(--bg3); }

/* ══ FEED SIDEBAR FILTRO ══ */
.feed-sidebar{
  position:absolute;
  top:0;right:0;bottom:0;
  display:flex;
  flex-direction:row;
  z-index:200;
  pointer-events:none;
}
.feed-sidebar-tab{
  pointer-events:all;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:6px;
  width:28px;
  background:linear-gradient(180deg,rgba(20,20,20,.92),rgba(10,10,10,.96));
  border-left:1px solid rgba(255,179,0,.35);
  border-top:1px solid rgba(255,179,0,.2);
  border-bottom:1px solid rgba(255,179,0,.2);
  border-radius:10px 0 0 10px;
  padding:14px 6px;
  cursor:pointer;
  box-shadow:-4px 0 16px rgba(0,0,0,.4);
  align-self:center;
  backdrop-filter:blur(8px);
  transition:background .2s;
}
.feed-sidebar-tab:active{ background:rgba(255,179,0,.12); }
.feed-sidebar-tab svg{ color:var(--gold); }
.feed-sidebar-tab-lbl{
  writing-mode:vertical-rl;
  text-orientation:mixed;
  transform:rotate(180deg);
  font-family:var(--font-brand);
  font-size:9px;
  letter-spacing:2px;
  color:var(--gold);
  text-transform:uppercase;
  white-space:nowrap;
}
.fs-tab-col{ pointer-events:none; display:flex; flex-direction:column; gap:8px; align-self:center; }
.feed-search-tab{ padding:11px 6px; }
.feed-search-tab svg{ color:var(--gold); }
.feed-search-pop{
  pointer-events:all; position:absolute; right:34px; top:50%;
  transform:translateY(-50%) translateX(8px);
  display:flex; align-items:center; gap:7px;
  width:0; max-width:0; opacity:0; overflow:hidden;
  background:linear-gradient(180deg,rgba(20,20,20,.96),rgba(10,10,10,.98));
  border:1px solid rgba(255,179,0,.35); border-radius:12px;
  box-shadow:-6px 0 20px rgba(0,0,0,.5); padding:0;
  transition:width .28s cubic-bezier(.4,0,.2,1),opacity .2s,max-width .28s,padding .28s,transform .28s;
  backdrop-filter:blur(8px); z-index:210;
}
.feed-search-pop.open{ width:190px; max-width:190px; opacity:1; padding:8px 10px; transform:translateY(-50%) translateX(0); }
.feed-search-pop input{ flex:1; min-width:0; background:none; border:none; outline:none; font-family:var(--font-ui); font-size:12px; color:var(--text1); }
.feed-search-x{ background:none; border:none; cursor:pointer; color:var(--text3); padding:0; display:flex; flex-shrink:0; }
.feed-search-x:active{ color:var(--gold); }
.contact-btns{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.cbtn{ display:inline-flex; align-items:center; gap:5px; padding:6px 10px; border-radius:9px; background:var(--bg3); border:1px solid var(--bdr2); font-family:var(--font-ui); font-size:11.5px; font-weight:600; color:var(--text1); text-decoration:none; cursor:pointer; white-space:nowrap; -webkit-tap-highlight-color:transparent; }
.cbtn svg{ width:13px; height:13px; flex-shrink:0; }
.cbtn:active{ transform:scale(.96); }
.cbtn-wa{ background:rgba(37,211,102,.12); border-color:rgba(37,211,102,.40); color:#25D366; }
.cbtn-ig{ background:rgba(225,48,108,.10); border-color:rgba(225,48,108,.35); color:#E1306C; }
.feed-sidebar-panel{
  pointer-events:all;
  width:0;
  overflow:hidden;
  background:linear-gradient(160deg,#16161A 0%,#0f0f0f 100%);
  border-left:1px solid rgba(255,179,0,.3);
  box-shadow:-8px 0 32px rgba(0,0,0,.6);
  overflow-y:auto;
  transition:width .3s cubic-bezier(.4,0,.2,1);
  scrollbar-width:none;
}
.feed-sidebar-panel.open{
  width:220px;
}
.feed-sidebar-panel::-webkit-scrollbar{ display:none; }

/* Cabeçalho do painel */
.fsb-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 14px 10px;
  border-bottom:1px solid rgba(255,179,0,.12);
  flex-shrink:0;
}
.fsb-title{
  font-family:var(--font-brand);
  font-size:13px;
  color:var(--gold);
  letter-spacing:2px;
  text-transform:uppercase;
}
.fsb-close{
  width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,.06);border:1px solid var(--bdr);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--text2);
}
.fsb-close:active{ background:rgba(255,179,0,.15); }

/* Seções */
.fsb-section{
  padding:12px 14px 4px;
  position:relative;
}
.fsb-section-lbl{
  font-family:var(--font-ui);
  font-size:10px;
  color:var(--text3);
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:6px;
}
.fsb-sel-btn{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;
  padding:9px 12px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,179,0,.2);
  border-radius:10px;
  font-family:var(--font-ui);font-size:13px;
  color:var(--text1);
  cursor:pointer;
  transition:all .15s;
}
.fsb-sel-btn.active{
  border-color:var(--gold);
  background:rgba(255,179,0,.12);
  color:var(--gold);
}
.fsb-sel-btn .ffb-arrow{ transition:transform .2s; opacity:.4; }
.fsb-sel-btn.open .ffb-arrow{ transform:rotate(180deg); }

/* Dropdown dentro da sidebar */
.fsb-dropdown{
  position:static !important;
  top:auto !important; left:auto !important;
  width:100%;
  max-width:100%;
  min-width:0;
  margin-top:4px;
  border-radius:10px;
  max-height:240px;
}

/* Opções */
.ffb-dropdown{
  display:none;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,179,0,.2);
  border-radius:10px;
  padding:4px;
  max-height:280px;overflow-y:auto;scrollbar-width:none;
}
.ffb-dropdown.open{ display:block; }
.ffb-option{
  display:flex;align-items:center;gap:8px;
  padding:8px 10px;
  border-radius:8px;
  cursor:pointer;
  font-family:var(--font-ui);font-size:12px;
  color:var(--text1);
  transition:background .12s;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ffb-option:active{ background:rgba(255,255,255,.07); }
.ffb-option.selected{
  background:rgba(255,179,0,.18);
  color:var(--gold);font-weight:600;
}
.ffb-option .ffb-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--bdr2);flex-shrink:0;
  transition:background .15s;
}
.ffb-option.selected .ffb-dot{ background:var(--gold); }

/* Botão limpar */

.fsb-select{
  width:100%;
  padding:9px 12px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,179,0,.2);
  border-radius:10px;
  font-family:var(--font-ui);font-size:13px;
  color:var(--text1);
  cursor:pointer;
  outline:none;
  -webkit-appearance:none;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23D4AF37' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  padding-right:32px;
}
.fsb-select option{ background:#16161A; color:#F5F5F5; }
.fsb-clear-btn{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin:14px 14px 0;
  width:calc(100% - 28px);
  padding:10px;
  border-radius:10px;
  border:1px solid rgba(255,179,0,.3);
  background:rgba(255,179,0,.08);
  color:var(--gold);
  font-family:var(--font-ui);font-size:12px;
  cursor:pointer;
  transition:background .15s;
}
.fsb-clear-btn:active{ background:rgba(255,179,0,.2); }

/* Overlay escuro quando sidebar aberta */
.feed-sidebar-overlay{
  position:absolute;top:0;left:0;right:0;bottom:0;
  background:rgba(0,0,0,.4);
  display:none;z-index:199;
  backdrop-filter:blur(1px);
}
.feed-sidebar-overlay.open{ display:block; }


/* ══ DATA/HORA NO CARD ══ */
.fcard-date-row{ display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:5px 0 3px; }
.fcard-date-item{ display:flex;align-items:center;gap:4px;font-family:var(--font-ui);font-size:11px;color:rgba(201,168,76,.85);white-space:nowrap; }
[data-theme="light"] .fcard-date-item{ color:var(--gold); }
/* ══ NOTIFICAÇÕES ══ */
.notif-btn{ cursor:pointer; }
#notif-badge{
  position:absolute;top:2px;right:2px;
  min-width:16px;height:16px;border-radius:8px;
  background:var(--gold);color:#0E0E12;
  font-family:var(--font-ui);font-size:9px;font-weight:800;
  display:none;align-items:center;justify-content:center;
  padding:0 3px;border:2px solid var(--bg);
}
#notif-panel{
  position:fixed;top:0;right:0;bottom:0;left:0;
  z-index:8000;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);
  display:none;align-items:flex-start;justify-content:flex-end;
}
#notif-panel-inner{
  width:min(340px,100vw);height:100%;
  background:linear-gradient(160deg,#1c1c1c,#111);
  border-left:1px solid rgba(255,179,0,.25);
  display:flex;flex-direction:column;
  box-shadow:-8px 0 40px rgba(0,0,0,.6);
}
.notif-panel-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 16px 12px;border-bottom:1px solid rgba(255,179,0,.12);
  flex-shrink:0;
}
.notif-panel-title{
  font-family:var(--font-brand);font-size:14px;color:var(--gold);letter-spacing:2px;
}
#notif-list{ flex:1;overflow-y:auto; }
.notif-row{
  display:flex;align-items:flex-start;gap:12px;
  padding:14px 16px;border-bottom:1px solid var(--bdr);
}
.notif-btn-act{
  padding:5px 12px;border-radius:16px;
  font-family:var(--font-ui);font-size:12px;cursor:pointer;
  border:none;font-weight:600;
}
.notif-accept{background:var(--gold);color:#0E0E12;}
.notif-reject{background:var(--bg3);color:var(--text2);border:1px solid var(--bdr2);}
/* ══════════════════════════════════
   SETTINGS
══════════════════════════════════ */
#scr-settings{overflow:hidden;}
.sset-section{margin-bottom:4px;}
.sset-title{
  display:flex;align-items:center;gap:6px;
  font-family:var(--font-brand);font-size:11px;color:var(--text3);
  letter-spacing:1.5px;text-transform:uppercase;
  padding:16px 18px 8px;
}
.sset-item{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;border-bottom:1px solid var(--bdr);cursor:pointer;
  transition:background .12s;
}
.sset-item:active{background:var(--bg3);}
.sset-item-l{display:flex;align-items:center;gap:12px;}
.sset-icon{
  width:32px;height:32px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.sset-lbl{font-family:var(--font-ui);font-size:14px;color:var(--text1);}
.sset-sub{font-family:var(--font-ui);font-size:11px;color:var(--text3);margin-top:2px;}
.tgl{
  width:44px;height:24px;border-radius:12px;background:var(--bg4);
  position:relative;cursor:pointer;border:1px solid var(--bdr2);
  transition:background .2s;flex-shrink:0;
}
.tgl.on{background:var(--gold);}

.tgl.on .tgl-k{transform:translateX(20px);}
.sset-link{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 18px;border-bottom:1px solid var(--bdr);cursor:pointer;
}
.sset-link-l{display:flex;align-items:center;gap:12px;}
.sset-link-lbl{font-family:var(--font-ui);font-size:14px;color:var(--text1);}
.sset-logout{
  width:calc(100%-36px);margin:16px 18px 8px;padding:14px;
  background:rgba(226,75,74,.1);border:1px solid rgba(226,75,74,.3);border-radius:10px;
  color:#E24B4A;font-family:var(--font-ui);font-size:14px;font-weight:600;
  cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;
}
.sset-version{text-align:center;font-family:var(--font-ui);font-size:11px;color:var(--text3);padding:12px;margin-bottom:16px;}

/* Theme toggle */
#theme-toggle-btn,#lowfx-toggle-btn{
  width:48px;height:26px;border-radius:13px;border:none;cursor:pointer;
  background:var(--bdr2);position:relative;transition:background .25s;padding:0;display:block;
}
#theme-knob,#lowfx-knob{
  position:absolute;top:2px;left:2px;
  width:22px;height:22px;border-radius:50%;
  background:#fff;transition:transform .25s;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 1px 4px rgba(0,0,0,.25);font-size:11px;
}

/* ── Visited profile shows seguir/adicionar ── */
#scr-profile[data-own="false"] .btn-seguir-own { display: none !important; }
#scr-profile[data-own="false"] .btn-edit-own   { display: none !important; }
#scr-profile[data-own="false"] 
#scr-profile[data-own="false"] 

/* Own profile hides visitor buttons */
#scr-profile[data-own="true"]  .btn-seguir-visit { display: none !important; }
#scr-profile[data-own="true"]  .btn-add-visit    { display: none !important; }


/* ── Share ── */
.share-app{display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer;flex-shrink:0;min-width:70px;padding:4px 6px;border-radius:12px;transition:background .15s;}.share-app:active{background:var(--bg3);}
.share-icon{
  width:58px;height:58px;border-radius:18px;
  display:flex;align-items:center;justify-content:center;margin-bottom:2px;
  box-shadow:0 4px 14px rgba(0,0,0,.4);
  border:1px solid rgba(255,255,255,.08);
}
.share-lbl{font-family:var(--font-ui);font-size:10px;color:var(--text2);text-align:center;white-space:nowrap;letter-spacing:.3px;font-weight:500;}

/* ── Contacts tabs ── */
.ct-tab{
  flex:1;text-align:center;padding:10px 4px;
  font-family:var(--font-ui);font-size:12px;color:var(--text2);
  cursor:pointer;border-bottom:2px solid transparent;
  display:flex;align-items:center;justify-content:center;gap:4px;
}
.ct-tab.active{color:var(--gold);border-bottom-color:var(--gold);font-weight:600;}

/* ── Contact person row ── */
.ct-person{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;border-bottom:1px solid var(--bdr);
}
.ct-avatar{
  width:46px;height:46px;border-radius:50%;
  background:var(--bg4);border:1.5px solid var(--bdr2);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-brand);font-size:12px;color:var(--gold);flex-shrink:0;
}
.ct-info{flex:1;min-width:0;}
.ct-name{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--text1);}
.ct-handle{font-family:var(--font-ui);font-size:12px;color:var(--text3);margin-top:1px;}
.ct-row{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;border-bottom:1px solid var(--bdr);
  cursor:pointer;
  transition:background .12s;
  -webkit-tap-highlight-color:rgba(255,179,0,.08);
}
.ct-row:active{ background:var(--bg3); }
.ct-btn{
  flex-shrink:0;padding:7px 14px;border-radius:8px;
  font-family:var(--font-ui);font-size:12px;font-weight:600;cursor:pointer;
}
.ct-btn-remove{background:transparent;border:1px solid var(--bdr2);color:var(--text2);}
.ct-btn-accept{background:var(--cta-bg);border:none;color:var(--cta-fg);}
.ct-btn-decline{background:transparent;border:1px solid rgba(226,75,74,.4);color:#E24B4A;margin-left:6px;}

/* ── Edit Profile ── */
.edit-field-group{margin-bottom:18px;}
.ip-chip{display:inline-block;padding:6px 11px;margin:0 6px 6px 0;border-radius:14px;border:1px solid var(--bdr2);background:transparent;color:var(--text2);font-family:var(--font-ui);font-size:12px;cursor:pointer;}
.ip-chip.ip-sel{border-color:var(--gold);background:var(--gold-dim);color:var(--gold);}
.edit-label{font-family:var(--font-ui);font-size:11px;color:var(--text3);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;}
.edit-input{
  width:100%;background:var(--bg3);border:1px solid var(--bdr);border-radius:10px;
  padding:12px 14px;font-family:var(--font-ui);font-size:14px;color:var(--text1);
  outline:none;transition:border-color .15s;
}
.edit-input:focus{border-color:var(--gold);}
.edit-input::placeholder{color:var(--text3);}

/* ── Activity Detail ── */
.act-detail-cover{width:100%;height:240px;object-fit:cover;display:block;}
.act-detail-body{padding:16px;}
.act-detail-title{font-family:var(--font-brand);font-size:19px;font-weight:700;color:var(--text1);margin-bottom:10px;line-height:1.3;}
.act-detail-row{display:flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:13px;color:var(--text2);margin-bottom:7px;}
.act-detail-desc{font-family:var(--font-ui);font-size:14px;color:var(--text2);line-height:1.6;margin:12px 0;}
.act-detail-cover svg{width:100%;height:220px;display:block;}
.act-detail-body{padding:16px;}
.act-detail-title{font-family:var(--font-brand);font-size:18px;font-weight:400;letter-spacing:.5px;color:var(--text1);margin-bottom:8px;line-height:1.4;}
.act-detail-desc{font-family:var(--font-ui);font-size:14px;color:var(--text2);line-height:1.7;margin-bottom:14px;}
.act-detail-row{display:flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:13px;color:var(--text2);margin-bottom:8px;}
.act-detail-btn{
  width:100%;padding:15px;margin-top:20px;
  background:var(--gold);border:none;border-radius:12px;
  font-family:var(--font-ui);font-size:16px;font-weight:700;color:var(--bg);
  cursor:pointer;letter-spacing:.5px;
}


/* ── Profile Timeline Bar ── */
.prof-timeline-bar {
  display: flex;
  align-items: center;
  padding: 0;
  border-bottom: 1px solid var(--bdr);
  flex-shrink: 0;
  position: relative;
  flex-direction: column;
}

/* Faixa de abas — linha superior */
.ptl-tabs-row {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 14px 0 0;
  position: relative;
}

.ptl-side {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 5px;\n  cursor: pointer;\n  -webkit-tap-highlight-color: transparent;\n  padding: 0 4px 10px;\n}\n\n.ptl-line {\n  width: 80%;\n  height: 1.5px;\n  background: var(--bdr2);\n  border-radius: 1px;\n  position: relative;\n  transition: background .25s;\n}\n\n.ptl-label {\n  font-family: var(--font-ui);\n  font-size: 10px;\n  font-weight: 500;\n  color: var(--text3);\n  letter-spacing: .3px;\n  text-align: center;\n  transition: color .25s;\n}

.ptl-line::after {
  content: '';
  position: absolute;
  top: -2.5px; right: -1px;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--bdr2);
  transition: background .25s;
}
#ptl-line-left::after { right: auto; left: -1px; }


.ptl-side.active .ptl-line { background: var(--gold); }
.ptl-side.active .ptl-line::after { background: var(--gold); }
.ptl-side.active .ptl-label { color: var(--gold); font-weight: 600; }

/* Faixa de foto — separador full-width entre abas e conteúdo */
.ptl-avatar-wrap {
  width: 100%;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  overflow: hidden;
  flex-shrink: 0;
}

/* Linha decorativa atrás da foto */
.ptl-avatar-wrap::before {
  content: '';
  position: absolute;
  left: 0; right: 0;
  top: 50%; transform: translateY(-50%);
  height: 1px;
  background: linear-gradient(to right,
    transparent 0%,
    var(--bdr2) 15%,
    rgba(255,179,0,.35) 40%,
    rgba(255,179,0,.35) 60%,
    var(--bdr2) 85%,
    transparent 100%);
  z-index: 0;
}

/* Foto / avatar fica por cima da linha */
.ptl-avatar-wrap .prof-avatar-circle {
  z-index: 1;
  position: relative;
  box-shadow: 0 0 0 3px var(--bg2);
}
.ptl-avatar-wrap 
/* Glow when a side is active */
.prof-timeline-bar.past-active .ptl-avatar-wrap 
.prof-timeline-bar.future-active .ptl-avatar-wrap .prof-avatar-circle {
  box-shadow: 0 0 0 3px var(--bg2), 4px 0 12px rgba(201,168,76,.4);
}
/* Logo fallback if image doesn't load */
#login-logo-block:empty::after {
  content: 'HERE HUB';
  font-family: var(--font-brand);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: 4px;
  color: var(--gold);
  display: block;
  text-align: center;
  margin-bottom: 8px;
}
#sp-logo:empty::after {
  content: 'HERE HUB';
  font-family: var(--font-brand);
  font-size: 32px;
  font-weight: 900;
  letter-spacing: 5px;
  color: var(--gold);
  display: block;
  text-align: center;
}


/* ── Button tap feedback ── */
.login-btn:active, .btn-entrar:active, .btn-next:active,
.btn-ver:active, .btn-publicar:active, .btn-seguir:active,
.btn-adicionar:active, .btn-more:active, .sset-logout:active {
  opacity: 0.8;
  transform: scale(0.97);
}
button { transition: opacity .1s, transform .1s; }

/* ── Input focus glow ── */
.lf:focus-within {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 2px var(--gold-dim);
}
.edit-input:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 2px var(--gold-dim);
}
.criar-input:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 2px var(--gold-dim);
}

/* ── Nav item tap feedback ── */

/* ── Card tap feedback ── */
.fcard:active { transform: scale(0.99); }
.fcard { transition: transform .1s; }

/* ── Share app tap ── */
.share-app:active .share-icon { transform: scale(0.9); }
.share-icon { transition: transform .15s; }


/* Selected tag state */
.ftag.selected { opacity: 1; box-shadow: 0 0 0 2px currentColor; font-weight: 700; }
.ftag:not(.selected) { opacity: 0.6; }


.geo-result{padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--bdr);font-family:var(--font-ui);font-size:13px;color:var(--text1);}
.geo-result:hover{background:var(--bg4);}
.geo-result:last-child{border-bottom:none;}



/* ══════════════════════════════════════════════════════
   HERE HUB — HIGH-END BUSINESS NOIR — EXTENDED STYLES
══════════════════════════════════════════════════════ */

/* ── Gold gradient utility class ── */
.gold-text{
  background:var(--gold-grad,var(--gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}

/* ── Glass card utility ── */
.glass-card{
  background:var(--glass-bg,var(--card));
  border:1px solid var(--glass-bdr,var(--bdr));
  border-radius:16px;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 4px 24px rgba(0,0,0,.4),0 0 0 1px rgba(255,179,0,.04);
}

/* ── Section dividers: thin gold line ── */
.noir-divider{
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,179,0,.25),transparent);
  margin:16px 0;
}

/* ── Notif button: gold ring on active ── */
.notif-btn:active{border-color:var(--gold-bdr);}

/* ── Profile stat numbers ── */
.prof-stat-n{
  font-family:var(--font-brand);
  background:var(--gold-grad,var(--gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}

/* ── Contact tab active ── */
.ct-tab.active{
  color:var(--gold);
  border-bottom-color:var(--gold);
  background:var(--gold-dim);
}

/* ── Search tab active ── */
.srch-tab.active{
  color:var(--gold);
  border-bottom-color:var(--gold);
}

/* ── Activity detail row icons ── */
.act-detail-row svg{ color:var(--gold);opacity:.7; }
.act-detail-row{ color:var(--text2); }

/* ── Register progress bar ── */
.reg-bar{
  height:100%;border-radius:2px;
  background:var(--gold-grad,var(--gold));
  box-shadow:0 0 8px rgba(255,179,0,.4);
}

/* ── Toggle switch ON state ── */
.tgl.on{background:var(--gold-grad,var(--gold));}

/* ── Save profile button ── */
#scr-edit-profile .btn-save-profile,
#scr-edit-profile button[onclick="saveProfile()"]{
  background:var(--gold-grad,var(--gold));
  color:#121212;font-weight:700;letter-spacing:1px;
  border:none;box-shadow:0 2px 12px rgba(255,179,0,.3);
}

/* ── Map pins (via JS-injected style override) ── */
[style*="background:#C9A84C"]{
  background:var(--gold) !important;
  box-shadow:0 0 12px rgba(255,179,0,.7) !important;
}

/* ── Feed filter chips (tags in header) ── */
.feed-filter-chip{
  padding:5px 14px;border-radius:20px;font-size:12px;font-weight:600;
  border:1px solid var(--bdr2);background:var(--bg3);color:var(--text2);
  font-family:var(--font-ui);letter-spacing:.3px;cursor:pointer;
  transition:border-color .15s,color .15s,background .15s;
}
.feed-filter-chip.active{
  border-color:var(--gold-bdr);color:var(--gold);background:var(--gold-dim);
}

/* ── Dark/light mode transition ── */
*{transition:background-color .25s ease,border-color .2s ease,color .2s ease;}
input,textarea,button,.csel-btn,.fcard,.bnav,.login-wrap{
  transition:background-color .25s,border-color .2s,box-shadow .2s,color .2s !important;
}

/* ── Scrollbar: gold thin ── */
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(255,179,0,.25);border-radius:2px;}
::-webkit-scrollbar-thumb:hover{background:rgba(255,179,0,.45);}

/* ── Share HereHub button: gold ── */
.share-app:first-child .share-icon{
  background:linear-gradient(135deg,#FFD466 0%,#FFB300 50%,#B8860B 100%) !important;
}

/* ── Csel-btn dropdown: gold focus ── */
.csel-btn.open{
  border-color:var(--gold-bdr) !important;
  box-shadow:0 0 0 3px rgba(255,179,0,.08);
}
.csel-opt.selected{
  background:var(--gold-dim);
  border-left:2px solid var(--gold);
}

/* == CATEGORIAS ACIMA DAS FOTOS == */
.fcard-cats{
  display:flex;flex-wrap:wrap;gap:5px;
  padding:7px 12px 5px;
  background:rgba(0,0,0,.25);
  border-bottom:1px solid rgba(255,179,0,.07);
}
.fcard-cats .ftag{ font-size:10px !important; padding:3px 8px !important; }
/* == LIKE CLICAVEL NO FEED == */
.fcard-like-btn{
  display:flex;align-items:center;gap:5px;
  background:none;border:none;cursor:pointer;
  color:var(--text3);font-family:var(--font-ui);font-size:13px;padding:0;
  transition:color .15s,transform .1s;
}
.fcard-like-btn:active{transform:scale(.85);}
.fcard-like-btn[data-liked="1"]{color:var(--gold);}
.fcard-like-btn[data-liked="1"] .fcard-heart path{fill:var(--gold);}
.priv-opt{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--bdr2);border-radius:12px;background:var(--bg3);margin-bottom:8px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s;}
.priv-opt.selected{border-color:var(--gold);background:rgba(255,179,0,.08);}
.priv-opt-icon{font-size:20px;flex-shrink:0;}
.priv-opt-body{flex:1;min-width:0;}
.priv-opt-title{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text1);margin-bottom:2px;}
.priv-opt-sub{font-family:var(--font-ui);font-size:11px;color:var(--text3);}
.priv-opt-check{flex-shrink:0;transition:opacity .15s;}
.fcard-like-count{cursor:pointer;}
.fcard-like-count:hover{text-decoration:underline;}


/* Botão Mensagem nos cards */
.btn-msg{
  display:flex; align-items:center; justify-content:center; gap:5px;
  padding:6px 12px; border-radius:20px; cursor:pointer; flex-shrink:0;
  font-family:var(--font-ui); font-size:12px; font-weight:600;
  background:rgba(0,122,255,.12);
  border:1.5px solid rgba(0,122,255,.35);
  color:#4A9EFF;
  transition:all .15s; -webkit-tap-highlight-color:transparent;
}
.btn-msg:active{ background:rgba(0,122,255,.22); transform:scale(.95); }
[data-theme="light"] .fcard .btn-msg{
  background:rgba(0,100,220,.08) !important;
  border-color:rgba(0,100,220,.25) !important;
  color:#0064DC !important;
}

/* ── Botão Snap no footer do card ── */
.fcard-snap-btn{
  display:flex;align-items:center;gap:5px;
  background:rgba(255,179,0,.08);
  border:1.5px solid rgba(255,179,0,.3);
  border-radius:20px;padding:5px 12px;
  font-family:var(--font-ui);font-size:12px;font-weight:600;
  color:var(--gold);cursor:pointer;
  transition:background .15s, transform .1s;
  -webkit-tap-highlight-color:transparent;
  position:relative;overflow:hidden;
  animation:snapBtnPulse 4s ease-in-out infinite;
}
.fcard-snap-btn::after{
  content:'';
  position:absolute;top:0;left:-75%;
  width:50%;height:100%;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,215,80,.55) 50%,
    transparent 100%
  );
  transform:skewX(-15deg);
  animation:snapShimmer 4s ease-in-out infinite;
  pointer-events:none;
}
@keyframes snapShimmer{
  0%,65%   { left:-75%; opacity:0; }
  66%      { opacity:1; }
  85%,100% { left:135%; opacity:0; }
}
@keyframes snapBtnPulse{
  0%,60%   { box-shadow:0 0 0 0 rgba(255,179,0,0); border-color:rgba(255,179,0,.3); }
  70%      { box-shadow:0 0 0 3px rgba(255,179,0,.18); border-color:rgba(255,179,0,.6); }
  85%,100% { box-shadow:0 0 0 0 rgba(255,179,0,0); border-color:rgba(255,179,0,.3); }
}
.fcard-snap-btn:active{background:rgba(255,179,0,.18);transform:scale(.93);}
[data-theme="light"] .fcard-snap-btn{
  background:rgba(184,134,11,.08);
  border-color:rgba(184,134,11,.3);
  color:#8B6914;
}

/* ══ MAP MARKERS BLACK NOIR ══ */
.map-marker-cat{
  cursor:pointer;
  overflow:visible;
}
.mmc-wrap{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  /* SEM transição — pin estático conforme solicitado */
}
.mmc-pin{
  width:100%;
  display:block;
}
.mmc-icon{
  position:absolute;
  width:100%;
  text-align:center;
  line-height:1;
  pointer-events:none;
  /* Sombra no emoji para legibilidade sobre qualquer cor */
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.7)) drop-shadow(0 0 4px rgba(0,0,0,.5));
}
.map-marker-spot .mmc-pin{
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));
}
/* Pulse animation user location */
/* markerPulse removido — pins estáticos */

/* ═══════════════════════════════════════
   PLANS SCREEN — BLACK NOIR
═══════════════════════════════════════ */
.plans-screen{background:#000;overflow-y:auto;scrollbar-width:none;}
.plans-screen::-webkit-scrollbar{display:none;}
.plans-beta-pill{
  display:inline-flex;align-items:center;gap:5px;
  background:rgba(255,179,0,.1);border:1px solid rgba(255,179,0,.3);
  border-radius:20px;padding:4px 12px;margin-bottom:10px;
  font-family:var(--font-ui);font-size:10px;font-weight:700;
  color:var(--gold);letter-spacing:1.5px;text-transform:uppercase;
}
.plans-title{
  font-family:var(--font-brand);font-size:24px;font-weight:800;
  color:#fff;line-height:1.2;margin-bottom:6px;
}
.plans-sub{
  font-family:var(--font-ui);font-size:13px;
  color:rgba(255,255,255,.4);line-height:1.55;
}
/* ── Card base ── */
.plan-card{
  position:relative;border-radius:22px;
  cursor:pointer;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),
             box-shadow .25s;
  margin-bottom:16px;
}
.plan-card:active{transform:scale(.975);}
/* borda gradiente */
.plan-card::before{
  content:'';position:absolute;inset:0;border-radius:22px;
  padding:1.5px;
  background:linear-gradient(145deg,#FFD466 0%,#FFB300 40%,#7A5200 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,
               linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;z-index:0;
}
/* shimmer no popular */
.plan-card.plan-popular::before{
  background:linear-gradient(145deg,#FFD466,#FFB300,#fffde0,#FFB300,#FFD466);
  background-size:300% 300%;
  animation:planShimmer 3s linear infinite;
}
@keyframes planShimmer{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
/* interior */
.plan-inner{
  background:linear-gradient(160deg,#111 0%,#060606 100%);
  border-radius:22px;padding:20px;
  position:relative;z-index:1;overflow:hidden;
}
/* glow interno por variante */
.plan-inner::after{
  content:'';position:absolute;
  top:-40%;left:-20%;width:200px;height:200px;
  border-radius:50%;filter:blur(55px);opacity:.22;
  pointer-events:none;
}
.plan-essential .plan-inner::after{background:#CD7F32;}
.plan-pro      .plan-inner::after{background:#FFB300;}
.plan-founder  .plan-inner::after{background:#A0A0A0;}
/* badge de tier */
.plan-tier{
  display:inline-flex;align-items:center;gap:6px;
  border-radius:8px;padding:4px 10px;margin-bottom:12px;
  font-family:var(--font-ui);font-size:10px;font-weight:700;
  letter-spacing:.8px;text-transform:uppercase;
}
.plan-essential .plan-tier{background:rgba(205,127,50,.15);color:#CD7F32;border:1px solid rgba(205,127,50,.35);}
.plan-pro       .plan-tier{background:rgba(255,179,0,.15);color:#FFB300;border:1px solid rgba(255,179,0,.45);}
.plan-founder   .plan-tier{background:rgba(160,160,160,.12);color:#bbb;border:1px solid rgba(160,160,160,.3);}
/* ribbon popular */
.plan-ribbon{
  position:absolute;top:14px;right:0;z-index:2;
  background:linear-gradient(135deg,#FFB300,#FFD466);
  color:#000;font-family:var(--font-ui);font-size:9px;font-weight:800;
  letter-spacing:1px;text-transform:uppercase;
  padding:4px 14px 4px 12px;
  clip-path:polygon(10px 0%,100% 0%,100% 100%,10px 100%,0% 50%);
}
/* preço */
.plan-price-big{
  font-family:var(--font-brand);font-size:34px;font-weight:800;
  color:#fff;line-height:1;
}
.plan-price-period{
  font-family:var(--font-ui);font-size:12px;
  color:rgba(255,255,255,.35);margin-left:2px;
}
.plan-price-note{
  font-family:var(--font-ui);font-size:11px;
  color:rgba(255,255,255,.3);margin:3px 0 12px;
}
/* highlight box */
.plan-hl{
  display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;padding:10px 12px;margin-bottom:14px;
}
.plan-hl-icon{font-size:20px;flex-shrink:0;}
.plan-hl-title{font-family:var(--font-ui);font-size:13px;font-weight:700;color:#fff;}
.plan-hl-sub{font-family:var(--font-ui);font-size:11px;color:rgba(255,255,255,.35);margin-top:1px;}
/* benefits */
.plan-benefit{
  display:flex;align-items:center;gap:10px;
  padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04);
  font-family:var(--font-ui);font-size:13px;color:rgba(255,255,255,.7);
}
.plan-benefit:last-child{border-bottom:none;}
.plan-bico{
  width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;flex-shrink:0;
}
.plan-essential .plan-bico{background:rgba(205,127,50,.2);color:#CD7F32;}
.plan-pro       .plan-bico{background:rgba(255,179,0,.2);color:#FFB300;}
.plan-founder   .plan-bico{background:rgba(160,160,160,.15);color:#bbb;}
/* vagas slot bar */
.plan-slots-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.plan-slots-track{
  flex:1;height:4px;background:rgba(255,255,255,.07);
  border-radius:2px;overflow:hidden;
}
.plan-slots-fill{height:100%;width:82.3%;background:linear-gradient(90deg,#888,#ccc);border-radius:2px;}
.plan-slots-txt{font-family:var(--font-brand);font-size:12px;color:#bbb;white-space:nowrap;}
/* CTA button */
.plan-cta{
  width:100%;padding:14px;border:none;border-radius:13px;
  font-family:var(--font-brand);font-size:13px;font-weight:800;
  letter-spacing:1px;text-transform:uppercase;
  cursor:pointer;position:relative;overflow:hidden;
  transition:opacity .15s,transform .12s,box-shadow .15s;
  margin-top:16px;
}
.plan-cta:active{transform:scale(.96);}
/* shine sweep on hover */
.plan-cta::after{
  content:'';position:absolute;top:0;left:-100%;
  width:60%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transition:left .45s;
}
.plan-cta:hover::after{left:140%;}
.plan-essential .plan-cta{
  background:linear-gradient(135deg,#7A4500 0%,#CD7F32 50%,#7A4500 100%);
  color:#fff;box-shadow:0 4px 20px rgba(205,127,50,.4);
}
.plan-pro .plan-cta{
  background:linear-gradient(135deg,#C77E00 0%,#FFB300 35%,#FFD466 60%,#FFB300 80%,#C77E00 100%);
  color:#000;box-shadow:0 4px 24px rgba(255,179,0,.55);
}
.plan-founder .plan-cta{
  background:linear-gradient(135deg,#484848 0%,#C0C0C0 50%,#484848 100%);
  color:#000;box-shadow:0 4px 20px rgba(160,160,160,.35);
}
/* current plan banner */
.plan-current{
  display:flex;align-items:center;gap:10px;
  background:rgba(255,179,0,.07);
  border:1px solid rgba(255,179,0,.2);
  border-radius:14px;padding:10px 14px;margin-bottom:16px;
}
.plan-current-icon{font-size:18px;}
.plan-current-txt{font-family:var(--font-ui);font-size:12px;color:rgba(255,255,255,.45);}
.plan-current-txt strong{color:var(--gold);}
/* ── MODAL ── */
.plans-modal-bg{
  position:fixed;inset:0;
  background:rgba(0,0,0,.88);backdrop-filter:blur(10px);
  z-index:9600;display:none;
  align-items:center;justify-content:center;padding:24px;
}
.plans-modal-bg.open{display:flex;}
.plans-modal-box{
  background:linear-gradient(160deg,#141414 0%,#070707 100%);
  border:1px solid rgba(255,179,0,.35);
  border-radius:26px;padding:30px 24px;
  width:100%;max-width:340px;text-align:center;
  max-height:calc(100dvh - 48px);overflow-y:auto;
  box-shadow:0 24px 80px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,179,0,.1);
  animation:modalPop .35s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes modalPop{
  from{transform:scale(.78);opacity:0;}
  to{transform:scale(1);opacity:1;}
}
.plans-modal-circle{
  width:68px;height:68px;border-radius:50%;
  background:linear-gradient(135deg,#FFB300,#FFD466);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;font-size:30px;
  box-shadow:0 0 36px rgba(255,179,0,.6);
}
.plans-modal-title{
  font-family:var(--font-brand);font-size:19px;font-weight:800;
  color:#fff;margin-bottom:6px;
}
.plans-modal-sub{
  font-family:var(--font-ui);font-size:13px;
  color:rgba(255,255,255,.45);line-height:1.6;margin-bottom:4px;
}
.plans-modal-plan-lbl{
  font-family:var(--font-brand);font-size:14px;
  color:var(--gold);margin-bottom:18px;
}
/* dev info block */
.plans-dev-block{
  background:rgba(255,179,0,.05);border:1px solid rgba(255,179,0,.12);
  border-radius:12px;padding:10px 14px;margin-bottom:20px;text-align:left;
}
.plans-dev-lbl{
  font-family:var(--font-ui);font-size:9px;font-weight:700;
  color:rgba(255,179,0,.45);letter-spacing:1.2px;text-transform:uppercase;
  margin-bottom:5px;
}
.plans-dev-code{
  font-family:'Courier New',monospace;font-size:10px;
  color:rgba(255,255,255,.35);line-height:1.7;word-break:break-all;
}
/* modal buttons */
.plans-modal-btn-p{
  width:100%;padding:13px;border:none;border-radius:13px;
  background:linear-gradient(135deg,#C77E00,#FFB300 45%,#FFD466 65%,#FFB300 85%,#C77E00);
  color:#000;font-family:var(--font-brand);font-size:13px;font-weight:800;
  letter-spacing:.8px;text-transform:uppercase;cursor:pointer;
  box-shadow:0 4px 20px rgba(255,179,0,.4);margin-bottom:10px;
}
.plans-modal-btn-s{
  width:100%;padding:11px;border:1px solid rgba(255,255,255,.1);
  border-radius:13px;background:none;
  color:rgba(255,255,255,.4);font-family:var(--font-ui);font-size:13px;
  cursor:pointer;
}
.plans-modal-btn-map{
  width:100%;padding:11px;border:1px solid rgba(255,179,0,.25);
  border-radius:13px;background:rgba(255,179,0,.06);
  color:var(--gold);font-family:var(--font-ui);font-size:13px;font-weight:600;
  cursor:pointer;margin-top:6px;
  display:none;
}

/* ══ SEARCH EVENT CARDS ══ */
.srch-event-card{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;
  border-bottom:1px solid var(--bdr);
  cursor:pointer;
  transition:background .12s;
  -webkit-tap-highlight-color:rgba(255,179,0,.1);
}
.srch-event-card:active{ background:var(--bg3); }

.criar-week-days{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px;}
.criar-day-btn{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-brand);font-size:11px;font-weight:700;background:var(--bg3);border:1.5px solid var(--bdr2);color:var(--text3);cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent;user-select:none;flex-shrink:0;}
.criar-day-btn.active{background:rgba(255,179,0,.18);border-color:var(--gold);color:var(--gold);}
.criar-limit-badge{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg3);border:1px solid var(--bdr2);border-radius:10px;margin-bottom:16px;font-family:var(--font-ui);font-size:12px;color:var(--text2);}
.criar-limit-badge.warning{background:rgba(255,160,0,.08);border-color:rgba(255,160,0,.3);color:#FFA000;}
.criar-limit-badge.danger{background:rgba(255,60,60,.08);border-color:rgba(255,60,60,.3);color:#FF3C3C;}
.criar-limit-badge.ok{background:rgba(6,214,160,.08);border-color:rgba(6,214,160,.3);color:#06D6A0;}
.criar-simultaneo-warn{display:none;padding:10px 14px;background:rgba(255,179,0,.08);border:1px solid rgba(255,179,0,.3);border-radius:10px;font-family:var(--font-ui);font-size:12px;color:var(--gold);margin-bottom:12px;}

/* ── Filtro de raio — feed ── */
.ffb-radius-btns{
  display:flex;flex-wrap:wrap;gap:5px;margin-top:2px;
}
.ffb-radius-btn{
  flex:1;min-width:calc(25% - 4px);
  padding:7px 4px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,179,0,.18);
  border-radius:8px;
  font-family:var(--font-ui);font-size:11px;font-weight:600;
  color:var(--text2);
  cursor:pointer;
  transition:all .15s;
  text-align:center;
  -webkit-tap-highlight-color:transparent;
}
.ffb-radius-btn:active{ background:rgba(255,179,0,.15); }
.ffb-radius-btn.active{
  background:rgba(255,179,0,.18);
  border-color:var(--gold);
  color:var(--gold);
}

/* ── Busca por local — sidebar feed ── */
.ffb-geo-result{
  padding:10px 12px;
  cursor:pointer;
  border-bottom:1px solid rgba(255,179,0,.08);
  transition:background .12s;
}
.ffb-geo-result:last-child{ border-bottom:none; }
.ffb-geo-result:active{ background:rgba(255,179,0,.1); }

/* ── Slider de raio (feed) ── */
.ffb-radius-slider{
  -webkit-appearance:none;appearance:none;
  width:100%;height:4px;border-radius:2px;
  background:linear-gradient(to right,#FFB300 0%,#FFB300 16.2%,rgba(255,179,0,.18) 16.2%,rgba(255,179,0,.18) 100%);
  outline:none;cursor:pointer;display:block;
}
.ffb-radius-slider::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:20px;height:20px;border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 3px rgba(255,179,0,.25),0 2px 6px rgba(0,0,0,.5);
  cursor:pointer;margin-top:-8px;transition:box-shadow .15s;
}
.ffb-radius-slider::-webkit-slider-thumb:active{
  box-shadow:0 0 0 6px rgba(255,179,0,.3),0 2px 6px rgba(0,0,0,.5);
}
.ffb-radius-slider::-webkit-slider-runnable-track{height:4px;border-radius:2px;}
.ffb-radius-slider::-moz-range-thumb{
  width:20px;height:20px;border-radius:50%;border:none;
  background:var(--gold);box-shadow:0 0 0 3px rgba(255,179,0,.25);cursor:pointer;
}
.ffb-radius-slider::-moz-range-track{height:4px;border-radius:2px;background:rgba(255,179,0,.18);}
.ffb-radius-slider::-moz-range-progress{height:4px;border-radius:2px;background:var(--gold);}

/* ── Classificar por ── */
.ffb-sort-btn{
  display:flex;align-items:center;gap:8px;
  width:100%;padding:9px 12px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,179,0,.18);
  border-radius:10px;
  font-family:var(--font-ui);font-size:12px;font-weight:500;
  color:var(--text2);
  cursor:pointer;
  text-align:left;
  transition:all .15s;
  -webkit-tap-highlight-color:transparent;
}
.ffb-sort-btn:active{ background:rgba(255,179,0,.1); }
.ffb-sort-btn.active{
  background:rgba(255,179,0,.15);
  border-color:var(--gold);
  color:var(--gold);
  font-weight:700;
}
.ffb-sort-btn svg{ flex-shrink:0; opacity:.7; }
.ffb-sort-btn.active svg{ opacity:1; }

/* ── Filtro de período ── */
.ffb-date-input{
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,179,0,.2) !important;
  border-radius:8px !important;
  width:100%;
}

/* ── Bloqueio de categorias ── */
.bcat-chip{
  display:flex;align-items:center;gap:6px;
  padding:7px 10px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  cursor:pointer;
  font-family:var(--font-ui);font-size:12px;
  color:var(--text1);
  transition:all .15s;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
}
.bcat-chip:active{ transform:scale(.95); }
.bcat-chip.bcat-blocked{
  background:rgba(226,75,74,.12);
  border-color:rgba(226,75,74,.4);
  color:#E24B4A;
  text-decoration:line-through;
  opacity:.75;
}
.bcat-ico{ font-size:14px;flex-shrink:0; }
.bcat-lbl{ font-size:11px;font-weight:500; }
.bcat-x{
  font-size:10px;font-weight:700;
  color:#E24B4A;flex-shrink:0;
  min-width:10px;text-align:center;
}
#block-cats-grid::-webkit-scrollbar{ display:none; }

#act-modal-overlay.open{ display:flex !important; }
#act-modal-overlay.open #act-modal-box{ transform:translateY(0); }
#act-modal-body::-webkit-scrollbar{ display:none; }
.act-modal-tags{ display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px; }
.act-modal-h1{ font-family:var(--font-brand);font-size:18px;font-weight:700;color:var(--text1);line-height:1.3;margin-bottom:14px;letter-spacing:.3px; }
.act-modal-row{ display:flex;align-items:flex-start;gap:10px;font-family:var(--font-ui);font-size:13px;color:var(--text2);margin-bottom:10px;line-height:1.5; }
.act-modal-row svg{ flex-shrink:0;margin-top:1px; }
.act-modal-section{ padding:16px 18px; }
.act-modal-divider{ height:1px;background:rgba(255,179,0,.1);margin:4px 0 16px; }
.act-modal-desc{ font-family:var(--font-ui);font-size:14px;color:var(--text2);line-height:1.75;white-space:pre-wrap;word-break:break-word; }
.act-modal-organizer{ display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--bg3);cursor:pointer;border:1px solid var(--bdr);transition:background .15s; }
.act-modal-organizer:active{ background:var(--bg4); }
.act-modal-btns{ display:flex;gap:8px;padding:12px 16px 24px;flex-shrink:0;border-top:1px solid rgba(255,179,0,.1); }
.act-modal-btn{ flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 6px;border-radius:12px;font-family:var(--font-ui);font-size:12px;font-weight:600;cursor:pointer;border:1.5px solid var(--bdr2);background:var(--bg3);color:var(--text1);transition:background .15s; }
.act-modal-btn:active{ background:var(--bg4); }
.act-modal-btn.primary{ background:var(--gold);border-color:var(--gold);color:#0E0E12;font-weight:700; }
.act-modal-btn.primary:active{ filter:brightness(.9); }

#contact-list-modal.open #contact-list-box{transform:translateY(0)!important;}
#cl-people-grid::-webkit-scrollbar{display:none;}
.cl-person-row{display:flex;align-items:center;gap:12px;padding:11px 18px;border-bottom:1px solid rgba(255,255,255,.04);cursor:pointer;transition:background .12s;-webkit-tap-highlight-color:transparent;}
.cl-person-row:active{background:rgba(255,255,255,.04);}
.cl-person-row.cl-selected{background:rgba(16,185,129,.07);}
.cl-check{width:22px;height:22px;border-radius:50%;flex-shrink:0;border:1.5px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;transition:all .15s;}
.cl-selected .cl-check{background:#10B981;border-color:#10B981;color:#0a0a0a;}
.cl-avatar{width:42px;height:42px;border-radius:50%;background:var(--bg4);border:1.5px solid var(--bdr2);display:flex;align-items:center;justify-content:center;font-family:var(--font-brand);font-size:12px;color:var(--gold);flex-shrink:0;overflow:hidden;}
.cl-selected .cl-avatar{border-color:#10B981;}
.cl-info{flex:1;min-width:0;}
.cl-name{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cl-nick{font-family:var(--font-ui);font-size:12px;color:var(--text3);margin-top:1px;}
.cl-selected .cl-name{color:#10B981;}

/* Inbox light overrides — consolidated above */

/* ══ INBOX — badge de notificação ══ */
.inbox-badge {
  display: none;
  min-width: 16px; height: 16px;
  border-radius: 8px;
  background: #E24B4A;
  color: #fff;
  font-family: var(--font-ui); font-size: 10px; font-weight: 700;
  align-items: center; justify-content: center;
  padding: 0 4px;
  pointer-events: none;
  line-height: 1;
  border: 1.5px solid var(--bg);
}
/* ── Feed sidebar select ── */
[data-theme="light"] .fsb-select{
  background:#F0F0F0 !important;
  color:#16161A !important;
  border-color:rgba(0,0,0,0.12) !important;
}
/* ── Notification bell ── */
[data-theme="light"] .notif-btn{
  background:rgba(0,0,0,0.05);
  border-color:rgba(0,0,0,0.10);
  color:#444;
}
/* ── login / register telas ── */
[data-theme="light"] #scr-login,
[data-theme="light"] #scr-login-email,
[data-theme="light"] #scr-register{
  background:#F5F5F7 !important;
}
[data-theme="light"] .login-wrap{
  background:#FFFFFF !important;
  border-color:rgba(0,0,0,0.08) !important;
}
/* ── Toast ── */
[data-theme="light"] .toast-wrap{
  background:rgba(255,255,255,0.95) !important;
  color:#16161A !important;
  border-color:rgba(0,0,0,0.10) !important;
  box-shadow:0 4px 20px rgba(0,0,0,0.12) !important;
}
/* ── Visit profile ── */
[data-theme="light"] #scr-visit-profile{ background:#F5F5F7; }
/* ── Feed scroll ── */
[data-theme="light"] #feed-scroll{ background:#F5F5F7; }
/* ── Map screen ── */
[data-theme="light"] #scr-map{ background:#F0F0F0; }


/* ════════════════════════════════════════
   SNAPS — sistema completo
════════════════════════════════════════ */

/* ── Barra de Snaps no feed ── */
#snaps-bar-wrap{
  flex-shrink:0;
  padding:12px 14px 8px;
  border-bottom:1px solid rgba(255,179,0,.08);
}
.snaps-bar{
  display:flex;gap:12px;overflow-x:auto;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
  padding:2px 0 4px;
}
.snaps-bar::-webkit-scrollbar{display:none;}


/* ══ STATUS BAR ══ */
#status-bar-wrap{
  flex-shrink:0;
  overflow:hidden;
  transition:max-height .35s cubic-bezier(.4,0,.2,1), opacity .3s;
  max-height:152px;
  opacity:1;
  border-bottom:1px solid rgba(255,179,0,.08);
}
#status-bar-wrap.collapsed{
  max-height:0;
  opacity:0;
  border-bottom-color:transparent;
}
.status-bar{
  display:flex;gap:10px;overflow-x:auto;padding:10px 14px 8px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
/* Seletor Públicos / Contatos */
#status-mode{
  display:flex;gap:4px;padding:8px 14px 0;align-items:center;
}
.stm-btn{
  padding:4px 11px;border-radius:999px;cursor:pointer;
  border:1px solid var(--bdr2);background:transparent;
  font-family:var(--font-ui);font-size:10.5px;font-weight:600;
  color:var(--text3);-webkit-tap-highlight-color:transparent;
  transition:background .2s,color .2s,border-color .2s;
}
.stm-btn.on{
  background:rgba(255,179,0,.14);border-color:rgba(255,179,0,.5);color:var(--gold);
}
/* Botões de prioridade da barra de status (só ícone) */
.stord-btn{
  width:26px;height:26px;border-radius:50%;cursor:pointer;
  border:1px solid var(--bdr2);background:transparent;
  font-size:12px;line-height:1;padding:0;
  display:flex;align-items:center;justify-content:center;
  -webkit-tap-highlight-color:transparent;
  transition:background .2s,border-color .2s,opacity .2s;
  opacity:.55;
}
.stord-btn.on{
  background:rgba(255,179,0,.14);border-color:rgba(255,179,0,.5);opacity:1;
}
#stm-hint{
  font-family:var(--font-ui);font-size:9.5px;color:var(--text3);
  margin-left:auto;white-space:nowrap;opacity:.8;
}
.status-bar::-webkit-scrollbar{display:none;}
.status-item{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  flex-shrink:0;cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.status-avatar-ring{
  width:54px;height:54px;border-radius:50%;padding:2px;
  background:conic-gradient(var(--gold) 0%, rgba(255,179,0,.2) 100%);
  position:relative;
}
.status-avatar-ring.unseen{
  background:conic-gradient(var(--gold) 0%, #FFB300 100%);
}
.status-avatar-ring.seen{
  background:conic-gradient(rgba(255,179,0,.3) 0%, rgba(255,179,0,.15) 100%);
}
.status-avatar-ring.add-btn{
  background:rgba(255,179,0,.1);
  border:2px dashed rgba(255,179,0,.4);
  display:flex;align-items:center;justify-content:center;
}
.status-avatar-inner{
  width:100%;height:100%;border-radius:50%;
  background:var(--bg3);overflow:hidden;
  border:2px solid var(--bg);
  display:flex;align-items:center;justify-content:center;
}
.status-avatar-inner img{width:100%;height:100%;object-fit:cover;}
.status-lbl{
  font-family:var(--font-ui);font-size:10px;color:var(--text3);
  max-width:58px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.status-item.mine .status-lbl{color:var(--gold);}
/* Toggle arrow button */
#status-toggle-btn{
  position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:20px;height:38px;display:flex;align-items:center;justify-content:center;
  background:var(--bg2);border:1px solid var(--bdr);
  border-radius:6px 0 0 6px;border-right:none;cursor:pointer;
  z-index:5;transition:top .35s;
}

/* ── Item de snap na barra ── */
.snap-item{
  display:flex;flex-direction:column;align-items:center;gap:5px;
  flex-shrink:0;cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.snap-ring{
  width:58px;height:58px;border-radius:50%;
  padding:2.5px;
  background:linear-gradient(135deg,#FFB300,#FFD466,#C77E00);
  flex-shrink:0;
  transition:transform .15s;
}
.snap-ring:active{transform:scale(.92);}
.snap-ring.seen{
  background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.08));
}
.snap-ring-inner{
  width:100%;height:100%;border-radius:50%;
  background:var(--bg2);
  border:2px solid var(--bg);
  overflow:hidden;display:flex;align-items:center;justify-content:center;
}
.snap-ring-inner img{width:100%;height:100%;object-fit:cover;}
.snap-ring-inner svg{opacity:.4;}
.snap-item-lbl{
  font-family:var(--font-ui);font-size:10px;color:var(--text3);
  white-space:nowrap;max-width:62px;overflow:hidden;text-overflow:ellipsis;text-align:center;
}
/* Snap do próprio usuário — botão criar */
.snap-own .snap-ring{
  background:rgba(255,179,0,.15);
  border:2px dashed rgba(255,179,0,.4);
  padding:0;
}
.snap-own .snap-ring-inner{
  background:rgba(255,179,0,.06);
  border:none;
}

/* ── Preview de snap no card do feed ── */
.fcard-snap-preview{
  position:relative;
  width:100%;
  overflow:hidden;
  cursor:pointer;
  background:var(--bg3);
}
.fcard-snap-preview img,.fcard-snap-preview video{
  width:100%;height:100%;object-fit:cover;display:block;
}
.fcard-snap-badge{
  position:absolute;top:8px;left:8px;
  background:linear-gradient(135deg,rgba(255,179,0,.9),rgba(139,96,0,.9));
  border-radius:20px;padding:3px 9px;
  font-family:var(--font-ui);font-size:10px;font-weight:700;color:#fff;
  display:flex;align-items:center;gap:4px;letter-spacing:.3px;
  backdrop-filter:blur(4px);
}
.fcard-snap-timer{
  position:absolute;top:8px;right:8px;
  background:rgba(0,0,0,.55);
  border-radius:20px;padding:3px 9px;
  font-family:var(--font-ui);font-size:10px;color:rgba(255,255,255,.85);
  backdrop-filter:blur(4px);
}
.fcard-snap-tap{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.22);
  opacity:0;transition:opacity .2s;
}
.fcard-snap-preview:active .fcard-snap-tap{opacity:1;}
.fcard-snap-tap-lbl{
  background:rgba(0,0,0,.6);border:1.5px solid rgba(255,255,255,.3);
  border-radius:20px;padding:6px 16px;
  font-family:var(--font-ui);font-size:12px;font-weight:600;color:#fff;
  display:flex;align-items:center;gap:6px;
}

/* ── Viewer de snap (tela cheia) ── */
#snap-viewer{
  display:none;position:fixed;inset:0;z-index:10000;
  background:#000;flex-direction:column;
}
#snap-viewer.open{display:flex;}

/* Barra de progresso */
#snap-progress-bar{
  position:absolute;top:0;left:0;right:0;
  display:flex;gap:3px;padding:10px 12px 0;
  z-index:10;pointer-events:none;
}
.snap-prog-seg{
  flex:1;height:2.5px;border-radius:2px;
  background:rgba(255,255,255,.28);overflow:hidden;
}
.snap-prog-fill{
  height:100%;background:#fff;width:0%;
  transition:none;border-radius:2px;
}

/* Cabeçalho do viewer */
#snap-viewer-header{
  position:absolute;top:18px;left:0;right:0;
  display:flex;align-items:center;gap:10px;
  padding:0 14px;z-index:10;
}
.snap-vh-avatar{
  width:36px;height:36px;border-radius:50%;
  border:1.5px solid rgba(255,255,255,.6);overflow:hidden;flex-shrink:0;
}
.snap-vh-avatar img{width:100%;height:100%;object-fit:cover;}
.snap-vh-name{font-family:var(--font-ui);font-size:13px;font-weight:600;color:#fff;}
.snap-vh-time{font-family:var(--font-ui);font-size:11px;color:rgba(255,255,255,.65);margin-top:1px;}
#snap-viewer-close{
  margin-left:auto;width:34px;height:34px;
  border-radius:50%;background:rgba(0,0,0,.4);border:none;
  display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;
  -webkit-tap-highlight-color:transparent;
}

/* Conteúdo do snap */
#snap-viewer-media{
  flex:1;display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
#snap-viewer-media img,#snap-viewer-media video{
  width:100%;height:100%;object-fit:contain;
  user-select:none;-webkit-user-select:none;
}
#snap-viewer-text-overlay{
  position:absolute;bottom:80px;left:20px;right:20px;
  font-family:var(--font-ui);font-size:16px;font-weight:600;
  color:#fff;text-align:center;line-height:1.5;
  text-shadow:0 2px 12px rgba(0,0,0,.7);
  pointer-events:none;
}

/* Tap zones prev/next */
#snap-tap-prev,#snap-tap-next{
  position:absolute;top:0;bottom:0;width:35%;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  z-index:5;
}
#snap-tap-prev{left:0;}
#snap-tap-next{right:0;}

/* Rodapé do viewer */
#snap-viewer-footer{
  position:absolute;bottom:0;left:0;right:0;
  padding:12px 16px;padding-bottom:max(16px,env(safe-area-inset-bottom));
  background:linear-gradient(to top,rgba(0,0,0,.6),transparent);
  display:flex;align-items:center;gap:10px;z-index:10;
}
#snap-reply-input{
  flex:1;background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.3);
  border-radius:24px;padding:10px 16px;
  font-family:var(--font-ui);font-size:13px;color:#fff;outline:none;
  -webkit-appearance:none;
}
#snap-reply-input::placeholder{color:rgba(255,255,255,.5);}
#snap-reply-send{
  width:40px;height:40px;border-radius:50%;flex-shrink:0;
  background:rgba(255,179,0,.3);border:1.5px solid rgba(255,179,0,.6);
  color:#FFB300;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  -webkit-tap-highlight-color:transparent;
}
#snap-react-btn{
  width:40px;height:40px;border-radius:50%;flex-shrink:0;
  background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.2);
  color:#fff;cursor:pointer;font-size:18px;
  display:flex;align-items:center;justify-content:center;
  -webkit-tap-highlight-color:transparent;
}

/* ════ SNAP EDITOR ════ */
#scr-snap-create{ background:#000; bottom:0 !important; z-index:200 !important; }
#snap-create-preview{
  flex:1; position:relative; display:flex; align-items:center; justify-content:center;
  background:#111; overflow:hidden;
}
#snap-canvas-wrap{
  position:relative; width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
}
#snap-canvas-wrap img, #snap-canvas-wrap video{
  max-width:100%; max-height:100%; object-fit:contain;
  user-select:none; -webkit-user-select:none;
  transition: filter .3s ease;
}
.snap-create-placeholder{
  display:flex; flex-direction:column; align-items:center; gap:12px; color:rgba(255,255,255,.35);
}
/* Snap filter thumbnails */
#snap-filters-row{ display:flex; gap:8px; overflow-x:auto; padding:4px 0 6px; scrollbar-width:none; }
#snap-filters-row::-webkit-scrollbar{ display:none; }
.snap-filter-item{
  display:flex; flex-direction:column; align-items:center; gap:5px;
  flex-shrink:0; cursor:pointer; -webkit-tap-highlight-color:transparent;
}
.snap-filter-thumb{
  width:60px; height:60px; border-radius:10px; overflow:hidden;
  border:2.5px solid transparent; transition:border-color .15s;
}
.snap-filter-item.active .snap-filter-thumb{ border-color:var(--gold); }
.snap-filter-thumb canvas, .snap-filter-thumb img{ width:60px; height:60px; display:block; object-fit:cover; }
.snap-filter-lbl{
  font-family:var(--font-ui); font-size:10px; color:rgba(255,255,255,.45); white-space:nowrap;
}
.snap-filter-item.active .snap-filter-lbl{ color:var(--gold); }
/* Adjustment pills */
.snap-adj-pill{
  display:flex; align-items:center; gap:6px; padding:7px 12px; border-radius:20px; flex-shrink:0;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12);
  font-family:var(--font-ui); font-size:12px; color:rgba(255,255,255,.6); cursor:pointer;
  -webkit-tap-highlight-color:transparent; transition:.15s;
}
.snap-adj-pill.active{ background:rgba(255,179,0,.15); border-color:rgba(255,179,0,.5); color:var(--gold); }
/* Shutter button */
#snap-shutter{ transition:transform .1s; }
#snap-shutter:active{ transform:scale(.92); }

/* Footer */
#snap-create-footer{
  flex-shrink:0; display:flex; align-items:center; gap:10px;
  padding:10px 14px; padding-bottom:max(10px,env(safe-area-inset-bottom));
  background:#000; border-top:1px solid rgba(255,255,255,.06);
}
#snap-pick-btn{
  flex:1; height:46px; border-radius:13px;
  background:rgba(255,255,255,.08); border:1.5px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.8); font-family:var(--font-ui); font-size:13px; font-weight:600;
  cursor:pointer; display:flex; align-items:center; justify-content:center; gap:7px;
  -webkit-tap-highlight-color:transparent;
}
#snap-edit-toggle{
  width:46px; height:46px; border-radius:13px; flex-shrink:0;
  background:rgba(255,255,255,.06); border:1.5px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.6); cursor:pointer;
  display:none; align-items:center; justify-content:center;
  -webkit-tap-highlight-color:transparent; transition:background .15s, border-color .15s;
}
#snap-edit-toggle.open{ background:rgba(255,179,0,.15); border-color:rgba(255,179,0,.5); color:var(--gold); }
#snap-duration-wrap{
  display:flex; align-items:center; gap:5px; flex-shrink:0;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10);
  border-radius:10px; padding:6px 10px;
  font-family:var(--font-ui); font-size:12px; color:rgba(255,255,255,.6);
}
#snap-duration-select{
  background:none; border:none; color:#FFB300; font-family:var(--font-ui); font-size:13px;
  font-weight:700; outline:none; cursor:pointer; -webkit-appearance:none;
}
#snap-publish-btn{
  width:54px; height:54px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,#C77E00,#FFB300,#FFD466,#FFB300,#C77E00);
  border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 18px rgba(255,179,0,.4); transition:transform .15s;
  -webkit-tap-highlight-color:transparent;
}
#snap-publish-btn:active{ transform:scale(.92); }
#snap-file-input{ display:none; }
body.is-admin #snap-admin-gallery{ display:flex !important; }
/* ── Light mode ── */
[data-theme="light"] #snaps-bar-wrap{border-bottom-color:rgba(0,0,0,.06);}
[data-theme="light"] .snap-ring-inner{background:#F5F5F5;}
[data-theme="light"] .snap-item-lbl{color:#888;}
[data-theme="light"] .snap-own .snap-ring{background:rgba(0,0,0,.05);}
[data-theme="light"] .snap-own .snap-ring-inner{background:rgba(184,134,11,.08);}

/* ── ni-snap badge ── */
#ni-snap{position:relative;}
.snap-nav-dot{
  position:absolute;top:4px;right:10px;
  width:7px;height:7px;border-radius:50%;
  background:#FFB300;border:1.5px solid var(--bg);
  display:none;
}


/* ── Desc truncada no card ── */
.fcard-desc-wrap{ position:relative; }
.fcard-desc-full{ display:none; }
.fcard-ver-mais{
  color:var(--gold);
  font-family:var(--font-ui);font-size:13px;
  cursor:pointer;font-weight:600;
  white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
}
.fcard-ver-mais:hover{ text-decoration:underline; }


/* ── Shimmer sobre fotos do card ── */
.fcard-photo-wrap{
  position:relative;
  overflow:hidden;
}
.fcard-photo-wrap::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    105deg,
    transparent       0%,
    transparent      28%,
    rgba(255,255,255,.03) 36%,
    rgba(255,255,255,.09) 44%,
    rgba(255,255,255,.14) 50%,
    rgba(255,255,255,.09) 56%,
    rgba(255,255,255,.03) 64%,
    transparent      72%,
    transparent     100%
  );
  transform:translateX(-130%) skewX(-8deg);
  animation:photoShimmer var(--shimmer-dur, 14s) ease-in-out infinite;
  animation-delay:var(--shimmer-delay, 0s);
  pointer-events:none;
  z-index:2;
  will-change:transform;
}
@keyframes livePulse{
  0%,100%{ box-shadow:0 0 0 3px rgba(34,197,94,.2); }
  50%     { box-shadow:0 0 0 6px rgba(34,197,94,.0); }
}
@keyframes photoShimmer{
  0%,62%  { transform:translateX(-130%) skewX(-8deg); opacity:0; }
  65%     { opacity:1; }
  82%     { transform:translateX(130%) skewX(-8deg); opacity:0; }
  100%    { transform:translateX(-130%) skewX(-8deg); opacity:0; }
}
/* Delays escalonados para não sincronizar entre cards */
.fcard-photo-wrap:nth-child(1)::after { --shimmer-delay:0s;   --shimmer-dur:13s; }
.fcard-photo-wrap:nth-child(2)::after { --shimmer-delay:3.2s; --shimmer-dur:15s; }
.fcard-photo-wrap:nth-child(3)::after { --shimmer-delay:6.7s; --shimmer-dur:14s; }
.fcard-photo-wrap:nth-child(4)::after { --shimmer-delay:1.8s; --shimmer-dur:16s; }
.fcard-photo-wrap:nth-child(5)::after { --shimmer-delay:9.1s; --shimmer-dur:13s; }


/* ═══ ADMIN STYLES ═══ */
body.is-admin .admin-only { display: flex !important; }
.admin-only { display: none !important; }
#scr-admin{overflow:hidden;display:flex;flex-direction:column;}
#scr-admin .sc{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.adm-tab{flex:1;padding:12px 8px;font-family:var(--font-ui);font-size:12px;font-weight:600;color:var(--text3);text-align:center;cursor:pointer;border-bottom:2px solid transparent;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;}
.adm-tab.active{color:var(--gold);border-bottom-color:var(--gold);}
.adm-card{background:var(--bg3);border:1px solid var(--bdr);border-radius:12px;padding:14px;margin-bottom:10px;}
.adm-card-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.adm-pill{display:inline-block;font-family:var(--font-ui);font-size:10px;font-weight:700;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;}
.adm-pill.pending{background:rgba(255,165,0,.15);color:#FFA500;border:1px solid rgba(255,165,0,.3);}
.adm-pill.reviewed{background:rgba(78,205,196,.15);color:#4ECDC4;border:1px solid rgba(78,205,196,.3);}
.adm-pill.dismissed{background:rgba(150,150,150,.15);color:#999;border:1px solid rgba(150,150,150,.3);}
.adm-pill.actioned{background:rgba(255,68,68,.15);color:#FF4444;border:1px solid rgba(255,68,68,.3);}
.adm-btn{padding:8px 12px;border-radius:8px;border:1px solid var(--bdr2);background:var(--bg4);font-family:var(--font-ui);font-size:11px;font-weight:600;color:var(--text2);cursor:pointer;transition:all .15s;}
.adm-btn:active{transform:scale(.95);}
.adm-btn-primary{background:var(--gold);color:#0E0E12;border-color:var(--gold);}
.adm-btn-danger{background:rgba(255,68,68,.12);color:#FF4444;border-color:rgba(255,68,68,.3);}
.adm-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--bdr2);background:var(--bg);color:var(--text1);font-family:var(--font-ui);font-size:13px;box-sizing:border-box;}
.adm-input:focus{outline:none;border-color:var(--gold);}
.adm-radio-opt{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--bdr2);background:var(--bg3);margin-bottom:6px;cursor:pointer;font-family:var(--font-ui);font-size:13px;color:var(--text1);}
.adm-radio-opt input{accent-color:var(--gold);}
.adm-radio-opt:has(input:checked){border-color:var(--gold);background:rgba(255,179,0,.08);}
.adm-label{display:block;font-family:var(--font-ui);font-size:11px;color:var(--text3);margin-top:10px;margin-bottom:4px;}
.adm-label{display:block;font-family:var(--font-ui);font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:1px;margin:10px 0 6px;}

/* ═══════════════════ FINDER ═══════════════════ */
.finder-fab{
  position:absolute;right:14px;bottom:14px;z-index:30;
  width:52px;height:62px;border-radius:12px;cursor:pointer;
  background:transparent;border:none;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;padding:4px 0;
  -webkit-tap-highlight-color:transparent;
  font-family:var(--font-ui);
  transition:transform .18s ease;
  animation:finderFabIdlePulse 2.6s ease-in-out infinite;
}
.finder-fab:active{transform:scale(.88);}
.finder-fab .ff-lbl{
  font-size:7.5px;font-weight:700;color:#10B981;letter-spacing:1.3px;line-height:1;
  text-shadow:0 1px 3px rgba(0,0,0,.7);
}
.finder-fab .ff-icon{
  line-height:0; color:#10B981;
  filter:drop-shadow(0 0 6px rgba(16, 185, 129, .55));
  display:flex;align-items:center;
}
/* Pulso sutil sempre (idle) — só o ícone */
@keyframes finderFabIdlePulse{
  0%,100%{ transform:scale(1); }
  50%    { transform:scale(1.06); }
}
.finder-fab.active{
  animation:finderFabActivePulse 1.5s ease-in-out infinite;
}
.finder-fab.active .ff-icon{
  color:#6EE7B7;
  filter:drop-shadow(0 0 10px rgba(16, 185, 129, .85));
}
.finder-fab.active .ff-lbl{
  color:#6EE7B7;text-shadow:0 0 8px rgba(16, 185, 129, .6);
}
@keyframes finderFabActivePulse{
  0%,100%{ transform:scale(1); }
  50%    { transform:scale(1.12); }
}

/* ═══ Tooltip de descoberta (1ª vez no mapa) ═══ */
#finder-tip{
  position:absolute; bottom:74px; right:14px; z-index:31;
  background:rgba(0,0,0,.88); color:#A7F3D0;
  font-family:var(--font-ui); font-size:12px; font-weight:600;
  padding:10px 14px; border-radius:14px;
  border:1px solid rgba(16, 185, 129, .4);
  box-shadow:0 6px 22px rgba(0,0,0,.55);
  max-width:200px; line-height:1.4;
  opacity:0; transform:translateY(8px);
  pointer-events:none;
  transition:opacity .35s ease, transform .35s ease;
  white-space:normal;
}
#finder-tip.show{ opacity:1; transform:translateY(0); }
#finder-tip::after{
  content:''; position:absolute; right:18px; bottom:-7px;
  width:0; height:0;
  border-left:7px solid transparent;
  border-right:7px solid transparent;
  border-top:7px solid rgba(0,0,0,.88);
  filter:drop-shadow(0 1px 0 rgba(16, 185, 129, .4));
}

/* Barra de sessão (countdown) */
#finder-session-bar{
  display:none;position:absolute;top:10px;left:50%;transform:translateX(-50%);
  z-index:40;padding:6px 12px;border-radius:20px;
  background:rgba(0,0,0,.85);backdrop-filter:blur(10px);
  border:1px solid rgba(16, 185, 129, .35);
  font-family:var(--font-ui);font-size:11px;color:#A7F3D0;
  align-items:center;gap:7px;white-space:nowrap;max-width:calc(100% - 24px);
  box-shadow:0 6px 18px rgba(0,0,0,.5);
}
#finder-session-bar.show{display:inline-flex;}
#finder-session-bar .fsb-dot{
  width:7px;height:7px;border-radius:50%;background:#10B981;
  animation:finderDotPulse 1.4s ease-in-out infinite;
}
@keyframes finderDotPulse{0%,100%{opacity:1;}50%{opacity:.35;}}
#finder-session-bar .fsb-deact{
  margin-left:6px;color:#059669;cursor:pointer;font-weight:600;
  text-decoration:underline;-webkit-tap-highlight-color:transparent;
  background:none;border:none;font-family:inherit;font-size:inherit;padding:0;
}

/* Pin do usuário Finder no mapa */
.finder-pin{
  width:42px;height:42px;border-radius:50%;
  position:relative;cursor:pointer;
  background:#0a0a0a;border:2.5px solid #10B981;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  box-shadow:0 0 18px rgba(16, 185, 129, .55);
}
.finder-pin img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;}
.finder-pin::before{
  content:'';position:absolute;inset:-8px;border-radius:50%;
  border:2px solid rgba(16, 185, 129, .45);
  animation:finderRing 2.4s ease-out infinite;
}
.finder-pin::after{
  content:'';position:absolute;inset:-14px;border-radius:50%;
  border:1.5px solid rgba(16, 185, 129, .25);
  animation:finderRing 2.4s ease-out infinite;
  animation-delay:1.2s;
}
@keyframes finderRing{
  0%{opacity:.9;transform:scale(.85);}
  100%{opacity:0;transform:scale(1.6);}
}
/* Estados de intensidade (termômetro: mais ativo = mais notado) */
.finder-pin.hot{ transform:scale(1.1); z-index:6; border-color:#10B981; box-shadow:0 0 26px rgba(16, 185, 129, .85), 0 0 10px rgba(255,255,255,.35); }
.finder-pin.hot::before{ border-color:rgba(16, 185, 129, .6); }
.finder-pin.hot::after{ border-color:rgba(16, 185, 129, .35); }
.finder-pin.warm{border-color:#10B981;box-shadow:0 0 12px rgba(16, 185, 129, .4);}
.finder-pin.warm::before{border-color:rgba(16, 185, 129, .3);}
.finder-pin.warm::after{display:none;}
.finder-pin.low{border-color:#8B4040;box-shadow:0 0 6px rgba(139,107,77,.25);opacity:.7;}
.finder-pin.low::before,.finder-pin.low::after{display:none;}

/* Card de preview ao tocar num pin */
.finder-preview-ov{
  position:fixed;inset:0;z-index:9975;
  background:rgba(0,0,0,.6);backdrop-filter:blur(8px);
  display:flex;align-items:flex-end;justify-content:center;
}
.finder-preview-card{
  background:linear-gradient(160deg,var(--bg2),var(--bg));
  border:1px solid rgba(16, 185, 129, .3);
  border-radius:24px 24px 0 0;width:100%;max-width:430px;
  padding:0 0 max(20px,env(safe-area-inset-bottom));
  max-height:80vh;overflow-y:auto;
}


.finder-preview-photo{
  flex-shrink:0;width:90px;height:120px;border-radius:14px;
  object-fit:cover;background:var(--bg3);
  border:1px solid rgba(16, 185, 129, .2);
}
.finder-preview-body{padding:14px 18px;}
.finder-preview-name{
  font-family:var(--font-brand);font-size:18px;color:#fff;
  letter-spacing:1px;margin-bottom:2px;
}
.finder-preview-handle{
  font-family:var(--font-ui);font-size:13px;color:var(--gold);
  font-weight:600;letter-spacing:.3px;margin-bottom:4px;
}
.finder-preview-alias{
  font-family:var(--font-ui);font-size:11px;color:var(--text3);
  font-style:italic;margin-bottom:6px;
}
.finder-preview-meta{
  font-family:var(--font-ui);font-size:12px;color:var(--text2);
  display:flex;align-items:center;gap:8px;margin-bottom:10px;
}
.finder-preview-meta .fpm-dist{color:#10B981;font-weight:600;}
.finder-preview-bio{
  font-family:var(--font-ui);font-size:13px;color:var(--text1);
  line-height:1.5;margin-bottom:12px;
}
.finder-preview-intents{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.finder-preview-intent-chip{
  padding:5px 11px;border-radius:13px;font-family:var(--font-ui);
  font-size:11px;font-weight:600;color:#10B981;
  background:rgba(16, 185, 129, .08);border:1px solid rgba(16, 185, 129, .25);
}
.finder-preview-actions{display:flex;gap:8px;padding:0 18px;}
.finder-preview-actions button{
  flex:1;padding:13px;border-radius:13px;border:none;cursor:pointer;
  font-family:var(--font-ui);font-size:13px;font-weight:700;
  letter-spacing:.5px;-webkit-tap-highlight-color:transparent;
}
.finder-btn-match{
  background:linear-gradient(135deg,#059669,#10B981);color:#fff;
  box-shadow:0 4px 14px rgba(229, 90, 76, .35);
}
.finder-btn-close{
  background:var(--bg3);color:var(--text2);
  border:1px solid var(--bdr2)!important;
}

/* Onboarding/Profile screen styles */
.finder-onb-input{
  width:100%;padding:12px 14px;background:var(--bg);
  border:1px solid var(--bdr2);border-radius:11px;
  font-family:var(--font-ui);font-size:13px;color:var(--text1);
  box-sizing:border-box;margin-bottom:10px;
}
.finder-onb-input:focus{outline:none;border-color:#10B981;}
.finder-onb-label{
  font-family:var(--font-brand);font-size:11px;color:#10B981;
  letter-spacing:1.5px;margin-bottom:6px;margin-top:14px;
}
.finder-onb-help{font-family:var(--font-ui);font-size:11px;color:var(--text3);margin-bottom:4px;}
.finder-intent-grid{display:flex;flex-wrap:wrap;gap:7px;}
.finder-intent-pick{
  padding:8px 14px;border-radius:14px;cursor:pointer;
  font-family:var(--font-ui);font-size:12px;color:var(--text2);
  background:var(--bg3);border:1px solid var(--bdr2);
  -webkit-tap-highlight-color:transparent;transition:all .15s;
}
.finder-intent-pick.on{
  color:#10B981;background:rgba(16, 185, 129, .1);border-color:#10B981;
}




.finder-loc-toggle{
  display:flex;background:var(--bg3);border-radius:11px;padding:3px;
  border:1px solid var(--bdr2);margin-bottom:6px;
}
.finder-loc-toggle button{
  flex:1;padding:9px 8px;background:transparent;border:none;cursor:pointer;
  font-family:var(--font-ui);font-size:11px;color:var(--text3);
  border-radius:8px;-webkit-tap-highlight-color:transparent;
}
.finder-loc-toggle button.on{background:rgba(16, 185, 129, .18);color:#10B981;font-weight:700;}


/* ═══════════════ FINDER MATCHES ═══════════════ */
.fm-tabs{
  display:flex;border-bottom:1px solid var(--bdr);background:var(--bg);
  flex-shrink:0;padding:0 4px;
}
.fm-tab{
  flex:1;padding:14px 8px;text-align:center;font-family:var(--font-ui);
  font-size:12px;font-weight:600;color:var(--text3);cursor:pointer;
  border-bottom:2px solid transparent;transition:.15s;
  -webkit-tap-highlight-color:transparent;letter-spacing:.5px;
  position:relative;
}
.fm-tab.active{color:#10B981;border-bottom-color:#10B981;}
.fm-tab-badge{
  display:inline-block;min-width:18px;height:18px;padding:0 5px;
  border-radius:9px;background:#059669;color:#fff;
  font-size:10px;line-height:18px;font-weight:700;margin-left:4px;
  vertical-align:1px;
}
.fm-card{
  display:flex;align-items:center;gap:12px;
  padding:12px;background:var(--bg3);border:1px solid var(--bdr);
  border-radius:14px;margin-bottom:10px;
}
.fm-card-photo{
  width:54px;height:54px;border-radius:50%;flex-shrink:0;
  background:var(--bg4);border:1.5px solid rgba(16, 185, 129, .35);
  overflow:hidden;position:relative;
}
.fm-card-photo img{width:100%;height:100%;object-fit:cover;}
.fm-card-body{flex:1;min-width:0;}
.fm-card-name{
  font-family:var(--font-ui);font-size:14px;font-weight:700;
  color:var(--text1);margin-bottom:2px;
}
.fm-card-sub{font-family:var(--font-ui);font-size:11px;color:var(--text3);}
.fm-card-actions{display:flex;gap:6px;flex-shrink:0;}
.fm-btn{
  padding:8px 12px;border-radius:9px;font-family:var(--font-ui);
  font-size:12px;font-weight:600;cursor:pointer;border:none;
  -webkit-tap-highlight-color:transparent;
}
.fm-btn-accept{background:linear-gradient(135deg,#059669,#10B981);color:#fff;}
.fm-btn-reject{background:var(--bg4);color:var(--text2);border:1px solid var(--bdr2);}
.fm-btn-chat{background:linear-gradient(135deg,#10B981,#10B981);color:#000;font-weight:700;}
.fm-empty{
  text-align:center;padding:50px 30px;color:var(--text3);
  font-family:var(--font-ui);font-size:13px;
}
.fm-empty-icon{font-size:36px;margin-bottom:12px;opacity:.5;}
.fm-status-pill{
  display:inline-block;padding:2px 8px;border-radius:8px;
  font-size:10px;font-weight:700;letter-spacing:.5px;
  text-transform:uppercase;
}
.fm-status-pending{background:rgba(255,165,0,.15);color:#10B981;}
.fm-status-accepted{background:rgba(34,197,94,.15);color:#22C55E;}
.fm-status-rejected{background:rgba(239,68,68,.15);color:#EF4444;}

/* Botão de Matches no header do mapa */
.finder-matches-btn{
  width:34px;height:34px;border-radius:50%;
  background:rgba(16, 185, 129, .12);border:1px solid rgba(16, 185, 129, .35);
  display:none;align-items:center;justify-content:center;
  cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent;
}
.finder-matches-btn.show{display:flex;}
.finder-matches-btn-badge{
  position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;
  padding:0 4px;border-radius:8px;background:#059669;color:#fff;
  font-size:9px;line-height:16px;font-weight:700;font-family:var(--font-ui);
  border:2px solid var(--bg);
}


/* ═══════════════ FINDER FASE 3 ═══════════════ */
/* Suavização de transição entre modo normal e Finder */
.finder-pin{ transition: opacity .35s ease, transform .35s ease; }
.mapboxgl-marker{ transition: opacity .35s ease; }

/* Pulse "new" — usuário recém-apareceu no mapa */
.finder-pin.is-new{ animation: finderPinNew 2.4s ease-out 1; }
@keyframes finderPinNew{
  0%   { transform: scale(.3); opacity: 0; }
  25%  { transform: scale(1.2); opacity: 1; }
  50%  { transform: scale(.95); }
  100% { transform: scale(1); }
}
.finder-pin.is-new::before{ animation-duration: 1s; }

/* Pulse de "match acontecendo" — anel cinematográfico no local do match */
.finder-match-pulse{
  position: absolute; width: 16px; height: 16px; border-radius: 50%;
  pointer-events: none; z-index: 5;
  background: radial-gradient(circle, rgba(16, 185, 129, .9), transparent 70%);
  animation: finderMatchPulse 1.8s ease-out forwards;
}
@keyframes finderMatchPulse{
  0%   { transform: scale(.5); opacity: 1; }
  100% { transform: scale(10); opacity: 0; }
}

/* Menu de segurança no preview */
.finder-preview-safety{
  position: absolute; top: 10px; right: 14px; z-index: 10;
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(0,0,0,.5); border: 1px solid rgba(255,255,255,.15);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.finder-preview-card{ position: relative; }

/* Sheet de segurança (block/report/hide) */
.finder-safety-sheet{
  position: fixed; inset: 0; z-index: 9985;
  background: rgba(0,0,0,.78); backdrop-filter: blur(8px);
  display: flex; align-items: flex-end; justify-content: center;
}
.finder-safety-sheet > div{
  background: linear-gradient(160deg,var(--bg2),var(--bg));
  border: 1px solid rgba(16, 185, 129, .22);
  border-radius: 22px 22px 0 0; width: 100%; max-width: 430px;
  padding: 0 0 max(20px,env(safe-area-inset-bottom));
}
.finder-safety-item{
  display: flex; align-items: center; gap: 12px;
  padding: 14px 18px; cursor: pointer; background: transparent;
  border: none; width: 100%; text-align: left;
  font-family: var(--font-ui); font-size: 14px; color: var(--text1);
  -webkit-tap-highlight-color: transparent;
}
.finder-safety-item:hover, .finder-safety-item:active{ background: var(--bg3); }
.finder-safety-item.danger{ color: #E55A4C; }
.finder-safety-item.danger svg{ stroke: #E55A4C; }


/* ═══════════════ FINDER RESTRUCTURE ═══════════════ */
/* No Finder: esconde só pins de atividades comerciais — locais do sistema (.map-marker-spot) permanecem visíveis */
/* No Finder: rebaixa TODOS os pins Here Hub (comercial/turismo/atividades) a marcos discretos */
body.finder-map-mode .map-marker-cat{
  pointer-events: none !important;
  filter: saturate(.7);
}
/* No modo Finder rebaixa só o PINO+ícone (não o marcador inteiro), pra o NOME poder aparecer legível */
body.finder-map-mode .map-marker-cat .mmc-pin,
body.finder-map-mode .map-marker-cat .mmc-icon{
  opacity: .35;
}
/* Nome do local com transparência abaixo do pino (só com zoom aproximado, pra não poluir na visão ampla) */
body.finder-map-mode .gota-marker[data-zl="2"] .gota-label,
body.finder-map-mode .gota-marker[data-zl="3"] .gota-label{
  opacity: .6 !important;
  color: rgba(245,245,245,.72) !important;
}

/* Banner de status do Finder (topo do mapa, em modo Finder) */
#finder-status-banner{
  display:none; position:absolute; top:8px; left:50%; transform:translateX(-50%);
  z-index:25; padding:9px 14px; border-radius:22px;
  background:rgba(0,0,0,.82); backdrop-filter:blur(10px);
  border:1px solid rgba(16, 185, 129, .4);
  font-family:var(--font-ui); font-size:12px; color:#A7F3D0;
  align-items:center; gap:10px; white-space:nowrap;
  box-shadow:0 4px 18px rgba(0,0,0,.5);
  max-width: calc(100vw - 24px); overflow:hidden;
}
body.finder-map-mode #finder-status-banner{ display:flex; }
/* Temporada ativa: a barra de sessão (countdown) já cobre visibilidade/controles,
   então escondemos o banner de status pra não sobrepor uma barra na outra. */
body:has(#finder-session-bar.show) #finder-status-banner{ display:none !important; }

/* ═══ Banner HERE HUB — modo padrão do mapa ═══
   Espelho dourado do Finder. Mutuamente exclusivo:
   no Finder ativo, esconde; sem Finder, mostra. Cria
   reforço de marca + senso de modo (HUB vs Finder). */
#herehub-mode-banner{
  display:flex; position:absolute; top:8px; left:50%; transform:translateX(-50%);
  z-index:25; padding:9px 14px; border-radius:22px;
  background:rgba(0,0,0,.82); backdrop-filter:blur(10px);
  border:1px solid rgba(255,179,0,.45);
  font-family:var(--font-ui); font-size:12px; color:#E8D9A8;
  align-items:center; gap:9px; white-space:nowrap;
  box-shadow:0 4px 18px rgba(0,0,0,.5), 0 0 22px rgba(255,179,0,.08);
  max-width: calc(100vw - 24px); overflow:hidden;
  pointer-events:none; /* não bloqueia interação com o mapa */
}
body.finder-map-mode #herehub-mode-banner{ display:none; }

#herehub-mode-banner .hmb-dot{
  width:7px;height:7px;border-radius:50%;background:var(--gold);
  flex-shrink:0; box-shadow:0 0 8px rgba(255,179,0,.6);
  animation:hmbDotPulse 2s ease-in-out infinite;
}
@keyframes hmbDotPulse{
  0%,100%{ opacity:1; transform:scale(1); }
  50%{ opacity:.55; transform:scale(.85); }
}
#herehub-mode-banner .hmb-brand{
  font-family:var(--font-brand); font-size:12px; letter-spacing:2px;
  color:var(--gold); font-weight:600;
}
#herehub-mode-banner .hmb-sub{
  font-family:var(--font-ui); font-size:11px; color:#9a8a5a;
  letter-spacing:.3px;
}


#finder-status-banner .fsb-dot{
  width:7px;height:7px;border-radius:50%;background:#10B981;
  animation:finderDotPulse 1.4s ease-in-out infinite;flex-shrink:0;
}
#finder-status-banner.inactive .fsb-dot{
  background:#666;animation:none;
}
#finder-status-banner .fsb-action{
  background:rgba(16, 185, 129, .18);border:1px solid rgba(16, 185, 129, .4);
  color:#10B981;padding:4px 9px;border-radius:14px;
  font-family:inherit;font-size:11px;font-weight:700;cursor:pointer;
  letter-spacing:.3px;-webkit-tap-highlight-color:transparent;
  margin-left:2px;
}
#finder-status-banner .fsb-action:active{ transform:scale(.94); }
#finder-status-banner .fsb-action.danger{
  background:transparent;border:none;color:#10B981;
  text-decoration:underline;font-weight:500;padding:2px 4px;
  margin-left:4px;
}

/* Botão Explorar (lista de pessoas) — aparece junto com o de matches */
#finder-explore-btn{
  display:none; width:34px; height:34px; border-radius:50%;
  background:rgba(16, 185, 129, .12); border:1px solid rgba(16, 185, 129, .35);
  align-items:center; justify-content:center; cursor:pointer;
  position:relative; -webkit-tap-highlight-color:transparent;
}
body.finder-map-mode #finder-explore-btn{ display:flex; }

/* Esconder o botão de matches se o usuário não está visível (sem sessão = sem matches a fazer) */
body.finder-map-mode .finder-matches-btn{ display:flex; }

/* Estilo do explore (grid de cards) */
.fe-grid{
  display:grid; grid-template-columns: 1fr 1fr; gap:10px;
}
.fe-card{
  background:var(--bg3); border:1px solid var(--bdr);
  border-radius:14px; overflow:hidden; cursor:pointer;
  -webkit-tap-highlight-color:transparent; transition:transform .15s;
}
.fe-card:active{ transform:scale(.97); }
.fe-card-photo{
  width:100%; aspect-ratio:3/4; background:var(--bg4);
  position:relative; overflow:hidden;
}
.fe-card-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.fe-card-photo .fe-card-dist{
  position:absolute; bottom:8px; left:8px;
  padding:3px 8px; border-radius:10px;
  background:rgba(0,0,0,.7); color:#10B981;
  font-family:var(--font-ui); font-size:10px; font-weight:700;
}
.fe-card-photo .fe-card-intensity{
  position:absolute; top:8px; right:8px;
  width:10px; height:10px; border-radius:50%;
  box-shadow:0 0 8px currentColor;
}
.fe-card-photo .fe-card-intensity.hot{ background:#10B981; color:#10B981; }
.fe-card-photo .fe-card-intensity.warm{ background:#10B981; color:#10B981; }
.fe-card-photo .fe-card-intensity.low{ background:#8B4040; color:#8B4040; }
.fe-card-body{ padding:10px 12px; }
.fe-card-name{
  font-family:var(--font-ui); font-size:13px; font-weight:700;
  color:var(--text1); margin-bottom:2px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.fe-card-meta{ font-family:var(--font-ui); font-size:10px; color:var(--text3); }

/* ═══ Deck de afinidade (Bloco 4) ═══ */
.fdeck-wrap{ display:flex; flex-direction:column; align-items:center; }
.fdeck{ position:relative; width:100%; max-width:400px; height:58vh; min-height:400px; margin:0 auto; }
.fdeck-card{ position:absolute; inset:0; border-radius:20px; overflow:hidden; display:flex; flex-direction:column;
  background:linear-gradient(160deg,#1B1B21,#151519,#101014); border:1px solid rgba(16,185,129,.30);
  box-shadow:0 12px 44px rgba(0,0,0,.6); touch-action:none; user-select:none; -webkit-user-select:none; }
#fdeck-top{ z-index:2; cursor:grab; }
.fdeck-card.peek{ transform:scale(.94) translateY(12px); opacity:.5; z-index:1; pointer-events:none; }
.fdeck-photo{ position:relative; flex:1; min-height:0; background:var(--bg4); }
.fdeck-photo img{ width:100%; height:100%; object-fit:cover; display:block; -webkit-user-drag:none; pointer-events:none; }
.fdeck-nophoto{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:72px; }
.fdeck-intensity{ position:absolute; top:12px; left:12px; width:12px; height:12px; border-radius:50%; box-shadow:0 0 0 3px rgba(0,0,0,.35); }
.fdeck-intensity.hot{ background:#10B981; box-shadow:0 0 14px #10B981,0 0 0 3px rgba(0,0,0,.35); }
.fdeck-intensity.warm{ background:#34D399; }
.fdeck-intensity.low{ background:#6B7280; }
.fdeck-dist{ position:absolute; top:11px; right:12px; background:rgba(0,0,0,.6); color:#fff; font-family:var(--font-ui); font-size:11px; font-weight:600; padding:3px 9px; border-radius:999px; }
.fdeck-hint{ position:absolute; top:20px; font-family:var(--font-brand); font-size:24px; letter-spacing:2px; padding:5px 14px; border-radius:10px; opacity:0; pointer-events:none; }
.fdeck-hint.like{ right:20px; color:#10B981; border:3px solid #10B981; transform:rotate(14deg); }
.fdeck-hint.pass{ left:20px; color:#E24B4A; border:3px solid #E24B4A; transform:rotate(-14deg); }
.fdeck-info{ padding:14px 16px 18px; }
.fdeck-name{ font-family:var(--font-ui); font-size:19px; font-weight:800; color:var(--text1); }
.fdeck-name .fdeck-meta{ font-size:13px; font-weight:500; color:var(--text3); }
.fdeck-affinity{ font-family:var(--font-ui); font-size:12.5px; color:#10B981; font-weight:700; margin-top:5px; }
.fdeck-bio{ font-family:var(--font-ui); font-size:12.5px; color:var(--text2); margin-top:7px; line-height:1.45; max-height:42px; overflow:hidden; }
.fdeck-actions{ display:flex; justify-content:center; align-items:center; gap:22px; margin-top:20px; }
.fdeck-btn{ border:none; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(0,0,0,.45); transition:transform .12s; }
.fdeck-btn:active{ transform:scale(.9); }
.fdeck-btn.pass{ width:58px; height:58px; font-size:24px; background:#fff; color:#E24B4A; }
.fdeck-btn.meet{ width:50px; height:50px; font-size:20px; background:linear-gradient(135deg,#FFB300,#FF8A00); }
.fdeck-btn.like{ width:58px; height:58px; font-size:24px; background:linear-gradient(135deg,#059669,#10B981); }

/* ═══ Toggle Todos os pins / Meus cruzamentos + marcadores de cruzamento (Bloco 3c) ═══ */
#finder-map-mode-toggle{ display:none; position:absolute; top:74px; left:50%; transform:translateX(-50%); z-index:38; background:rgba(16,20,18,.9); backdrop-filter:blur(8px); border:1px solid rgba(16,185,129,.3); border-radius:999px; padding:3px; gap:2px; box-shadow:0 4px 16px rgba(0,0,0,.5); }
#finder-map-mode-toggle.show{ display:flex; }
.fmm-btn{ border:none; background:transparent; color:var(--text3); font-family:var(--font-ui); font-size:12px; font-weight:700; padding:6px 14px; border-radius:999px; cursor:pointer; white-space:nowrap; }
.fmm-btn.on{ background:linear-gradient(135deg,#059669,#10B981); color:#fff; }
.finder-cross-marker{ position:relative; cursor:pointer; }
.finder-cross-marker .fcm-pin{ width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,#059669,#10B981); display:flex; align-items:center; justify-content:center; font-size:18px; box-shadow:0 3px 12px rgba(0,0,0,.5); border:2px solid #fff; }
.finder-cross-marker .fcm-count{ position:absolute; top:-4px; right:-4px; min-width:18px; height:18px; padding:0 4px; border-radius:999px; background:#E24B4A; color:#fff; font-family:var(--font-ui); font-size:11px; font-weight:800; display:flex; align-items:center; justify-content:center; border:1.5px solid #101014; }

/* ═══ Card de evento astronômico (atividade de sistema no feed) ═══ */
.astro-card{ position:relative; padding:22px 18px 18px; text-align:center; background:linear-gradient(160deg,#1a1035,#0d0820,#0a0618); border:1px solid rgba(139,92,246,.35); overflow:hidden; }
.astro-card::before{ content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 18% 14%, rgba(255,255,255,.14), transparent 7%), radial-gradient(circle at 72% 26%, rgba(255,255,255,.1), transparent 5%), radial-gradient(circle at 44% 62%, rgba(255,255,255,.1), transparent 4%), radial-gradient(circle at 88% 70%, rgba(255,255,255,.08), transparent 5%); }
.astro-card > *{ position:relative; }
.astro-seal{ display:inline-block; font-family:var(--font-ui); font-size:11px; font-weight:800; letter-spacing:.5px; color:#C4B5FD; background:rgba(139,92,246,.18); border:1px solid rgba(139,92,246,.4); padding:4px 12px; border-radius:999px; margin-bottom:14px; }
.astro-emoji{ font-size:46px; line-height:1; margin-bottom:10px; }
.astro-title{ font-family:var(--font-ui); font-size:19px; font-weight:800; color:#fff; margin-bottom:6px; }
.astro-when{ font-family:var(--font-ui); font-size:13px; font-weight:700; color:#A78BFA; margin-bottom:10px; }
.astro-desc{ font-family:var(--font-ui); font-size:13px; line-height:1.5; color:var(--text2); max-width:320px; margin:0 auto 12px; }
.astro-region{ font-family:var(--font-ui); font-size:11.5px; color:var(--text3); }

/* Aro de status ativo ao redor do avatar do perfil (estilo stories) */
.prof-avatar-circle.has-status{ position:relative; }
.prof-avatar-circle.has-status::after{ content:''; position:absolute; inset:-3px; border-radius:50%; border:2.5px solid var(--gold); pointer-events:none; }


/* ═══ Esconder pins quando o mapa está muito afastado ═══ */
/* Zoom-out: esconde TODOS os pins (comerciais E spots do sistema E finder pins) — usuário precisa aproximar pra ver detalhes */
body.map-zoomed-out .map-marker-cat,
body.map-zoomed-out .finder-pin{
  display: none !important;
}


/* ═══════════════ COMUNIDADES — EM BREVE ═══════════════ */
#comm-coming-soon{
  position:relative; flex:1; min-height:0;
  display:flex; /* centraliza via margin:auto do filho — permite rolar quando não couber */
  overflow-y:auto; overflow-x:hidden; -webkit-overflow-scrolling:touch;
  background:transparent;
}
.cs-aurora-wrap{
  position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:1;
}
.cs-aurora{
  position:absolute; width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,179,0,.16), transparent 60%);
  top:-120px; right:-180px; filter:blur(40px);
  animation: csAurora 14s ease-in-out infinite;
  pointer-events:none;
}
.cs-aurora-2{
  background:radial-gradient(circle, rgba(16, 185, 129, .10), transparent 60%);
  top:auto; right:auto; bottom:-140px; left:-160px;
  animation-delay:-7s; animation-duration:18s;
}
@keyframes csAurora{
  0%,100%{ transform:translate(0,0) scale(1); opacity:.85; }
  50%    { transform:translate(40px,-30px) scale(1.15); opacity:1; }
}

.cs-content{
  position:relative; z-index:2;
  text-align:center; width:100%; max-width:340px; padding:28px 18px;
  margin:auto; /* centra em ambos os eixos e mantém rolável se exceder */
  animation: csFadeUp 1.2s cubic-bezier(.16,1,.3,1) both;
}
@keyframes csFadeUp{
  0%   { opacity:0; transform:translateY(28px); }
  100% { opacity:1; transform:translateY(0); }
}
.cs-eyebrow{
  font-family:var(--font-ui); font-size:10px; font-weight:700;
  letter-spacing:4px; color:var(--gold); margin-bottom:18px;
}
/* Efeito LED multifocal — várias fontes de luz concêntricas (núcleo quente -> âmbar -> bloom laranja) */
.led-multi{
  text-shadow:
    0 0 2px  rgba(255,224,150,.55),
    0 0 8px  rgba(255,179,0,.28),
    0 0 20px rgba(255,120,0,.12);
}
/* LED multifocal contido — p/ textos pequenos (EXCLUSIVO, HERE HUB) */
.led-multi-sm{
  text-shadow:
    0 0 2px rgba(255,224,150,.5),
    0 0 6px rgba(255,179,0,.18);
}
.cs-title{
  font-family:var(--font-brand); font-size:clamp(34px,11vw,54px); font-weight:900;
  letter-spacing:clamp(4px,2vw,8px); text-indent:clamp(4px,2vw,8px); line-height:1;
  background:linear-gradient(180deg,#FFE9A8 0%,#FFB300 45%,#8B6914 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  margin:0 0 22px; padding:0;
  animation: csTitleGlow 4s ease-in-out infinite;
}
@keyframes csTitleGlow{
  0%,100%{ filter:
    drop-shadow(0 0 3px  rgba(255,205,100,.28))
    drop-shadow(0 0 12px rgba(255,140,0,.14)); }
  50%    { filter:
    drop-shadow(0 0 5px  rgba(255,210,110,.40))
    drop-shadow(0 0 18px rgba(255,140,0,.22)); }
}
.cs-divider{
  display:flex; align-items:center; justify-content:center; gap:14px;
  margin-bottom:22px;
}
.cs-divider-line{
  flex:0 1 60px; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
}
.cs-divider-dot{
  color:var(--gold); font-size:9px;
  text-shadow:0 0 8px rgba(255,179,0,.6);
}
.cs-lead{
  font-family:var(--font-ui); font-size:17px; font-weight:300;
  color:#E8E8E8; line-height:1.45; margin:0 0 34px;
}
.cs-lead strong{
  color:var(--gold); font-weight:600;
  text-shadow:0 0 12px rgba(255,179,0,.35);
}
.cs-sub{
  font-family:var(--font-ui); font-size:13px;
  color:#9A9A9A; line-height:1.5; margin:0 0 32px;
  letter-spacing:.3px;
}
.cs-sub em{ font-style:italic; }
.cs-wait{
  display:inline-block;
  font-family:var(--font-brand); font-size:11px; font-weight:700;
  letter-spacing:5px; color:#10B981;
  padding:9px 22px; border-radius:24px;
  background:rgba(16, 185, 129, .08);
  border:1px solid rgba(16, 185, 129, .3);
  margin-bottom:16px;
  animation: csPulse 2.4s ease-in-out infinite;
}
@keyframes csPulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(16, 185, 129, .35); }
  50%    { box-shadow:0 0 0 12px rgba(16, 185, 129, 0); }
}
.cs-wait-btn{
  cursor:pointer; -webkit-tap-highlight-color:transparent;
  transition:transform .12s ease, background .2s ease, border-color .2s ease;
}
.cs-wait-btn:hover{ background:rgba(16,185,129,.16); border-color:rgba(16,185,129,.55); }
.cs-wait-btn:active{ transform:scale(.95); }
.cs-footer{
  display:flex; flex-direction:column; gap:4px;
  padding-top:22px; border-top:1px solid rgba(255,179,0,.18);
}
.cs-brand{
  font-family:var(--font-brand); font-size:14px; font-weight:800;
  letter-spacing:6px; color:#F5E5A8;
}
.cs-tagline{
  font-family:var(--font-ui); font-size:10px; font-weight:300;
  font-style:italic; color:var(--text3); letter-spacing:1.5px;
}
[data-theme="light"] .cs-title{
  background:linear-gradient(180deg,#C4892E 0%,#8B6914 45%,#5A3E00 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
/* ═══ Comunidades — cards do "Saiba mais" ═══ */
.ci-card{
  display:flex; gap:13px; align-items:flex-start;
  background:rgba(16,185,129,.06); border:1px solid rgba(16,185,129,.20);
  border-radius:15px; padding:14px 15px; margin-bottom:10px;
}
.ci-ic{
  flex-shrink:0; width:38px; height:38px; border-radius:11px;
  display:flex; align-items:center; justify-content:center; font-size:19px;
  background:rgba(16,185,129,.12); border:1px solid rgba(16,185,129,.22);
}
.ci-t{
  font-family:var(--font-ui); font-size:14.5px; font-weight:700;
  color:#EDEDED; margin-bottom:3px;
}
.ci-d{
  font-family:var(--font-ui); font-size:12.5px; line-height:1.55;
  color:rgba(235,235,235,.66);
}
.ci-d b{ color:#7EE7C0; font-weight:600; }
[data-theme="light"] .ci-card{ background:rgba(16,185,129,.06); border-color:rgba(16,185,129,.28); }
[data-theme="light"] .ci-t{ color:#16241E; }
[data-theme="light"] .ci-d{ color:#4A5A52; }
[data-theme="light"] .ci-d b{ color:#0E7A56; }
[data-theme="light"] .cs-lead{ color:#16161A; }
[data-theme="light"] .cs-sub{ color:#666666; }
[data-theme="light"] .cs-brand{ color:#5A3E00; }
[data-theme="light"] .cs-tagline{ color:#888888; }




/* ═══════════════ ÁLBUM DE FOTOS ═══════════════ */










/* Tile "+" inline pra adicionar */



/* Empty state com fontes */













/* ═══ Botão Álbum no perfil ═══ */


/* ═══ Viewer de foto do álbum (modal) ═══ */





/* ═══ Picker de álbum no Finder ═══ */





























/* ═══════════ SELETOR DE IDIOMA ═══════════ */
.lang-opt{
  display:flex; align-items:center; gap:12px; width:100%;
  padding:12px 14px; margin-bottom:8px;
  border:1px solid var(--bdr2); background:var(--bg3);
  border-radius:12px; cursor:pointer; color:var(--text1);
  font-family:var(--font-ui); font-size:14px; text-align:left;
  transition:border-color .15s, background .15s;
  -webkit-tap-highlight-color:transparent;
}
.lang-opt:active{ background:var(--bg4); }
.lang-opt.active{ border-color:var(--gold); background:rgba(255,179,0,.08); }
.lang-opt .lang-flag{ font-size:22px; line-height:1; flex-shrink:0; }
.lang-opt .lang-label{ flex:1; font-weight:600; }
.lang-opt .lang-check{
  width:20px; height:20px; border-radius:50%; flex-shrink:0;
  border:2px solid var(--bdr2); display:flex; align-items:center; justify-content:center;
}
.lang-opt.active .lang-check{ border-color:var(--gold); background:var(--gold); }
.lang-opt .lang-check svg{ opacity:0; }
.lang-opt.active .lang-check svg{ opacity:1; }

/* ═══════════════ FEED CARD DE SPOT DO SISTEMA ═══════════════ */
.fcard-spot{ position:relative; }
.fcard-spot-tag{
  position:absolute; top:10px; left:10px; z-index:2;
  background:rgba(255,179,0,.18); color:var(--gold);
  border:1px solid rgba(255,179,0,.45);
  padding:3px 8px; border-radius:6px;
  font-family:var(--font-ui); font-size:9px; font-weight:700;
  letter-spacing:1px; display:flex; align-items:center; gap:4px;
}
.fcard-system-badge{
  margin-left:auto; font-family:var(--font-ui); font-size:9px; font-weight:700;
  letter-spacing:.5px; color:var(--gold); background:rgba(255,179,0,.12);
  border:1px solid rgba(255,179,0,.35); padding:3px 8px; border-radius:6px;
  white-space:nowrap;
}
.fcard-spot-status{
  display:inline-flex; align-items:center; gap:5px;
  padding:3px 9px; border-radius:6px;
  font-family:var(--font-ui); font-size:11px; font-weight:600;
  margin-top:4px;
}
.fcard-spot-status.open{
  background:rgba(34,197,94,.15); color:#22C55E;
  border:1px solid rgba(34,197,94,.4);
}
.fcard-spot-status.closed{
  background:rgba(140,140,140,.12); color:var(--text3);
  border:1px solid rgba(140,140,140,.3);
}
.fcard-spot-status .dot{
  width:6px; height:6px; border-radius:50%; background:currentColor;
}
.fcard-spot-hours{
  font-family:var(--font-ui); font-size:11px; color:var(--text3);
  margin-top:4px; display:flex; align-items:center; gap:5px;
}



/* ═══════════════ MURAL DE RECADOS ═══════════════ */
.mural-section{
  padding:20px 16px 24px; margin-top:8px;
  border-top:1px solid var(--bdr);
}
.mural-title{
  font-family:var(--font-brand); font-size:13px; color:var(--gold);
  letter-spacing:2px; margin-bottom:12px; display:flex; align-items:center; gap:8px;
}
.mural-title-count{
  font-family:var(--font-ui); font-size:11px; color:var(--text3);
  font-weight:400; letter-spacing:.5px;
}

/* Composer (só dono vê) */
.mural-composer{
  background:var(--bg3); border:1px solid var(--bdr2);
  border-radius:14px; padding:12px; margin-bottom:16px;
}
.mural-composer textarea{
  width:100%; min-height:48px; max-height:120px;
  background:transparent; border:none; resize:vertical;
  color:var(--text1); font-family:var(--font-ui); font-size:13px;
  line-height:1.5; outline:none; padding:4px 2px;
}
.mural-composer textarea::placeholder{ color:var(--text3); }
.mural-composer-media{
  display:flex; flex-direction:column; gap:8px;
  margin-top:8px;
}
.mural-composer-media-preview{
  position:relative; border-radius:10px; overflow:hidden;
  max-height:200px; background:#000;
}
.mural-composer-media-preview img,
.mural-composer-media-preview video{
  width:100%; max-height:200px; object-fit:contain; display:block;
}
.mural-composer-media-preview .mc-remove{
  position:absolute; top:6px; right:6px;
  width:28px; height:28px; border-radius:50%; background:rgba(0,0,0,.7);
  color:#fff; border:none; display:flex; align-items:center; justify-content:center;
  font-size:14px; cursor:pointer;
}
.mural-composer-actions{
  display:flex; align-items:center; gap:6px; margin-top:10px;
  border-top:1px solid var(--bdr); padding-top:10px;
}
.mural-action-btn{
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,179,0,.08); border:1px solid rgba(255,179,0,.25);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; -webkit-tap-highlight-color:transparent; flex-shrink:0;
}
.mural-action-btn:active{ transform:scale(.92); }
.mural-action-btn:disabled{ opacity:.4; cursor:not-allowed; }
.mural-post-btn{
  margin-left:auto; padding:9px 18px; border-radius:10px;
  background:linear-gradient(135deg,#FFB300,#8B6914); color:#000;
  border:none; font-family:var(--font-ui); font-size:12px; font-weight:700;
  letter-spacing:.3px; cursor:pointer;
}
.mural-post-btn:disabled{ opacity:.4; cursor:not-allowed; }
.mural-encoding{
  font-family:var(--font-ui); font-size:11px; color:var(--gold);
  padding:8px 4px; display:flex; align-items:center; gap:8px;
}
.mural-encoding-bar{
  flex:1; height:3px; background:rgba(255,179,0,.15); border-radius:2px; overflow:hidden;
}
.mural-encoding-bar > div{
  height:100%; background:var(--gold); width:0%; transition:width .2s;
}

/* Posts */
.mural-empty{
  text-align:center; padding:30px 16px;
  font-family:var(--font-ui); font-size:12px; color:var(--text3);
}
.mural-post{
  background:var(--bg3); border:1px solid var(--bdr2);
  border-radius:14px; padding:12px 14px; margin-bottom:10px;
  position:relative;
}
.mural-post-header{
  display:flex; align-items:center; gap:8px; margin-bottom:8px;
  font-family:var(--font-ui); font-size:11px; color:var(--text3);
}
.mural-post-author-tag{
  background:rgba(255,179,0,.12); color:var(--gold);
  padding:2px 7px; border-radius:6px; font-weight:700;
  letter-spacing:.5px; font-size:9px;
}
.mural-post-time{ font-size:11px; }
.mural-post-del{
  margin-left:auto; background:none; border:none; color:var(--text3);
  cursor:pointer; font-size:18px; padding:2px 6px; line-height:1;
  -webkit-tap-highlight-color:transparent;
}
.mural-post-del:hover{ color:#E55A4C; }
.mural-post-text{
  font-family:var(--font-ui); font-size:13px; color:var(--text1);
  line-height:1.5; white-space:pre-wrap; word-break:break-word;
  margin-bottom:8px;
}
.mural-post-media{
  border-radius:10px; overflow:hidden; background:#000;
}
.mural-post-media img,
.mural-post-media video{
  width:100%; max-height:340px; object-fit:contain; display:block;
}

/* ═══════════════ TOUR DE BOAS-VINDAS ═══════════════ */
#tour-overlay{
  position:fixed; inset:0; z-index:9990;
  display:none; pointer-events:auto;
}
#tour-overlay.show{ display:block; }
/* Spotlight = caixa transparente com box-shadow gigante escurecendo o entorno */
#tour-spotlight{
  position:absolute; border-radius:14px;
  box-shadow: 0 0 0 9999px rgba(0,0,0,.78);
  pointer-events:none;
  transition: top .35s ease, left .35s ease, width .35s ease, height .35s ease;
  border: 2px solid rgba(255,179,0,.45);
  background: transparent;
}
#tour-spotlight.no-target{
  /* Quando não há alvo (welcome/finale), spotlight invisível mas backdrop preto */
  width:0; height:0; top:50%; left:50%;
  box-shadow: 0 0 0 9999px rgba(0,0,0,.86);
  border:none;
}
#tour-tooltip{
  position:absolute; max-width:300px; width:calc(100% - 40px);
  background:linear-gradient(160deg,var(--bg2),var(--bg));
  border:1px solid rgba(255,179,0,.35);
  border-radius:18px; padding:18px 18px 14px;
  font-family:var(--font-ui);
  box-shadow:0 10px 40px rgba(0,0,0,.55);
  transition: top .35s ease, left .35s ease, transform .35s ease;
  animation: tourTipIn .4s cubic-bezier(.34,1.56,.64,1) both;
}
/* Animação só com opacity — antes o transform:scale sobrescrevia o translate(-50%,-50%) inline e jogava o tooltip pra fora da tela */
@keyframes tourTipIn{ from{ opacity:0; } to{ opacity:1; } }
.tour-step-indicator{
  font-family:var(--font-brand); font-size:10px; color:var(--gold);
  letter-spacing:2px; margin-bottom:8px;
}
.tour-title{
  font-family:var(--font-brand); font-size:18px; color:var(--text1);
  letter-spacing:1px; margin-bottom:8px; line-height:1.2;
}
.tour-text{
  font-family:var(--font-ui); font-size:13px; color:var(--text2);
  line-height:1.5; margin-bottom:14px;
}
.tour-controls{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.tour-skip{
  background:none; border:none; color:var(--text3);
  font-family:var(--font-ui); font-size:12px; cursor:pointer; padding:6px 4px;
  -webkit-tap-highlight-color:transparent;
}
.tour-next{
  padding:9px 18px; border-radius:10px; border:none;
  background:linear-gradient(135deg,#FFB300,#8B6914); color:#000;
  font-family:var(--font-ui); font-size:13px; font-weight:700;
  cursor:pointer; letter-spacing:.4px;
  -webkit-tap-highlight-color:transparent;
}
.tour-dots{ display:flex; gap:5px; }
.tour-dot{
  width:6px; height:6px; border-radius:50%;
  background:rgba(255,255,255,.2); transition: background .2s;
}
.tour-dot.active{ background:var(--gold); }


/* ═══ Privacidade & Identificação no Finder ═══ */
/* Badge dourado no pin quando o viewer é amigo no HERE HUB */
.finder-pin.is-hub-friend::before{ display:none; }
.finder-pin.is-hub-friend::after{ display:none; }
.finder-pin.is-hub-friend{
  border-color: #FFB300 !important;
  box-shadow: 0 0 14px rgba(255,179,0,.65), 0 0 0 2px rgba(255,179,0,.4) !important;
}
.finder-pin .hub-friend-badge{
  position:absolute; top:-4px; right:-4px;
  width:18px; height:18px; border-radius:50%;
  background:#FFB300; color:#000;
  display:flex; align-items:center; justify-content:center;
  font-size:10px; font-weight:900;
  border:2px solid #0a0a0a;
  box-shadow:0 0 6px rgba(255,179,0,.8);
  z-index:2;
}

/* Tag "Amigo do HERE HUB" no preview */
.finder-hub-friend-tag{
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 11px; border-radius:14px;
  background:linear-gradient(135deg, rgba(255,179,0,.22), rgba(139,105,20,.18));
  border:1px solid rgba(255,179,0,.5);
  font-family:var(--font-ui); font-size:10px; font-weight:700;
  color:#FFE9A8; letter-spacing:.6px;
  margin-bottom:8px;
  text-transform:uppercase;
}
.finder-hub-friend-tag svg{ flex-shrink:0; }

/* Botão "Ver perfil HERE HUB" */
.finder-btn-hub-profile{
  background:rgba(255,179,0,.12) !important;
  border:1px solid rgba(255,179,0,.4) !important;
  color:#FFE9A8 !important;
}


/* Toggle de 3 modos de acesso ao HUB profile */
.finder-access-toggle{
  display:flex;background:var(--bg3);border-radius:11px;padding:3px;
  border:1px solid var(--bdr2);
}
.finder-access-toggle button{
  flex:1;padding:9px 6px;background:transparent;border:none;cursor:pointer;
  font-family:var(--font-ui);font-size:10.5px;color:var(--text3);
  border-radius:8px;-webkit-tap-highlight-color:transparent;letter-spacing:.2px;
}
.finder-access-toggle button.on{background:rgba(16, 185, 129, .18);color:#10B981;font-weight:700;}

/* Tags de acesso no preview */
.finder-access-tag{
  display:inline-flex; align-items:center; gap:5px;
  padding:4px 10px; border-radius:13px;
  font-family:var(--font-ui); font-size:10px; font-weight:700;
  letter-spacing:.5px; text-transform:uppercase;
  margin-bottom:6px; margin-right:6px;
}
.finder-access-tag.contacts{
  background:rgba(16, 185, 129, .15);
  border:1px solid rgba(16, 185, 129, .45);
  color:#10B981;
}
.finder-access-tag.public{
  background:linear-gradient(135deg, rgba(255,179,0,.22), rgba(16, 185, 129, .15));
  border:1px solid rgba(255,179,0,.5);
  color:#FFE9A8;
}

/* Indicadores no pin do mapa por modo de acesso */
.finder-pin.access-public::after{
  display:block !important;
  border-color:rgba(255,179,0,.5) !important;
  animation:none !important;
  inset:-10px !important;
}


/* Logo HERE HUB no topo da tela Comunidades */
.cs-logo-img{
  display:block; margin:0 auto clamp(16px,4vw,26px);
  width:clamp(88px,24vw,120px); height:auto;
  filter: drop-shadow(0 0 24px rgba(255,179,0,.55))
          drop-shadow(0 4px 12px rgba(0,0,0,.5));
  animation: csLogoFloat 4.5s ease-in-out infinite;
  user-select:none; -webkit-user-select:none;
}
@keyframes csLogoFloat{
  0%,100%{ transform:translateY(0) scale(1); filter: drop-shadow(0 0 24px rgba(255,179,0,.55)) drop-shadow(0 4px 12px rgba(0,0,0,.5)); }
  50%    { transform:translateY(-4px) scale(1.02); filter: drop-shadow(0 0 36px rgba(255,179,0,.85)) drop-shadow(0 6px 14px rgba(0,0,0,.6)); }
}
[data-theme="light"] .cs-logo-img{
  filter: drop-shadow(0 0 18px rgba(180,140,40,.4))
          drop-shadow(0 4px 10px rgba(0,0,0,.15));
}


/* ═══ Central de Ajuda ═══ */
#scr-help .help-sec{border:1px solid var(--bdr2);border-radius:14px;background:var(--bg2);margin-bottom:10px;overflow:hidden;}
#scr-help .help-q{width:100%;display:flex;align-items:center;gap:12px;padding:14px 14px;background:none;border:0;cursor:pointer;text-align:left;color:var(--text1);}
#scr-help .help-q-ic{font-size:18px;flex-shrink:0;width:24px;text-align:center;}
#scr-help .help-q-t{flex:1;font-family:var(--font-ui);font-size:14px;font-weight:700;color:var(--text1);}
#scr-help .help-q-chv{flex-shrink:0;transition:transform .25s;}
#scr-help .help-sec.open .help-q-chv{transform:rotate(180deg);}
#scr-help .help-sec.open .help-q-t{color:var(--gold);}
#scr-help .help-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
#scr-help .help-sec.open .help-a{max-height:1200px;}
#scr-help .help-a>*{padding:0 16px;}
#scr-help .help-a p{font-family:var(--font-ui);font-size:13px;line-height:1.6;color:var(--text2);margin:0 0 10px;}
#scr-help .help-a p:first-child{padding-top:2px;}
#scr-help .help-a p:last-child{padding-bottom:14px;}
#scr-help .help-a strong{color:var(--text1);font-weight:700;}
#scr-help .help-a ul{margin:0 0 10px;padding:0 16px 0 32px;}
#scr-help .help-a li{font-family:var(--font-ui);font-size:13px;line-height:1.55;color:var(--text2);margin-bottom:6px;}
#scr-help .help-cta{display:block;width:calc(100% - 32px);margin:0 16px 14px;padding:12px;background:linear-gradient(135deg,#C77E00,#FFB300);color:#000;font-family:var(--font-ui);font-weight:700;font-size:14px;border:0;border-radius:12px;cursor:pointer;}

.pub-pro-badge{display:none;margin-left:6px;font-family:var(--font-ui);font-size:9px;font-weight:800;letter-spacing:.5px;color:var(--bg);background:var(--gold);border-radius:4px;padding:1px 5px;vertical-align:middle;}
body.nobiz .pub-pro-badge{display:inline-block;}
/* ═══ Pin GOTA FIXA — 1 ícone que só muda de tamanho no zoom (não deforma o pin) ═══ */
/* ── Aro de snap ao vivo no pino ── */
.mmc-snapring{position:absolute;left:50%;top:0;width:calc(var(--pw,30px) + 8px);height:calc(var(--pw,30px) + 8px);transform:translateX(-50%);border-radius:50%;border:2px solid var(--gold);box-shadow:0 0 8px 1px rgba(255,179,0,.6);pointer-events:none;animation:snapRingPulse 2s ease-in-out infinite;}
@keyframes snapRingPulse{0%,100%{opacity:.55;transform:translateX(-50%) scale(1);}50%{opacity:1;transform:translateX(-50%) scale(1.08);}}
.mmc-icon{font-size:var(--ic,13px);transition:font-size .2s ease;}
.gota-marker[data-zl="1"] .mmc-icon{font-size:calc(var(--ic,13px) * 0.82);}
.gota-marker[data-zl="2"] .mmc-icon{font-size:var(--ic,13px);}
.gota-marker[data-zl="3"] .mmc-icon{font-size:calc(var(--ic,13px) * 1.22);}
.gota-label{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:2px;white-space:nowrap;pointer-events:none;font-family:var(--font-ui);font-size:10px;font-weight:600;letter-spacing:.2px;color:rgba(245,245,245,.6);text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 2px rgba(0,0,0,.9);opacity:0;transition:opacity .25s ease;}
.gota-marker[data-zl="2"] .gota-label,.gota-marker[data-zl="3"] .gota-label{opacity:1;}
.mp-genres{font-family:var(--font-ui);font-size:12px;font-weight:600;color:var(--gold);margin-bottom:6px;}
.mp-desc{font-family:var(--font-ui);font-size:12px;color:var(--text2);line-height:1.4;margin-bottom:10px;}
.mp-desc .mp-dist{color:var(--text3);white-space:nowrap;}
@keyframes snapFlash{0%,30%,100%{box-shadow:0 0 0 0 rgba(255,179,0,0);background:rgba(255,179,0,.12);}8%{box-shadow:0 0 12px 3px rgba(255,179,0,.6);background:rgba(255,179,0,.30);}}
.fcard-snap-flash{animation:snapFlash 3s ease-in-out 3;}
.fcard-ic-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,179,0,.10);border:1px solid rgba(255,179,0,.35);color:var(--gold);cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:background .15s ease,transform .1s ease;}
.fcard-ic-btn:active{background:rgba(255,179,0,.28);transform:scale(.92);}
/* ══════════ DESIGN SYSTEM — regras de hierarquia (obrigatórias) ══════════ */
/* CTAs: fundo Ouro Elétrico + texto escuro (Grafite) em AMBOS os modos */
.btn-adicionar,.ct-btn-accept,.notif-accept,.act-modal-btn.primary,.adm-btn-primary{ color:var(--cta-fg) !important; }
/* Glow sutil em elementos ATIVOS / SNAPS (cor primária) */
.status-avatar-ring.unseen{ box-shadow:0 0 0 2px var(--glow),0 0 11px -1px var(--glow); }
.snap-ring{ box-shadow:0 0 9px -1px var(--glow); }
/* Perfis REAIS (não-sistema): borda da foto + nickname no tom do dourado da logo */
.fcard:not(.fcard-spot) .fav{ border-color:var(--gold) !important; box-shadow:0 0 0 1px var(--gold-bdr),0 0 8px -2px var(--glow); }
.fcard:not(.fcard-spot) .fav-handle{ color:var(--gold) !important; font-weight:700; }
/* legibilidade do nickname dourado sobre branco no Light Mode */
[data-theme="light"] .fcard:not(.fcard-spot) .fav-handle{ color:#B57A00 !important; }
/* Card de USUÁRIO mais atraente que o card de SISTEMA (moldura + brilho dourado) */
.fcard:not(.fcard-spot){ border:1px solid rgba(255,179,0,.42) !important; box-shadow:0 6px 26px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05),0 4px 30px -9px var(--nc1-glow, rgba(255,179,0,.30)) !important; }
[data-theme="light"] .fcard:not(.fcard-spot){ box-shadow:0 6px 20px rgba(20,20,30,.09),0 3px 22px -10px var(--nc1-glow, rgba(255,179,0,.30)) !important; }
/* Card de SISTEMA: mais sóbrio (sem a moldura dourada de destaque) */
.fcard.fcard-spot{ border:1px solid var(--bdr) !important; }
/* Tela de planos = sempre NOIR (dark premium) mesmo no Light Mode — resolve contraste apagado */
[data-theme="light"] #scr-plans, [data-theme="light"] .plans-screen{ background:#000 !important; }
[data-theme="light"] .plan-card{ background:#16161A !important; border-color:rgba(255,179,0,.16) !important; }
[data-theme="light"] .plan-tier, [data-theme="light"] .plan-price-big, [data-theme="light"] .plan-hl-title, [data-theme="light"] .plans-title{ color:#fff !important; }
[data-theme="light"] .plan-price-note, [data-theme="light"] .plan-benefit, [data-theme="light"] .plan-hl-sub, [data-theme="light"] .plans-sub, [data-theme="light"] .plan-current-txt{ color:rgba(255,255,255,.6) !important; }
[data-theme="light"] .plan-current-txt strong{ color:var(--gold) !important; }
[data-theme="light"] .plan-current{ background:rgba(255,255,255,.04) !important; border-color:rgba(255,179,0,.15) !important; }
[data-theme="light"] .plan-hl{ background:rgba(255,179,0,.06) !important; border-color:rgba(255,179,0,.20) !important; }

  .hh-pwa-bar{
    position:fixed; left:12px; right:12px;
    bottom:calc(var(--nav-h) + 12px + env(safe-area-inset-bottom));
    z-index:9990;
    display:none; align-items:center; gap:11px;
    padding:12px 14px; border-radius:14px;
    background:var(--bg3,#1E1E1E);
    border:1px solid rgba(255,179,0,.35);
    box-shadow:0 8px 30px rgba(0,0,0,.55);
    font-family:var(--font-ui,'Inter',sans-serif);
    animation:hhPwaIn .32s cubic-bezier(.34,1.56,.64,1);
  }
  .hh-pwa-bar.on{ display:flex; }
  @keyframes hhPwaIn{ from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }
  .hh-pwa-txt{ flex:1; min-width:0; }
  .hh-pwa-t1{ font-size:13px; font-weight:700; color:var(--text1,#F5F5F5); }
  .hh-pwa-t2{ font-size:11px; color:var(--text3,#888); margin-top:2px; line-height:1.35; }
  .hh-pwa-go{
    flex-shrink:0; border:none; cursor:pointer;
    padding:9px 15px; border-radius:999px;
    background:linear-gradient(135deg,#FFD466,#FFB300,#B8860B);
    color:#000; font-weight:800; font-size:12px;
    font-family:var(--font-brand,'Michroma',sans-serif); letter-spacing:.5px;
    -webkit-tap-highlight-color:transparent;
  }
  .hh-pwa-x{
    flex-shrink:0; background:none; border:none; cursor:pointer;
    color:var(--text3,#888); font-size:19px; line-height:1;
    padding:2px 4px; -webkit-tap-highlight-color:transparent;
  }
  .hh-off{
    position:fixed; left:0; right:0; top:0; z-index:9995;
    display:none; text-align:center;
    padding:6px 12px; font-family:var(--font-ui,'Inter',sans-serif);
    font-size:12px; font-weight:600; color:#000;
    background:linear-gradient(135deg,#FFD466,#FFB300);
  }
  .hh-off.on{ display:block; }
