/* ============================================================
   PAGES — home, posts, autor, tag, login, hub
   ============================================================ */

/* ================= HOME ================= */
.wrap { max-width: 960px; margin: 34px auto 0; padding: 0 20px; position: relative; z-index: 10; }
.sysbar { display:flex; justify-content:space-between; gap:10px; font-family:var(--f-m); font-size:.78rem; letter-spacing:2px; color:var(--a1);
  border-bottom:1px solid var(--a1g); padding-bottom:6px; margin-bottom:22px; }
.status-ok { color:var(--ok); }

.hero { display:flex; gap:40px; padding:34px; background:var(--panel); border:1px solid var(--line); position:relative; margin-bottom:26px;
  border-radius:var(--r); box-shadow:var(--shadow); }
[data-skin] .hero::before { content:""; position:absolute; top:-2px; left:-2px; width:22px; height:22px; border-top:2px solid var(--a1); border-left:2px solid var(--a1); }
[data-skin] .hero::after  { content:""; position:absolute; bottom:-2px; right:-2px; width:22px; height:22px; border-bottom:2px solid var(--a2); border-right:2px solid var(--a2); }
.hero-avatar { flex:0 0 150px; }
.hero-avatar img { width:150px; height:150px; object-fit:cover; display:block; }
[data-skin] .hero-avatar img { clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%); border-right:3px solid var(--a2); border-bottom:3px solid var(--a1); filter:contrast(1.15) grayscale(.15); }
.hero-body { flex:1; min-width:0; display:flex; flex-direction:column; }
.hero-user { margin:0 0 18px; font-family:var(--f-d); font-weight:var(--fw-d); font-size:1.55rem; letter-spacing:var(--trk); text-transform:var(--up); }
.hero-user a { text-decoration:none; display:inline-flex; align-items:center; gap:10px; }
.verified { width:18px; height:18px; fill:var(--a1); }
[data-skin] .verified { filter:drop-shadow(0 0 5px var(--a1)); }
.hero-stats { display:flex; gap:38px; margin-bottom:18px; font-family:var(--f-m); padding-left:15px; border-left:2px solid var(--a2); }
.hero-stats div { display:flex; flex-direction:column; }
.hero-stats b { font-size:1.45rem; color:var(--a1); font-family:var(--f-d); font-weight:var(--fw-d); }
[data-skin] .hero-stats b { text-shadow:0 0 6px var(--a1g); }
.hero-stats span { font-size:.8rem; color:var(--muted); text-transform:var(--up); letter-spacing:var(--trk); }
.hero-bio { margin:0 0 6px; color:var(--muted); line-height:1.5; }
.hero-bio strong { color:var(--a2); font-size:1.08rem; text-transform:var(--up); letter-spacing:var(--trk); }
.ig-link { display:inline-flex; align-items:center; gap:6px; color:var(--a1); font-family:var(--f-m); text-decoration:none; margin:8px 0 6px; font-size:.95rem; width:fit-content; }
.ig-link svg { width:14px; height:14px; }
.btn-row { display:flex; flex-wrap:wrap; gap:14px; margin-top:14px; }
.btn-row .btn { flex:1 1 150px; }

.highlights { display:flex; gap:22px; padding:6px 4px 30px; overflow-x:auto; }
.highlight-item { display:flex; flex-direction:column; align-items:center; gap:8px; text-decoration:none; min-width:78px; transition:transform .3s; }
.highlight-item:hover { transform:translateY(-4px); }
.ring { width:76px; height:76px; border-radius:50%; padding:3px; border:2px solid var(--a1); display:grid; place-items:center; transition:border-color .3s, box-shadow .3s; background:transparent; }
[data-skin] .ring { box-shadow:inset 0 0 10px var(--a1g); }
.highlight-item:hover .ring { border-color:var(--a2); box-shadow:0 0 14px var(--a2g); }
.ring img { width:100%; height:100%; border-radius:50%; object-fit:cover; border:2px solid var(--bg); }
.highlight-item span { font-family:var(--f-m); font-size:.75rem; text-transform:var(--up); color:var(--a1); max-width:84px; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ---------- palco (abas + conteúdo) ---------- */
.stage { margin-top:64px; border-top:1px solid var(--line); background:var(--bg2); padding:0 20px 140px; position:relative; z-index:10; min-height:560px; }
.stage-inner { max-width:1150px; margin:0 auto; }
#scroll-trigger { height:1px; }
.tabs-wrap { display:flex; justify-content:center; transform:translateY(-50%); margin-bottom:-4px; position:relative; z-index:20; }
.ig-tabs { position:relative; display:inline-flex; padding:6px; background:var(--panel); border:1px solid var(--line2); border-radius:var(--pill); box-shadow:0 10px 30px rgba(0,0,0,.35); }
.tab-indicator { position:absolute; top:6px; bottom:6px; left:0; width:0; background:var(--ind); border-radius:var(--pill); z-index:1;
  transition:transform .45s var(--ease), width .45s var(--ease); }
[data-skin] .tab-indicator { box-shadow:0 0 16px var(--a2g); }
.ig-tab { position:relative; z-index:2; display:flex; align-items:center; gap:8px; padding:12px 22px; background:transparent; border:0; color:var(--muted); cursor:pointer;
  font-family:var(--f-d); font-weight:var(--fw-d); font-size:.8rem; letter-spacing:var(--trk); text-transform:var(--up); border-radius:var(--pill); transition:color .3s; }
.ig-tab svg { width:18px; height:18px; fill:currentColor; }
.ig-tab.active { color:var(--ind-txt); } .ig-tab:hover:not(.active) { color:var(--txt); }

.pane-intro { text-align:center; color:var(--muted); margin:6px auto 26px; display:none; white-space:nowrap; font-size:clamp(.58rem,2.2vw,.95rem); }
[data-skin] .pane-intro { font-family:var(--f-m); font-size:.9rem; }
.empty-state { grid-column:1/-1; text-align:center; padding:60px 0; color:var(--muted); font-family:var(--f-m); letter-spacing:1px; }

.grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; padding-bottom:20px; }
.grid-post { aspect-ratio:4/5; background:var(--panel); position:relative; overflow:hidden; display:block; border:1px solid var(--line); clip-path:var(--clip-s); border-radius:var(--r-s);
  transition:border-color .3s, box-shadow .3s, transform .25s; animation:cardIn .6s var(--ease) backwards; animation-delay:calc(var(--i,0) * 45ms); }
.grid-post img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s, filter .4s; }
[data-skin] .grid-post img { filter:grayscale(.3) contrast(1.1); }
.grid-post:hover { border-color:var(--a1); }
[data-skin] .grid-post:hover { box-shadow:-5px 5px 0 var(--a1); }
[data-skin] .grid-post:hover img { filter:none; transform:scale(1.06); }
 .grid-icon { position:absolute; top:10px; right:10px; width:22px; height:22px; fill:var(--a2); filter:drop-shadow(0 2px 4px rgba(0,0,0,.7)); }
@keyframes cardIn { from { opacity:0; transform:translateY(16px) scale(.97); } }

.load-more-container { display:flex; justify-content:center; margin:26px 0 40px; min-height:42px; }
.load-more-btn { background:transparent; color:var(--a1); border:1px solid var(--a1); padding:11px 32px; font-family:var(--f-d); font-weight:var(--fw-d); font-size:.85rem; letter-spacing:var(--trk);
  text-transform:var(--up); cursor:pointer; clip-path:var(--clip-s); border-radius:var(--pill); transition:background .25s,color .25s; }
[data-skin] .load-more-btn { border-radius:0; }
.load-more-btn:hover { background:var(--a1); color:var(--on-a1); } .load-more-btn.hidden { display:none; }

/* ---------- SITES (portfólio de sites) ---------- */
.sites-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(310px,1fr)); gap:26px; padding-bottom:20px; }
.site-card { display:flex; flex-direction:column; background:var(--panel); border:1px solid var(--line); text-decoration:none; overflow:hidden; clip-path:var(--clip); border-radius:var(--r);
  transition:border-color .3s, box-shadow .3s, transform .25s; animation:cardIn .7s var(--ease) backwards; animation-delay:calc(var(--i,0) * 70ms); transform-style:preserve-3d; }
.site-card:hover { border-color:var(--a1); }
[data-skin] .site-card:hover { box-shadow:0 0 28px var(--a1g); }
.site-chrome { display:flex; align-items:center; gap:6px; padding:9px 12px; background:var(--panel2); border-bottom:1px solid var(--line); }
.site-chrome i { width:9px; height:9px; border-radius:50%; background:var(--line2); }
[data-skin] .site-chrome i:nth-child(1) { background:var(--a2); } [data-skin] .site-chrome i:nth-child(2) { background:var(--warn); } [data-skin] .site-chrome i:nth-child(3) { background:var(--ok); }
.site-bar { flex:1; margin-left:8px; font-family:var(--f-m); font-size:.72rem; color:var(--muted); background:var(--bg); padding:3px 10px; border-radius:var(--pill); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
[data-skin] .site-bar { border-radius:0; }
.site-shot { aspect-ratio:3/2; overflow:hidden; background:var(--bg2); position:relative; }
.site-shot img { width:100%; height:100%; object-fit:cover; object-position:top; display:block; transition:transform 1.4s var(--ease); }
.site-card:hover .site-shot img { transform:scale(1.05) translateY(-2%); }
.site-noshot { height:100%; display:grid; place-items:center; color:var(--muted); font-family:var(--f-m); }
.site-info { padding:18px 20px 20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.site-types { display:flex; flex-wrap:wrap; gap:6px; }
.site-types span { font-family:var(--f-m); font-size:.7rem; padding:2px 9px; border:1px solid var(--a1); color:var(--a1); text-transform:var(--up); border-radius:var(--pill); }
[data-skin] .site-types span { border-radius:0; }
.site-title { margin:0; font-family:var(--f-d); font-weight:var(--fw-d); font-size:1.15rem; letter-spacing:var(--trk); text-transform:var(--up); line-height:1.25; }
.site-desc { margin:0; color:var(--muted); font-size:.98rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.site-foot { margin-top:auto; padding-top:10px; display:flex; justify-content:space-between; align-items:center; font-family:var(--f-m); font-size:.8rem; color:var(--muted); border-top:1px solid var(--line); }
.site-go { color:var(--a1); transition:transform .25s; } .site-card:hover .site-go { transform:translateX(4px); }

/* ---------- AGENDA ---------- */
.calendar-wrapper, .map-wrapper { display:none; width:100%; max-width:900px; margin:0 auto; padding-bottom:60px; animation:fadeIn .35s ease; }
.calendar-wrapper.active, .map-wrapper.active { display:block; } .map-wrapper { text-align:center; }
@keyframes fadeIn { from { opacity:0; transform:translateY(10px); } }
.cal-disclaimer { display:flex; gap:15px; align-items:flex-start; text-align:left; padding:12px 18px; margin-bottom:25px; background:rgba(0,240,255,.05); border-left:2px solid var(--a1);
  font-family:var(--f-m); font-size:.85rem; color:var(--muted); line-height:1.5; border-radius:0 var(--r-s) var(--r-s) 0; }
.cal-disclaimer svg { width:20px; height:20px; stroke:var(--a1); flex-shrink:0; margin-top:2px; fill:none; }
.cal-disclaimer strong { color:var(--a1); letter-spacing:1px; }
.cal-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.cal-nav-btn { background:transparent; border:1px solid var(--a1); color:var(--a1); padding:5px 16px; font-family:var(--f-m); font-weight:bold; font-size:1.2rem; cursor:pointer; clip-path:var(--clip-s); border-radius:var(--pill); transition:background .2s,color .2s; }
[data-skin] .cal-nav-btn { border-radius:0; }
.cal-nav-btn:hover { background:var(--a1); color:var(--on-a1); }
.cal-month-title { font-family:var(--f-d); font-weight:var(--fw-d); font-size:1.5rem; color:var(--a1); text-transform:var(--up); letter-spacing:3px; }
[data-skin] .cal-month-title { text-shadow:0 0 10px var(--a1g); } .cal-weekdays, .cal-grid { display:grid; grid-template-columns:repeat(7,1fr); }
.cal-weekdays { text-align:center; font-family:var(--f-m); color:var(--muted); font-size:.85rem; margin-bottom:5px; }
.cal-grid { gap:6px; padding:10px; }
.cal-day { aspect-ratio:1; background:var(--panel); border:1px solid var(--line); position:relative; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center;
  clip-path:var(--clip-s); border-radius:var(--r-s); transition:border-color .25s, background .25s, transform .2s; }
.cal-day:hover { border-color:var(--a1); } .cal-day.active-day:hover { transform:translateY(-2px); }
.cal-day.empty { background:transparent; border:0; cursor:default; pointer-events:none; }
.cal-day.active-day { border-color:var(--line2); }
.cal-day.today-border { border:1px solid var(--a1); box-shadow:inset 0 0 12px var(--a1g); }
.day-num { position:absolute; top:6px; left:8px; font-family:var(--f-m); font-size:.8rem; color:var(--muted); }
.cal-day.today-border .day-num { color:var(--a1); font-weight:700; }
.day-counter { font-family:var(--f-d); font-size:1.3rem; color:var(--a2); font-weight:var(--fw-d,700); }
[data-skin] .day-counter { text-shadow:0 0 8px var(--a2g); font-weight:700; }
.day-counter.done-green { color:var(--ok); } .day-counter.done-gold { color:var(--gold); }
 .day-approved { font-family:var(--f-m); font-size:.55rem; color:var(--gold); font-weight:bold; text-transform:uppercase; white-space:nowrap; margin-top:2px; }
.today-indicator { position:absolute; bottom:4px; left:50%; transform:translateX(-50%); font-family:var(--f-m); font-size:.65rem; color:var(--a1); font-weight:700; animation:blinker 1.5s linear infinite; white-space:nowrap; }
.cal-day svg { fill:var(--gold); }
.blink-gold-slow { animation:pulseGoldSlow 3s ease-in-out infinite; filter:drop-shadow(0 0 2px var(--gold)); }
@keyframes pulseGoldSlow { 0%,100% { opacity:.5; } 50% { opacity:1; filter:drop-shadow(0 0 15px var(--gold)); } }
.cal-detail-view { display:none; animation:fadeIn .3s; } .cal-detail-view.active { display:block; }
.cd-header { display:flex; align-items:center; gap:20px; margin-bottom:30px; border-bottom:1px solid var(--line2); padding-bottom:15px; }
.cd-back-btn { background:transparent; color:var(--a1); border:1px solid var(--a1); padding:6px 16px; font-family:var(--f-m); cursor:pointer; text-transform:uppercase; font-size:.8rem; border-radius:var(--pill); transition:background .2s,color .2s; }
[data-skin] .cd-back-btn { border-radius:0; } .cd-back-btn:hover { background:var(--a1); color:var(--on-a1); }
.cd-title { font-family:var(--f-d); font-weight:var(--fw-d); font-size:1.2rem; letter-spacing:1px; }
.cd-timeline { display:flex; flex-direction:column; gap:15px; padding-left:20px; border-left:2px solid var(--a2); margin-left:10px; }
.cd-task { background:var(--panel); border:1px solid var(--line); padding:15px 20px; display:flex; align-items:center; justify-content:space-between; position:relative; clip-path:var(--clip-s); border-radius:var(--r-s); }
.cd-task::before { content:""; position:absolute; left:-26px; top:50%; transform:translateY(-50%); width:10px; height:10px; background:var(--a2); border-radius:50%; }
[data-skin] .cd-task::before { box-shadow:0 0 8px var(--a2g); } .cd-task.task-captacao { border-color:var(--gold); } .cd-task.task-captacao::before { background:var(--gold); }
.task-time { font-family:var(--f-m); color:var(--a1); font-size:1.1rem; width:80px; }
.task-type { font-family:var(--f-d); font-weight:var(--fw-d); font-size:1rem; letter-spacing:1px; text-transform:uppercase; flex:1; }
.task-status { font-family:var(--f-m); font-size:.75rem; padding:3px 9px; border:1px solid var(--line2); color:var(--muted); text-transform:uppercase; border-radius:var(--pill); }
.task-status.status-andamento { color:var(--org); border-color:var(--org); } .task-status.status-aprovacao { color:var(--a1); border-color:var(--a1); }
.task-status.status-concluido, .task-status.status-viagem { color:var(--gold); border-color:var(--gold); }

/* ---------- MAPA (visual preservado) ---------- */
.cyber-map-container { position:relative; width:100%; max-width:800px; margin:0 auto 30px; border:1px solid #333; background:#050505; border-radius:4px; box-shadow:inset 0 0 30px rgba(0,240,255,.05); aspect-ratio:16/9; overflow:hidden; cursor:grab; }
.cyber-map-container:active { cursor:grabbing; }
.loader-map { font-family:var(--f-m); color:#00f0ff; animation:blinker 1s infinite; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:5; }
.map-pan-area { width:100%; height:100%; position:relative; }
.map-pan-area svg { width:100%; height:100%; display:block; filter:drop-shadow(0 0 2px rgba(0,240,255,.3)); pointer-events:none; }
.map-pan-area svg path { fill:#1a1a24; stroke:#00f0ff; stroke-width:.5; transition:all .4s cubic-bezier(.25,.8,.25,1); pointer-events:auto; }
.map-pan-area svg path:hover { fill:rgba(0,240,255,.2); }
.map-pan-area svg path.active-country { fill:rgba(0,255,102,.2) !important; stroke:#00ff66 !important; stroke-width:1.5 !important; filter:drop-shadow(0 0 8px #00ff66); cursor:pointer; }
.map-pan-area svg path.active-country:hover { fill:rgba(0,255,102,.4) !important; }
.map-badge { position:absolute; top:62%; left:33%; background:#00ff66; color:#000; font-family:'Share Tech Mono',monospace; font-weight:bold; padding:4px 8px; font-size:.8rem; border-radius:2px; cursor:pointer; display:none; align-items:center; gap:6px; box-shadow:0 0 10px #00ff66; animation:pulseBadge 2s infinite; z-index:10; pointer-events:auto; }
.map-badge.show { display:flex; }
.badge-dot { width:6px; height:6px; background:#000; border-radius:50%; display:block; animation:blinker 1s linear infinite; }
@keyframes pulseBadge { 0% { transform:scale(1); } 50% { transform:scale(1.05); box-shadow:0 0 15px #00ff66; } 100% { transform:scale(1); } }
.states-grid { display:none; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:15px; margin-top:30px; animation:fadeIn .4s ease; text-align:left; }
.states-grid.active { display:grid; }
.state-card { background:var(--panel2); border:1px solid var(--line2); padding:15px; display:flex; justify-content:space-between; align-items:center; border-left:3px solid var(--a1); transition:all .3s; }
.state-card:hover { border-color:var(--a1); transform:translateX(5px); }
.state-name { font-family:var(--f-d); font-weight:var(--fw-d); font-size:1rem; letter-spacing:1px; } .state-count { font-family:var(--f-m); color:var(--a1); font-size:1.2rem; font-weight:bold; }
/* minimal: mapa claro sobre fundo escuro, como na versão anterior */
 
/* ---------- LUCY ---------- */
.lucy-drawer { position:fixed; top:0; bottom:0; right:-440px; width:100%; max-width:400px; background:var(--panel); border-left:1px solid var(--line2); z-index:99990; display:flex; flex-direction:column;
  transition:right .35s var(--ease); box-shadow:-5px 0 30px rgba(0,0,0,.4); }
.lucy-drawer.open { right:0; }
.lucy-drawer-header { display:flex; justify-content:space-between; align-items:center; padding:20px; border-bottom:1px solid var(--line2); background:var(--panel2); }
.lucy-drawer-header h3 { margin:0; font-family:var(--f-d); font-weight:var(--fw-d); font-size:1rem; letter-spacing:1px; } .lucy-drawer-header h3 span { color:var(--a1); }
.close-lucy-btn { background:none; border:0; color:var(--muted); font-size:1.8rem; cursor:pointer; line-height:1; } .close-lucy-btn:hover { color:var(--a2); }
.lucy-drawer-body { flex:1; padding:25px 20px; overflow-y:auto; display:flex; flex-direction:column; gap:15px; scroll-behavior:smooth; }
.lucy-msg-bot, .lucy-msg-user { padding:14px 16px; font-size:1.05rem; line-height:1.45; font-weight:500; max-width:85%; box-shadow:0 4px 10px rgba(0,0,0,.15); }
.lucy-msg-bot { background:var(--panel2); align-self:flex-start; border-radius:0 12px 12px 12px; border:1px solid var(--line); border-left:3px solid var(--a1); }
.lucy-msg-user { background:var(--a2); color:var(--on-a2); align-self:flex-end; border-radius:12px 0 12px 12px; }
[data-skin] .lucy-msg-user { background:rgba(255,0,60,.12); color:var(--txt); border:1px solid rgba(255,0,60,.35); }
.lucy-name-title { display:block; font-family:var(--f-m); font-size:.75rem; color:var(--a1); margin-bottom:5px; }
.lucy-msg-audio { width:100%; margin-top:10px; height:35px; }
.lucy-msg-btn-link { display:block; margin-top:10px; padding:10px; background:var(--a1); color:var(--on-a1); text-align:center; font-family:var(--f-d); text-transform:uppercase; font-weight:bold; border-radius:var(--r-s); text-decoration:none; font-size:.8rem; }
.lucy-chat-input-wrapper { display:flex; padding:15px 20px; padding-bottom:max(15px, env(safe-area-inset-bottom)); background:var(--panel2); border-top:1px solid var(--line2); gap:10px; }
.lucy-chat-input-wrapper input { flex:1; background:var(--bg); border:1px solid var(--line2); color:var(--txt); font-family:var(--f-b); padding:12px 15px; border-radius:var(--r-s); outline:none; font-size:1rem; }
.lucy-chat-input-wrapper input:focus { border-color:var(--a1); }
.lucy-send-btn { background:var(--a2); border:0; width:46px; height:46px; border-radius:var(--r-s); display:grid; place-items:center; cursor:pointer; transition:transform .2s; }
.lucy-send-btn:hover { transform:translateY(-2px); } .lucy-send-btn svg { width:20px; height:20px; fill:#fff; }
.lucy-overlay { position:fixed; inset:0; background:rgba(0,0,0,.7); backdrop-filter:blur(3px); z-index:99980; opacity:0; pointer-events:none; transition:opacity .3s; }
.lucy-overlay.open { opacity:1; pointer-events:auto; }

.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.8); backdrop-filter:blur(5px); z-index:100000; display:none; justify-content:center; align-items:center; padding:20px; }
.login-card { max-width:400px; width:100%; text-align:center; padding:40px; background:var(--panel); border:1px solid var(--a1); clip-path:polygon(25px 0,100% 0,100% calc(100% - 25px),calc(100% - 25px) 100%,0 100%,0 25px); border-radius:var(--r); }
.login-card .login-ic { width:50px; height:50px; margin-bottom:14px; } .login-card h2 { font-family:var(--f-d); font-weight:var(--fw-d); letter-spacing:2px; margin:0 0 4px; font-size:1.5rem; }
.login-card label { display:block; text-align:left; margin:18px 0 0; color:var(--a1); font-size:.8rem; text-transform:uppercase; font-family:var(--f-m); }
.login-card input { width:100%; margin:8px 0 18px; background:var(--bg); border:1px solid var(--line2); border-left:3px solid var(--a1); color:var(--txt); padding:12px 15px; font-size:1rem; outline:none; border-radius:var(--r-s); }

.wa-fab { position:fixed; bottom:28px; right:28px; width:56px; height:56px; background:var(--ok); color:#000; display:grid; place-items:center; z-index:1000; transition:transform .3s, opacity .3s;
  clip-path:polygon(25% 0,100% 0,100% 75%,75% 100%,0 100%,0 25%); box-shadow:0 0 15px rgba(0,255,102,.4); }
.wa-fab svg { width:28px; height:28px; fill:currentColor; } .wa-fab.hide { opacity:0; pointer-events:none; transform:scale(.8); } .wa-fab.show { opacity:1; pointer-events:auto; }
.wa-fab:hover { transform:scale(1.08); }

@media (max-width:768px) {
  .wrap { margin-top:20px; padding:0 14px; }
  .hero { flex-direction:column; align-items:center; text-align:center; gap:20px; padding:26px 20px; }
  .hero-avatar { flex-basis:auto; } .hero-avatar img { width:110px; height:110px; }
  .hero-body { align-items:center; width:100%; } .hero-stats { gap:22px; justify-content:center; border-left:0; padding-left:0; }
  .hero-user { font-size:1.3rem; }   .btn-row { width:100%; } .btn-row .btn { flex:1 1 100%; }
  .stage { padding:0 12px 120px; margin-top:50px; }
  .ig-tabs { width:100%; justify-content:space-between; } .ig-tab { padding:10px; flex:1; justify-content:center; } .ig-tab span { display:none; }
  .grid { grid-template-columns:repeat(3,1fr); gap:6px; } .sites-grid { grid-template-columns:1fr; gap:20px; }
  .cal-grid { gap:3px; padding:4px; } .cal-day { clip-path:none; border-radius:4px; }
  .day-num { font-size:.6rem; top:2px; left:4px; } .day-counter { font-size:.85rem; line-height:1; margin-top:5px; }
  .day-approved { font-size:.35rem; white-space:normal; text-align:center; line-height:1.1; padding:0 2px; } .today-indicator { font-size:.5rem; bottom:2px; }
  .cd-task { flex-direction:column; align-items:flex-start; gap:8px; } .task-status { align-self:flex-end; }
  .cal-disclaimer { flex-direction:column; gap:8px; padding:10px; font-size:.75rem; }
  .calendar-wrapper, .map-wrapper { padding-bottom:100px; } .cyber-map-container { aspect-ratio:4/3; } .map-badge { font-size:.6rem; padding:2px 4px; top:60%; left:30%; }
  .lucy-drawer { right:-100%; max-width:100%; height:100dvh; }
  .fx-dock { top:14px; right:14px; } .fx-btn { width:42px; height:42px; } .wa-fab { bottom:20px; right:20px; }
}

/* ================= POSTS (vídeo, foto, story, site) ================= */
.nav-header { max-width:960px; margin:20px auto 10px; padding:0 14px; display:flex; justify-content:space-between; align-items:center; position:relative; z-index:10; }
.back-btn, .back-link { display:inline-flex; align-items:center; gap:8px; color:var(--a2); font-family:var(--f-m); font-size:.95rem; font-weight:600; text-transform:uppercase; letter-spacing:1px; text-decoration:none; transition:color .2s; }
.back-btn:hover, .back-link:hover { color:var(--a1); } .back-btn svg { width:22px; height:22px; }
.wa-btn-mobile { display:none; font-size:.75rem; padding:7px 14px; }
.mobile-header-bar { display:none; align-items:center; gap:12px; padding:8px 14px 14px; position:relative; z-index:10; }
.post-navigation-wrapper { width:fit-content; max-width:100%; margin:0 auto 40px; display:flex; justify-content:center; align-items:center; position:relative; z-index:10; }
.nav-btn { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; display:grid; place-items:center; color:var(--a1); background:var(--panel); border:1px solid var(--a1);
  text-decoration:none; clip-path:var(--clip-s); border-radius:var(--r-s); transition:background .2s,color .2s,box-shadow .2s; z-index:10; }
.nav-btn:hover { background:var(--a1); color:var(--on-a1); } .nav-btn svg { width:20px; height:20px; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; fill:none; }
.nav-btn.left { left:-62px; } .nav-btn.right { right:-62px; }
.post-modal-view { display:flex; background:var(--panel); border:1px solid var(--line2); box-shadow:var(--shadow); width:fit-content; max-width:100%; position:relative; height:85vh; min-height:500px; overflow:hidden; clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px); border-radius:var(--r); }
[data-skin] .post-modal-view::before { content:""; position:absolute; top:0; left:0; width:30px; height:30px; border-top:2px solid var(--a1); border-left:2px solid var(--a1); z-index:20; pointer-events:none; }
[data-skin] .post-modal-view::after { content:""; position:absolute; bottom:0; right:0; width:30px; height:30px; border-bottom:2px solid var(--a2); border-right:2px solid var(--a2); z-index:20; pointer-events:none; }
.post-media-pane { height:100%; flex:none; background:#000; border-right:1px solid var(--line2); display:flex; align-items:center; justify-content:center; position:relative; aspect-ratio:9/16; }
.post-photo .post-media-pane { aspect-ratio:var(--ar,4/5); height:100%; flex:none; max-width:calc(100vw - 335px - 40px); }
.post-photo .post-modal-view { height:min(85vh,820px); min-height:0; }
.post-media-pane .kg-video-spacer { display:none !important; } .post-media-pane .kg-video-container[style] { background-image:none !important; }
.post-media-pane figure, .post-media-pane .kg-card, .post-media-pane .kg-video-card, .post-media-pane .kg-video-container { margin:0 !important; padding:0 !important; width:100% !important; height:100% !important; display:flex !important; align-items:center; justify-content:center; background:#000 !important; position:relative !important; }
.post-media-pane .kg-video-overlay, .post-media-pane .kg-video-player-container { background:transparent !important; width:100% !important; }
.post-media-pane video { width:100% !important; height:100% !important; object-fit:cover !important; background:#000 !important; }
.post-reels .post-media-pane > *:not(.kg-card):not(figure) { display:none !important; }
.post-sidebar-pane { flex:0 0 335px; width:335px; display:flex; flex-direction:column; background:var(--panel); position:relative; z-index:10; min-width:0; }
.desktop-header-bar { padding:20px 16px; border-bottom:1px solid var(--line2); display:flex; align-items:center; gap:12px; flex:none; }
.header-avatar { width:40px; height:40px; object-fit:cover; border:1px solid var(--a1); background:#121212; flex-shrink:0; clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%); }
.header-name { font-family:var(--f-d); font-size:1rem; font-weight:var(--fw-d); color:var(--a1); text-transform:var(--up); letter-spacing:1px; line-height:1.3; overflow-wrap:anywhere; }
.post-caption-body { padding:20px 16px; flex:1; overflow-y:auto; overflow-x:hidden; font-size:.98rem; line-height:1.6; color:var(--muted); word-break:break-word; }
.post-caption-body::-webkit-scrollbar { width:4px; } .post-caption-body::-webkit-scrollbar-thumb { background:var(--a1); }
.post-caption-body p { margin:0 0 15px; } .post-caption-body figure, .post-caption-body .kg-card, .post-caption-body img { display:none !important; }
.post-sidebar-footer { padding:20px 16px; border-top:1px solid var(--line2); flex:none; } .post-sidebar-footer .btn { width:100%; }

/* carrossel (fotos) */
.carousel-track { display:flex; width:100%; height:100%; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; cursor:grab; }
.carousel-track::-webkit-scrollbar { display:none; } .carousel-track.dragging { scroll-snap-type:none; scroll-behavior:auto; cursor:grabbing; }
.carousel-slide { flex:0 0 100%; width:100%; height:100%; scroll-snap-align:start; }
.carousel-slide img { display:block; width:100%; height:100%; object-fit:cover; user-select:none; -webkit-user-drag:none; }
.car-arrow { position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; display:grid; place-items:center; cursor:pointer; padding:0; z-index:10; background:rgba(0,0,0,.75); color:var(--a1); border:1px solid var(--a1); clip-path:var(--clip-s); border-radius:var(--r-s); transition:background .2s,color .2s; }
.car-arrow:hover { background:var(--a1); color:var(--on-a1); } .car-arrow svg { width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.car-prev { left:14px; } .car-next { right:14px; }
.car-indicators { position:absolute; bottom:14px; left:50%; transform:translateX(-50%); display:flex; gap:7px; z-index:10; }
.car-dot { width:8px; height:8px; border:1px solid #fff; background:rgba(0,0,0,.5); transform:rotate(45deg); transition:all .2s; }
 .car-dot.active { background:var(--a1); border-color:var(--a1); }

/* story (tela cheia) */
.story-app { position:fixed; inset:0; z-index:50; display:flex; justify-content:center; align-items:center; gap:40px; overflow:hidden; background:var(--bg); }
[data-skin] .story-app { background:transparent; }
body.post-template-story, [data-page="story"] { overflow:hidden; }
.btn-close { position:absolute; top:26px; right:36px; width:54px; height:54px; border-radius:50%; display:grid; place-items:center; color:var(--a2); background:rgba(255,0,60,.1); border:1px solid var(--a2); z-index:99; transition:all .3s; }
.btn-close svg { width:26px; height:26px; stroke-width:2.5; } .btn-close:hover { background:var(--a2); color:#fff; transform:scale(1.1) rotate(90deg); }
.story-side { width:280px; height:80vh; background:var(--panel); border:1px solid var(--line2); overflow:hidden; display:flex; text-decoration:none; position:relative; clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px); border-radius:var(--r); transition:transform .3s, border-color .3s; }
.story-side:hover { transform:scale(1.02); border-color:var(--a1); }
.story-side img { width:100%; height:100%; object-fit:cover; filter:blur(8px) grayscale(.5) brightness(.5); transform:scale(1.1); transition:filter .3s; } .story-side:hover img { filter:blur(2px) brightness(.8); }
.no-cover-text { position:absolute; inset:0; display:grid; place-items:center; color:var(--a1); font-family:var(--f-m); font-weight:bold; letter-spacing:2px; }
.video-frame { position:relative; width:420px; height:85vh; border:1px solid var(--line2); background:var(--panel); display:flex; flex-direction:column; z-index:20; clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px); border-radius:var(--r); box-shadow:var(--shadow); }
.video-inner { width:100%; height:100%; overflow:hidden; background:#000; position:relative; }
.video-inner figure, .video-inner .kg-card, .video-inner .kg-video-card, .video-inner .kg-video-container { margin:0 !important; padding:0 !important; width:100% !important; height:100% !important; }
.video-inner iframe, .video-inner video { width:100% !important; height:100% !important; object-fit:cover !important; border:0; }
.story-header { position:absolute; top:0; left:0; right:0; padding:24px 20px; background:linear-gradient(to bottom,rgba(0,0,0,.85),rgba(0,0,0,.4),transparent); display:flex; align-items:center; gap:14px; z-index:100; }
.story-avatar { width:46px; height:46px; object-fit:cover; border:2px solid var(--a1); clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%); }
.header-text { display:flex; flex-direction:column; } .tag-name { color:var(--a1); font-family:var(--f-d); font-weight:700; font-size:1.05rem; text-transform:uppercase; letter-spacing:1px; }
.post-title { color:#fff; font-family:var(--f-m); font-size:.85rem; opacity:.85; }
.btn-nav { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; display:grid; place-items:center; color:var(--a1); background:var(--panel); border:1px solid var(--a1); z-index:100; text-decoration:none; clip-path:var(--clip-s); border-radius:var(--r-s); transition:background .2s,color .2s; }
 .btn-nav:hover { background:var(--a1); color:var(--on-a1); }
.btn-nav svg { width:22px; height:22px; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; fill:none; } .nav-left { left:-76px; } .nav-right { right:-76px; }
.btn-wa-fixed { position:fixed; bottom:28px; right:28px; z-index:99999; user-select:none; touch-action:none; } .btn-wa-fixed .btn { height:48px; }

/* detalhe de um site */
.site-detail { max-width:1100px; margin:10px auto 80px; padding:0 20px; position:relative; z-index:10; }
.sd-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:34px; align-items:start; }
.sd-shot { border:1px solid var(--line2); background:var(--panel); overflow:hidden; border-radius:var(--r); clip-path:var(--clip); box-shadow:var(--shadow); }
.sd-frame { aspect-ratio:3/2; position:relative; background:var(--bg2); } .sd-frame img, .sd-frame iframe { width:100%; height:100%; object-fit:cover; object-position:top; border:0; display:block; }
.sd-types { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.sd-types span { font-family:var(--f-m); font-size:.78rem; padding:3px 11px; border:1px solid var(--a1); color:var(--a1); border-radius:var(--pill); text-transform:var(--up); }
.sd-title { margin:0 0 14px; font-family:var(--f-d); font-weight:var(--fw-d); font-size:2rem; line-height:1.15; letter-spacing:var(--trk); text-transform:var(--up); } .sd-body { color:var(--muted); } .sd-body img, .sd-body figure { display:none; }
.sd-host { font-family:var(--f-m); color:var(--muted); margin:18px 0 8px; font-size:.9rem; } .sd-actions { display:flex; gap:12px; flex-wrap:wrap; }
.sd-note { font-size:.85rem; color:var(--muted); margin-top:10px; }

/* autor + tag */
.author-page { max-width:935px; margin:20px auto 60px; padding:0 20px; position:relative; z-index:10; }
.tag-page { max-width:1000px; margin:30px auto 80px; padding:0 20px; position:relative; z-index:10; } .tag-title { font-family:var(--f-d); font-weight:var(--fw-d); text-transform:var(--up); letter-spacing:var(--trk); margin:20px 0 4px; font-size:2rem; }
.author-profile { display:flex; gap:40px; margin:20px 0 40px; } .author-profile .av { width:150px; height:150px; border-radius:50%; object-fit:cover; border:2px solid var(--line2); background:var(--panel); }
.author-profile h1 { margin:0 0 14px; font-family:var(--f-d); font-weight:var(--fw-d); font-size:1.5rem; display:flex; align-items:center; gap:8px; }
.author-stats { display:flex; gap:34px; margin-bottom:16px; } .author-stats b { color:var(--a1); font-size:1.15rem; margin-right:6px; }
.author-actions { display:flex; gap:10px; margin-top:14px; max-width:420px; } .author-actions .btn { flex:1; }
.author-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; border-top:1px solid var(--line2); padding-top:4px; }
.panel-fab { position:fixed; bottom:25px; right:25px; width:58px; height:58px; border-radius:50%; background:var(--a1); color:var(--on-a1); display:grid; place-items:center; z-index:1000; text-decoration:none; transition:transform .3s, opacity .3s; }
.panel-fab svg { width:26px; height:26px; fill:currentColor; } .panel-fab.hide { opacity:0; pointer-events:none; transform:scale(.5); } .panel-fab:hover { transform:scale(1.1); }

@media (max-width:850px) {
  .wa-btn-mobile { display:inline-flex; } .post-sidebar-footer, .desktop-header-bar, .nav-btn { display:none; } .mobile-header-bar { display:flex; }
  .post-navigation-wrapper { width:100%; margin:0; } .post-modal-view { width:100%; flex-direction:column; height:auto; max-height:none; border:0; clip-path:none; border-radius:0; }
  .post-modal-view::before, .post-modal-view::after { display:none; }
  .post-media-pane { width:100%; height:auto; aspect-ratio:9/16; border-right:0; border-bottom:1px solid var(--line2); }
  .post-photo .post-media-pane { aspect-ratio:var(--ar,4/5); height:auto; width:100%; max-width:100%; } .post-photo .post-modal-view { height:auto; }
  .post-sidebar-pane { width:100%; flex:1; } .sd-grid { grid-template-columns:1fr; }
  .story-app { align-items:flex-start; padding-top:22px; gap:0; } .story-side { display:none; } .video-frame { width:92vw; height:82vh; clip-path:none; }
  .btn-nav { width:36px; height:36px; display:grid; } .nav-left { left:-14px; } .nav-right { right:-14px; } .btn-close { top:16px; right:16px; width:44px; height:44px; background:rgba(255,0,60,.25); backdrop-filter:blur(5px); }
  .video-inner iframe, .video-inner video { object-fit:contain !important; }
  .author-profile { flex-direction:column; align-items:center; text-align:center; gap:18px; } .author-profile .av { width:96px; height:96px; } .author-actions { max-width:none; width:100%; }
}

/* ================= LOGIN (código via WhatsApp) ================= */
body[data-page="login"] .auth-wrapper { display:flex; align-items:center; justify-content:center; min-height:90vh; padding:20px; position:relative; z-index:10; }
.login-container { background:var(--panel); border:1px solid var(--line2); padding:40px; width:100%; max-width:420px; position:relative; box-shadow:var(--shadow); clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px); border-radius:var(--r); font-family:var(--f-m); }
.sys-header { display:flex; align-items:center; justify-content:center; gap:15px; margin-bottom:10px; } .sys-icon { width:32px; height:32px; color:var(--a1); }
.sys-title { font-family:var(--f-d); font-weight:var(--fw-d); color:var(--a1); font-size:1.5rem; letter-spacing:2px; } .sys-subtitle { color:var(--muted); font-size:.8rem; text-align:center; margin-bottom:30px; border-bottom:1px solid var(--line); padding-bottom:15px; }
.input-group { margin-bottom:24px; } .input-group label { display:block; color:var(--a1); margin-bottom:8px; font-size:.8rem; text-transform:uppercase; letter-spacing:1px; }
.iti { width:100%; display:block; } .iti__selected-flag { background:transparent !important; padding:0 12px 0 15px !important; }
.iti__country-list { background:var(--panel); border:1px solid var(--a1); color:var(--txt); font-family:var(--f-m); width:340px !important; white-space:nowrap !important; overflow-x:hidden !important; }
.iti__country { padding:12px 10px; border-bottom:1px solid var(--line); } .iti__country:hover, .iti__country.iti__highlight { background:var(--a1g); } .iti__dial-code { color:var(--a1); font-weight:bold; }
.iti input, .iti input[type=text], .iti input[type=tel], #code-input { width:100%; background:var(--bg); border:1px solid var(--line2); color:var(--txt); font-family:var(--f-m); outline:none; box-sizing:border-box; border-radius:var(--r-s); }
.iti input, .iti input[type=tel] { padding:14px 15px 14px 90px !important; font-size:1.1rem; }
#code-input { padding:14px; text-align:center; font-size:2rem; letter-spacing:10px; font-weight:bold; color:var(--a1); } #code-input:focus, .iti input:focus { border-color:var(--a1); }
.login-container .cyber-btn { width:100%; background:transparent; color:var(--a1); border:1px solid var(--a1); padding:15px; font-family:var(--f-d); font-weight:bold; cursor:pointer; text-transform:uppercase; letter-spacing:2px; border-radius:var(--r-s); transition:background .3s,color .3s; }
.login-container .cyber-btn:hover { background:var(--a1); color:var(--on-a1); } .login-container .cyber-btn:disabled { opacity:.4; cursor:not-allowed; }
.status-msg { margin-top:20px; font-size:.85rem; text-align:center; min-height:20px; font-weight:bold; } .msg-error { color:var(--a2); } .msg-success { color:var(--ok); } .msg-loading { color:var(--txt); animation:blinker 1s infinite; }
#step-2 { display:none; } .login-container .back-btn { display:block; text-align:center; margin-top:24px; color:var(--muted); font-size:.8rem; }

/* ================= HUB VIP (/secreta) ================= */
body[data-page="vip"] { overflow:hidden; height:100dvh; background:#050505; color:#f5f5f5; font-family:'Hanken Grotesk',sans-serif; }
body[data-page="vip"]::after { display:none; }
.vip-root { --vbg:#0a0a0a; position:fixed; inset:0; z-index:50; background:#050505; }
.hub-header { background:#0a0a0a; border-bottom:1px solid #1a1a1a; padding:0 40px; display:flex; justify-content:space-between; align-items:center; position:absolute; top:0; left:0; right:0; z-index:1000; height:70px; }
.hub-logo { font-size:1.2rem; font-weight:700; background:linear-gradient(135deg,#833ab4,#e1306c); -webkit-background-clip:text; -webkit-text-fill-color:transparent; white-space:nowrap; }
.hub-user { display:flex; align-items:center; gap:15px; font-size:.9rem; color:#aaa; } .hub-logout { background:#222; border:1px solid #333; color:#fff; padding:6px 15px; border-radius:6px; cursor:pointer; font-weight:600; } .hub-logout:hover { background:#ff4757; border-color:#ff4757; }
.hub-container { display:grid; grid-template-columns:320px 1fr; gap:25px; max-width:1400px; margin:70px auto 0; padding:25px 20px; height:calc(100dvh - 70px); }
.tools-sidebar { display:flex; flex-direction:column; gap:15px; overflow-y:auto; padding-right:10px; } .section-title { font-size:.85rem; text-transform:uppercase; letter-spacing:1.5px; color:#666; font-weight:600; margin:10px 0 5px; }
.tool-card { background:#111; border:1px solid #222; border-radius:12px; padding:20px; cursor:pointer; transition:transform .2s,border-color .2s; } .tool-card:hover { transform:translateY(-3px); border-color:#e1306c; }
.tool-icon { font-size:1.8rem; margin-bottom:12px; } .tool-title { font-size:1.1rem; font-weight:600; color:#fff; margin-bottom:6px; } .tool-desc { font-size:.85rem; color:#888; line-height:1.4; }
.chat-container { background:#111; border:1px solid #222; border-radius:12px; display:flex; flex-direction:column; overflow:hidden; }
.chat-header { background:#1a1a1a; padding:15px 20px; border-bottom:1px solid #222; display:flex; align-items:center; gap:10px; font-weight:600; } .lucy-status { width:8px; height:8px; background:#25D366; border-radius:50%; box-shadow:0 0 8px #25D366; }
.chat-history { flex:1; padding:20px; overflow-y:auto; display:flex; flex-direction:column; gap:15px; }
.msg-bot { background:#1a1a1a; padding:15px; border-radius:12px 12px 12px 2px; color:#ddd; align-self:flex-start; max-width:85%; border:1px solid #222; } .msg-user { background:linear-gradient(135deg,#833ab4,#e1306c); padding:15px; border-radius:12px 12px 2px 12px; color:#fff; align-self:flex-end; max-width:85%; }
.chat-input-area { display:flex; align-items:center; padding:12px 15px; background:#1a1a1a; border-top:1px solid #222; gap:10px; position:relative; }
.attachment-wrapper { position:relative; display:none; } .attach-btn { background:none; border:0; color:#aaa; padding:8px; cursor:pointer; } .attach-btn svg { width:26px; height:26px; fill:currentColor; }
.mobile-tools-menu { position:absolute; bottom:calc(100% + 10px); left:0; background:#1f1f1f; border:1px solid #333; border-radius:16px; padding:8px; width:240px; display:flex; flex-direction:column; gap:4px; box-shadow:0 15px 35px rgba(0,0,0,.8); opacity:0; pointer-events:none; transform:translateY(15px); transition:all .25s; z-index:100; } .mobile-tools-menu.active { opacity:1; pointer-events:auto; transform:none; }
.mobile-tool-item { display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:10px; cursor:pointer; font-weight:500; color:#eee; } .mobile-tool-item:hover { background:#2a2a2a; } .whatsapp-item { background:linear-gradient(135deg,#25D366,#128C7E); color:#fff; font-weight:600; }
.chat-input-area input { flex:1; background:#000; border:1px solid #333; color:#fff; padding:12px 20px; border-radius:25px; outline:none; } .chat-input-area input:focus { border-color:#e1306c; }
.send-btn { background:linear-gradient(135deg,#833ab4,#e1306c); border:0; width:45px; height:45px; border-radius:50%; display:grid; place-items:center; cursor:pointer; } .send-btn svg { width:20px; height:20px; fill:#fff; }
body[data-page="vip"] .modal-overlay { background:rgba(0,0,0,.8); z-index:9999; display:none; opacity:1; } body[data-page="vip"] .modal-overlay.active { display:flex; }
body[data-page="vip"] .modal-box { background:#111; border:1px solid #333; width:90%; max-width:450px; border-radius:12px; padding:25px; clip-path:none; }
.modal-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; } .modal-header h3 { margin:0; } .close-modal { background:none; border:0; color:#888; font-size:1.5rem; cursor:pointer; }
.vform-group { margin-bottom:15px; } .vform-group label { display:block; font-size:.85rem; color:#aaa; margin-bottom:5px; }
.form-control { width:100%; background:#000; border:1px solid #333; color:#fff; padding:12px; border-radius:8px; outline:none; font-family:inherit; } .form-control:focus { border-color:#e1306c; } textarea.form-control { min-height:80px; resize:vertical; }
.btn-submit { width:100%; background:#fff; color:#000; font-weight:600; padding:12px; border:0; border-radius:8px; cursor:pointer; margin-top:10px; }
@media (max-width:900px) { .tools-sidebar { display:none; } .hub-header { padding:0 15px; height:60px; } .hub-container { display:flex; flex-direction:column; margin-top:60px; padding:0; height:calc(100dvh - 60px); } .chat-container { flex:1; border-radius:0; border:0; } .attachment-wrapper { display:flex; } }

/* botão WhatsApp fixo (story) no mobile */
@media (max-width:768px){ .btn-wa-fixed{ width:56px; height:56px; padding:0; border-radius:50%; clip-path:none; bottom:24px; right:24px; background:var(--ok); color:#000; } .btn-wa-fixed .wa-text{ display:none; } .btn-wa-fixed svg{ width:26px; height:26px; margin:0; } }

/* vídeos e fotos do cliente: sem filtros do site por cima */
body[data-page="reels"]::after, body[data-page="photo"]::after, body[data-page="story"]::after, body[data-page="site"]::after { display:none !important; }
body[data-page="reels"] .fx-glow, body[data-page="photo"] .fx-glow, body[data-page="story"] .fx-glow, body[data-page="site"] .fx-glow { display:none; }
.post-media-pane, .video-inner { filter:none !important; }
