/* Scalyze — design system v2 (fora-da-curva).
   Direção "Boldness + Warm Premium": aurora viva, glass, bento, tipografia
   expressiva, brand-glow, motion coreografado, command palette. */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&family=Poppins:wght@700;800&display=swap');

:root{
  --bg:#07080c; --ink:#0c0e14;
  --glass:rgba(20,23,32,.86); --glass2:rgba(30,35,48,.6);
  --line:rgba(255,255,255,.07); --line2:rgba(255,255,255,.12);
  --txt:#f2f4fa; --txt2:#aeb6c6; --mut:#6f788c;
  --p-rgb:198,255,0; --p2-rgb:132,204,22;   /* Scalyze Lime #C6FF00 — cor oficial da marca (IDV) */
  --hero-grad:radial-gradient(80% 70% at 16% -10%,rgba(198,255,0,.18),transparent 55%),radial-gradient(85% 85% at 92% 120%,rgba(168,85,247,.32),transparent 55%),radial-gradient(55% 50% at 60% 112%,rgba(132,204,22,.12),transparent 55%),linear-gradient(180deg,#0e1208 0%,#0a0b08 58%,#08070c 100%);
  --on-p:#12140a; --indigo:#c6ff00; --violet:#84cc16; --emerald:#1fd99a; --amber:#f7b955; --rose:#fb6f8d;
  --grad:linear-gradient(120deg,var(--indigo),var(--violet)); --grad-em:linear-gradient(120deg,#1fd99a,#22d3ee);
  --purple:#a855f7; --purple-rgb:168,85,247; --grad-brand:linear-gradient(120deg,var(--indigo),var(--purple));
  --glow:0 10px 40px -12px rgba(var(--p-rgb),.5);
  /* HALO p/ texto BRANCO sobre o verde da marca. Medido: branco sobre #C2F261 dá 1,30:1 e o mínimo
     legível é 4,5:1 — ou seja, é ilegível por física, não por gosto. Manter o verde E o branco só é
     possível dando ao texto uma borda própria (mesma técnica de legenda de vídeo). Para chegar a
     4,5:1 com cor seria preciso o verde em #57810E, que mata o tom da marca. */
  --halo-verde:0 1px 0 rgba(22,40,4,.75), 0 0 3px rgba(22,40,4,.6), 0 0 12px rgba(22,40,4,.4);
  --halo-verde-leve:0 1px 0 rgba(22,40,4,.5), 0 0 4px rgba(22,40,4,.35);
  --r:16px; --r-sm:11px; --r-lg:24px;
  --ease:.22s cubic-bezier(.4,0,.2,1); --ease-spring:.45s cubic-bezier(.34,1.56,.64,1);
  --head:'Satoshi','Space Grotesk',sans-serif; --body:'Satoshi','DM Sans',sans-serif;
}
*{box-sizing:border-box} html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--txt);font-family:var(--body);font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--head);font-weight:600;letter-spacing:-.025em;margin:0}
a{color:inherit;text-decoration:none} button{font-family:var(--body);cursor:pointer}
::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--line2);border-radius:8px}
::selection{background:rgba(var(--p-rgb),.4)}

/* logotipo (wordmark) */
.logo{font-family:'Satoshi',"Poppins",var(--head)!important;font-weight:700!important;letter-spacing:-.04em}
.logo b{font-weight:700;font-style:normal}

/* aurora viva + grão */
.aurora{position:fixed;inset:-30%;z-index:-2;filter:blur(46px);opacity:.85;pointer-events:none;will-change:transform;transform:translateZ(0);
  background:
   radial-gradient(40% 40% at 18% 22%,rgba(var(--p-rgb),.40),transparent 70%),
   radial-gradient(38% 38% at 82% 18%,rgba(var(--p2-rgb),.30),transparent 70%),
   radial-gradient(45% 45% at 70% 85%,rgba(139,92,246,.30),transparent 70%),
   radial-gradient(40% 40% at 25% 88%,rgba(139,92,246,.16),transparent 70%);
  animation:drift 24s ease-in-out infinite alternate}
@keyframes drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(3%,-2%,0) scale(1.08)}100%{transform:translate3d(-3%,2%,0) scale(1.04)}}
.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* motion */
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.an{opacity:0;animation:fadeUp .7s cubic-bezier(.2,.8,.2,1) forwards}
.d1{animation-delay:.05s}.d2{animation-delay:.12s}.d3{animation-delay:.19s}.d4{animation-delay:.26s}.d5{animation-delay:.33s}.d6{animation-delay:.4s}
@keyframes pulsering{0%{transform:scale(.7);opacity:.7}100%{transform:scale(2.2);opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}

/* primitives */
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--r-sm);
  padding:10px 16px;font-weight:600;font-size:14px;background:var(--glass);color:var(--txt);transition:var(--ease)}
.btn:hover{border-color:var(--line2);transform:translateY(-1px)}
.btn.primary{background:var(--grad);border:0;color:var(--on-p);box-shadow:var(--glow)}
.btn.primary svg{stroke-width:2.4px}   /* traço mais grosso: ícone legível sobre o verde brilhante */
.btn.primary:hover{box-shadow:0 14px 46px -10px rgba(var(--p-rgb),.65);transform:translateY(-1px)}
.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--glass)}
.btn.sm{padding:7px 12px;font-size:13px}.btn.block{width:100%;justify-content:center}.btn:disabled{opacity:.5}
.input,textarea,select{width:100%;background:rgba(12,14,20,.7);border:1px solid var(--line);border-radius:var(--r-sm);
  color:var(--txt);padding:12px 14px;font:inherit;outline:none;transition:var(--ease)}
.input:focus,textarea:focus,select:focus{border-color:var(--indigo);box-shadow:0 0 0 3px rgba(var(--p-rgb),.22)}
label{display:block;font-size:12.5px;color:var(--txt2);margin:0 0 6px;font-weight:500}
.glass,.card{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset, 0 20px 50px -30px rgba(0,0,0,.8);transition:var(--ease)}
.card{padding:20px}
.card.hov:hover{transform:translateY(-3px);border-color:var(--line2);box-shadow:0 28px 60px -28px rgba(var(--p-rgb),.4)}
.card h4{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--mut);margin-bottom:12px;font-family:var(--body);font-weight:700}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--txt2)}
.pill.ok{border-color:rgba(31,217,154,.4);color:var(--emerald);background:rgba(31,217,154,.1)}
.pill.accent{border-color:rgba(var(--p-rgb),.45);color:color-mix(in srgb,var(--indigo),#fff 55%);background:rgba(var(--p-rgb),.12)}
.muted{color:var(--mut)}.small{font-size:12.5px}
.grad-txt{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.row{display:flex;gap:12px;align-items:center}.between{justify-content:space-between}
.grid{display:grid;gap:16px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}
.sep{height:1px;background:var(--line);margin:18px 0;border:0}.tnum{font-variant-numeric:tabular-nums}

/* shell */
.app{display:grid;grid-template-columns:236px 1fr;height:100vh}
.sidebar{background:rgba(10,12,18,.5);border-right:1px solid var(--line);backdrop-filter:blur(20px);display:flex;flex-direction:column;padding:18px 12px}
.brand{display:flex;align-items:center;gap:10px;padding:6px 10px 18px}
.brand .logo{font-family:var(--head);font-weight:700;font-size:21px;letter-spacing:-.5px}.brand .logo b{color:var(--indigo)}
.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--emerald);box-shadow:0 0 12px var(--emerald);animation:bp 2s infinite}
@keyframes bp{50%{opacity:.4}}
.switcher{margin:0 6px 16px}
.nav{display:flex;flex-direction:column;gap:3px;overflow-y:auto}
.nav .grp{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--mut);margin:16px 12px 7px}
.nav a{position:relative;display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:var(--r-sm);color:var(--txt2);font-weight:500;font-size:14px;transition:var(--ease)}
.nav a:hover{background:rgba(255,255,255,.05);color:var(--txt)}
.nav a.active{background:rgba(var(--p-rgb),.14);color:#fff}
.nav a.active::before{content:'';position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--grad);box-shadow:var(--glow)}
.nav svg{width:18px;height:18px;flex:0 0 18px;color:var(--mut)}.nav a.active svg{color:var(--indigo)}
.side-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.avatar{width:34px;height:34px;border-radius:10px;background:var(--grad);display:grid;place-items:center;font-weight:700;color:var(--on-p);font-size:14px}

.main{overflow-y:auto;position:relative}
/* Aviso global "configure a marca" — estado derivado, some sozinho quando logo+cor estão prontos.
   Tom âmbar (atenção sem alarme), dentro dos tokens. Full-bleed no topo de toda tela. */
.cfgbar{display:flex;align-items:center;gap:14px;padding:12px 300px 12px 32px;   /* 300px à direita: reserva o espaço dos badges fixos (15/15 + Reportar) pra não cobrirem o CTA */
  background:linear-gradient(90deg,rgba(247,185,85,.14),rgba(247,185,85,.05) 62%,transparent);
  border-bottom:1px solid rgba(247,185,85,.26);color:var(--txt);font-size:13.5px;line-height:1.45;
  animation:cfgbar-in .4s var(--ease)}
@keyframes cfgbar-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.cfgbar-ic{display:inline-flex;align-items:center;color:var(--amber);flex:0 0 auto}
.cfgbar-ic svg{width:19px;height:19px}
.cfgbar-tx{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cfgbar-tx b{color:var(--txt);font-weight:700}
.cfgbar-cta{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:7px 15px;border-radius:999px;
  background:rgba(247,185,85,.16);border:1px solid rgba(247,185,85,.42);color:var(--amber);
  font-weight:600;font-size:13px;white-space:nowrap;text-decoration:none;transition:var(--ease)}
.cfgbar-cta:hover{background:rgba(247,185,85,.26);border-color:rgba(247,185,85,.6)}
.cfgbar-cta svg{width:14px;height:14px}
@media(max-width:640px){.cfgbar{flex-wrap:wrap;padding:11px 18px 11px 64px;gap:9px}  /* 64px esq. limpa o hambúrguer fixo */
  .cfgbar-ic{order:1}.cfgbar-tx{order:2;flex:1 1 100%}.cfgbar-cta{order:3}}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;position:sticky;top:0;background:rgba(7,8,12,.6);backdrop-filter:blur(20px) saturate(160%);z-index:6;border-bottom:1px solid var(--line)}
.topbar h1{font-size:20px}
.kbd{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--line);border-radius:9px;background:var(--glass);color:var(--txt2);font-size:13px}
.kbd b{font-family:var(--head);color:var(--txt)}
.content{padding:26px 32px;max-width:1240px}

/* hero number */
.metric{font-family:var(--head);font-weight:700;letter-spacing:-.03em;line-height:1}
.metric.xl{font-size:54px}.metric.lg{font-size:34px}
.delta{font-size:13px;font-weight:600}.delta.up{color:var(--emerald)}.delta.dn{color:var(--rose)}

/* BENTO */
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.b-hero{grid-column:span 2;grid-row:span 2}
.b-wide{grid-column:span 2}
.b-tall{grid-row:span 2}
.tile{padding:20px;display:flex;flex-direction:column;justify-content:space-between;min-height:128px}
.tile .k{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.spark{display:flex;align-items:flex-end;gap:4px;height:42px;margin-top:10px}
.spark i{flex:1;background:var(--grad);border-radius:3px 3px 0 0;opacity:.85;transition:var(--ease)}
.orb{position:relative;width:120px;height:120px;margin:6px auto}
.orb .core{position:absolute;inset:38px;border-radius:50%;background:var(--grad);box-shadow:var(--glow)}
.orb .ring{position:absolute;inset:38px;border-radius:50%;border:2px solid rgba(var(--p-rgb),.5);animation:pulsering 2.6s ease-out infinite}
.orb .ring:nth-child(2){animation-delay:1.3s}
.orb .sat{position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px;border-radius:50%;background:var(--emerald);box-shadow:0 0 10px var(--emerald);animation:spin 12s linear infinite;transform-origin:-46px 7px}

/* auth */
/* login split-screen */
.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}
.auth-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:46px 52px;background:var(--hero-grad)}
.auth-brand::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.auth-brand>*{position:relative;z-index:1}
.ab-top .logo{font-size:24px;color:#fff}.ab-top .logo b,.af-logo b{color:var(--indigo)}
.ab-mid h1{font-family:var(--head);font-weight:700;font-size:38px;line-height:1.1;letter-spacing:-.03em;color:#fff}
.ab-grad{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.ab-mid p{color:rgba(255,255,255,.78);font-size:15px;margin:18px 0 26px;max-width:440px;line-height:1.6}
.ab-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:13px}
.ab-points li{display:flex;align-items:center;gap:12px;color:#fff;font-weight:500;font-size:14.5px}
.ab-points svg{width:18px;height:18px;flex:0 0 18px;color:var(--indigo)}
.ab-foot{color:rgba(255,255,255,.55);font-size:12px}
.auth-form{display:grid;place-items:center;padding:32px;background:var(--bg)}
.af-card{width:min(384px,100%)}
.af-logo{font-size:26px;margin-bottom:24px;display:none}
.af-card h2{font-family:var(--head);font-size:26px;letter-spacing:-.02em}
.af-card label{margin-top:14px}
.af-or{display:flex;align-items:center;gap:12px;color:var(--mut);font-size:12px;margin:18px 0}
.af-or::before,.af-or::after{content:'';flex:1;height:1px;background:var(--line)}
@media(max-width:860px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.af-logo{display:block}}

/* wizard */
.wizard{max-width:660px;margin:0 auto;padding:42px 24px}
.steps{display:flex;gap:7px;margin-bottom:28px}.steps .s{flex:1;height:4px;border-radius:4px;background:var(--line);transition:var(--ease)}.steps .s.done{background:var(--grad)}
.q-num{color:var(--indigo);font-weight:700;font-size:13px;font-family:var(--head);letter-spacing:.06em}
.q-title{font-family:var(--head);font-size:28px;margin:8px 0 4px;letter-spacing:-.03em}
.q-help{color:var(--txt2);font-size:14.5px;margin-bottom:22px}
.opts{display:grid;gap:10px}
.opt{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;transition:var(--ease);background:var(--glass);backdrop-filter:blur(10px)}
.opt:hover{border-color:var(--line2);transform:translateX(2px)}.opt.sel{border-color:var(--indigo);background:rgba(var(--p-rgb),.12)}
.opt .rdo{width:18px;height:18px;border-radius:50%;border:2px solid var(--line2);flex:0 0 18px;transition:var(--ease)}
.opt.sel .rdo{border-color:var(--indigo);background:var(--indigo);box-shadow:inset 0 0 0 3px var(--ink)}
.wiz-foot{display:flex;justify-content:space-between;margin-top:30px}

/* strategy/chat */
.two-col{display:grid;grid-template-columns:1fr 380px;gap:18px;align-items:start}
.chat{display:flex;flex-direction:column;height:calc(100vh - 240px)}
.chat-h{padding:15px 18px;border-bottom:1px solid var(--line);font-weight:600;display:flex;align-items:center;gap:8px}
.chat-b{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}
.msg{max-width:86%;padding:11px 14px;border-radius:15px;font-size:13.5px;line-height:1.5}
.msg.bot{background:rgba(255,255,255,.05);border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:4px}
.msg.me{background:var(--grad);color:#fff;text-shadow:var(--halo-verde-leve);align-self:flex-end;border-bottom-right-radius:4px}
.chat-i{display:flex;gap:8px;padding:14px;border-top:1px solid var(--line)}

/* queue/table */
.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:16px}
.qcard{border-radius:var(--r);overflow:hidden;transition:var(--ease)}
.qcard:hover{transform:translateY(-3px);box-shadow:0 28px 60px -28px rgba(var(--p-rgb),.45)}
.qcard .thumb{aspect-ratio:4/5;background:var(--ink);display:grid;place-items:center;color:var(--mut)}
.qcard .thumb img{width:100%;height:100%;object-fit:cover}.qcard .body{padding:13px 15px}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);padding:11px 12px;border-bottom:1px solid var(--line);font-weight:700}
td{padding:13px 12px;border-bottom:1px solid var(--line);font-size:14px}tr:last-child td{border:0}tr:hover td{background:rgba(255,255,255,.03)}
.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}
.status::before{content:'';width:7px;height:7px;border-radius:50%}
.status.pend::before{background:var(--amber)}.status.aprov::before{background:var(--emerald)}.status.pub::before{background:var(--indigo)}.status.rej::before{background:var(--rose)}
.toggle{position:relative;width:44px;height:25px;background:var(--line2);border-radius:99px;transition:var(--ease);cursor:pointer;flex:0 0 44px}
.toggle.on{background:var(--grad)}.toggle::after{content:'';position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;transition:var(--ease-spring)}.toggle.on::after{left:22px}

/* command palette */
.cmdk{position:fixed;inset:0;z-index:50;display:none;place-items:start center;padding-top:14vh;background:rgba(5,6,10,.6);backdrop-filter:blur(6px)}
.cmdk.show{display:grid;animation:fadeUp .2s ease}
.cmd{width:560px;max-width:92vw;border-radius:var(--r);overflow:hidden}
.cmd input{border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:16px;padding:18px 20px;background:transparent}
.cmd input:focus{box-shadow:none}
.cmd .res{max-height:340px;overflow-y:auto;padding:8px}
.cmd .it{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:var(--txt2);cursor:pointer}
.cmd .it:hover,.cmd .it.sel{background:rgba(var(--p-rgb),.16);color:#fff}
.cmd .it svg{width:17px;height:17px;color:var(--mut)}
.hide{display:none!important}
@media(max-width:900px){.two-col{grid-template-columns:1fr}.b-hero,.b-wide,.b-tall{grid-column:auto;grid-row:auto}}

/* ---- HOME estilo Lovable (gradiente herói + prompt-first) ---- */
.home{display:flex;flex-direction:column;min-height:100vh}
.home-hero{position:relative;flex:1 1 auto;min-height:70vh;display:grid;place-items:center;overflow:hidden;padding:40px 24px}
.home-hero::before{content:'';position:absolute;inset:0;z-index:0;animation:drift 26s ease-in-out infinite alternate;background:var(--hero-grad)}
.home-hero::after{content:'';position:absolute;inset:0;z-index:0;opacity:.05;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero-inner{position:relative;z-index:1;width:100%;max-width:760px;text-align:center;animation:fadeUp .8s both}
.connect-pill{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.92);color:#15151c;border:0;
  border-radius:999px;padding:9px 16px;font-weight:600;font-size:13.5px;box-shadow:0 8px 30px -8px rgba(0,0,0,.5);margin-bottom:26px}
.hero-h{font-family:var(--head);font-size:40px;font-weight:700;letter-spacing:-.03em;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.prompt{margin:28px auto 0;width:100%;max-width:720px;text-align:left;background:rgba(16,17,24,.72);backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:18px 18px 14px;box-shadow:0 24px 60px -20px rgba(0,0,0,.6)}
.prompt textarea{background:transparent;border:0;outline:none;width:100%;color:var(--txt);font:inherit;font-size:16px;resize:none;min-height:30px}
.prompt textarea::placeholder{color:#9aa1b3}
.prompt-bar{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.pbtn{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid var(--line);color:var(--txt2)}
.pbtn:hover{background:rgba(255,255,255,.12)}
.psend{width:38px;height:38px;border-radius:11px;border:0;background:var(--grad);color:var(--on-p);display:grid;place-items:center;box-shadow:var(--glow)}
.pmode{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:11px;padding:9px 14px;color:var(--txt);font-weight:600;font-size:13.5px}
.home-body{flex:1;padding:26px 32px 60px;max-width:1240px;margin:0 auto;width:100%}
.tabs{display:flex;align-items:center;gap:6px;margin-bottom:18px}
.tab{padding:8px 14px;border-radius:10px;color:var(--txt2);font-weight:600;font-size:14px;cursor:pointer}
.tab.on{background:rgba(var(--p-rgb),.2);color:#fff}
.tabs .seeall{margin-left:auto;color:var(--mut);font-size:13px}
/* recents + upgrade na sidebar */
.recent a{font-size:13.5px;color:var(--txt2);padding:7px 12px;border-radius:9px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.recent a:hover{background:rgba(255,255,255,.05);color:var(--txt)}
/* Indicador de plano do rodapé da barra lateral. Era um BLOCO verde chapado de 3 linhas: pesado
   demais pra uma informação de referência, e roubava a atenção do menu, que é o que importa ali.
   Agora é uma superfície discreta com um respiro verde, em 2 linhas curtas (~48px contra ~72px). */
/* Bloco verde do rodapé da barra lateral (o design original). Fica compacto porque o conteúdo agora
   é curto: nome do plano + uso ("3 de 3 marcas"). O que engordava antes era a frase de venda
   "geração sem limite de posts", que virou 3 linhas e foi pra aba Planos, onde ela decide algo. */
.upcard{margin:10px 6px 8px;padding:11px 13px;border-radius:12px;background:var(--grad);color:var(--on-p)}
.upcard .t{font-weight:700;font-size:13px;line-height:1.2}
.upcard .d{font-size:11.5px;opacity:.85;margin-top:2px;line-height:1.25}

/* seletor de tema (dev) */
.palbar{position:fixed;bottom:16px;right:16px;z-index:40;display:flex;align-items:center;gap:9px;padding:9px 13px;border-radius:16px}
.palbar .lab{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);font-weight:700}
.palbar .sw{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:var(--ease)}
.palbar .sw:hover{transform:scale(1.15)}
.palbar .sw.on{border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.2)}

/* cards de conteúdo (capa de carrossel) */
.ccard{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);transition:var(--ease);background:var(--glass);cursor:pointer}
.ccard:hover{transform:translateY(-4px);border-color:var(--line2);box-shadow:0 30px 60px -30px rgba(var(--p-rgb),.45)}
.ccard .cover{position:relative;aspect-ratio:4/5;padding:14px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;
  background:linear-gradient(160deg,#1c2331 0%,#0c0f16 72%)}
.ccard .cover::after{content:'';position:absolute;inset:0;background:radial-gradient(120% 85% at 50% -10%,rgba(var(--p-rgb),.16),transparent 58%)}
.ccard .badge{position:relative;z-index:1;align-self:flex-start;font-size:9px;font-weight:800;letter-spacing:.07em;padding:4px 8px;border-radius:5px;background:rgb(var(--p-rgb));color:#07080c;margin-bottom:auto}
.ccard .ch{position:relative;z-index:1;font-family:var(--head);font-weight:700;font-size:16px;line-height:1.1;letter-spacing:-.02em;color:#fff;text-transform:uppercase}
.ccard .cmeta{display:flex;align-items:center;justify-content:space-between;padding:11px 13px}

/* polish helpers (passe geral) */
.content>*{animation:fadeUp .6s both}
.seg{display:flex;height:12px;border-radius:7px;overflow:hidden;margin-top:10px;border:1px solid var(--line)}
.seg i{height:100%}
.legend{display:flex;gap:16px;margin-top:11px;flex-wrap:wrap}
.legend span{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--txt2)}
.legend b{width:9px;height:9px;border-radius:3px;display:inline-block}
.wbar{height:6px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:8px}
.wbar i{display:block;height:100%;background:var(--grad);border-radius:4px}
.pilar{padding:13px 14px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:rgba(255,255,255,.02)}
.pilar .pt{display:flex;align-items:center;justify-content:space-between}
.ringwrap{display:flex;align-items:center;gap:18px}
.ring{width:92px;height:92px;flex:0 0 92px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--indigo) calc(var(--v,80)*1%),rgba(255,255,255,.08) 0)}
.ring .in{width:72px;height:72px;border-radius:50%;background:#0c0e14;display:grid;place-items:center}
.filt{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.filt .f{padding:7px 13px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--txt2);cursor:pointer;border:1px solid var(--line);transition:var(--ease)}
.filt .f:hover{color:var(--txt)}.filt .f.on{background:rgba(var(--p-rgb),.18);color:#fff;border-color:transparent}
.intg{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.intg:last-child{border:0}
.intg .ico{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--txt2)}
.intg .bd{flex:1} .intg svg{width:18px;height:18px}
.swatch{width:30px;height:30px;border-radius:8px;border:2px solid var(--line2);display:inline-block;vertical-align:middle;margin-right:8px}

/* toast */
.toast{position:fixed;bottom:74px;left:50%;transform:translateX(-50%) translateY(20px);z-index:60;background:var(--glass2);border:1px solid var(--line2);backdrop-filter:blur(16px);color:var(--txt);padding:12px 18px;border-radius:12px;font-size:13.5px;font-weight:600;box-shadow:0 18px 50px rgba(0,0,0,.55);opacity:0;transition:var(--ease);pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ===== mobile drawer ===== */
.hamb{display:none;position:fixed;top:13px;left:13px;z-index:30;width:42px;height:42px;border-radius:11px;align-items:center;justify-content:center;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(12px);color:var(--txt)}
.hamb svg{width:20px;height:20px}
.scrim{position:fixed;inset:0;z-index:19;background:rgba(0,0,0,.55);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:var(--ease)}
@media(max-width:900px){
  .app{grid-template-columns:1fr}
  .sidebar{position:fixed;top:0;left:0;bottom:0;width:250px;z-index:20;transform:translateX(-106%);transition:transform .28s cubic-bezier(.4,0,.2,1)}
  .app.navopen .sidebar{transform:none}
  .app.navopen .scrim{opacity:1;pointer-events:auto}
  .hamb{display:flex}
  .content{padding:18px 16px}.topbar{padding:16px 16px 16px 64px}
  .home-hero{min-height:46vh;padding:62px 18px 28px}.hero-h{font-size:29px}.prompt{max-width:100%}
  .sidebar .brand{padding-left:46px}
  .prompt textarea{min-height:48px}
  .palbar{bottom:10px;right:10px;padding:7px 9px;gap:7px}.palbar .sw{width:19px;height:19px}
}
/* ===== modal / editor de post ===== */
.modal{position:fixed;inset:0;z-index:45;display:none;background:rgba(5,6,10,.62);backdrop-filter:blur(8px)}
.modal.show{display:grid;place-items:center;padding:22px;animation:fadeUp .2s ease}
.sheet{width:min(980px,96vw);max-height:90vh;display:grid;grid-template-columns:1fr 360px;grid-template-rows:auto 1fr;border-radius:var(--r-lg);overflow:hidden}
.sheet .mh{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}
.sheet .prev{overflow-y:auto;padding:20px;background:rgba(0,0,0,.22);display:flex;gap:12px;flex-wrap:wrap;align-content:flex-start;justify-content:center}
.sheet .prev .slidebox,.sheet .prev img{width:148px;aspect-ratio:4/5;border-radius:10px;border:1px solid var(--line);object-fit:cover;background:linear-gradient(160deg,#1c2331,#0c0f16);display:flex;flex-direction:column;justify-content:flex-end;padding:10px;font-family:var(--head);font-weight:700;font-size:12px;text-transform:uppercase;color:#fff;line-height:1.1}
.sheet .ed{overflow-y:auto;padding:20px;border-left:1px solid var(--line)}
.iconbtn{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;border:1px solid var(--line);background:var(--glass);color:var(--txt2)}
@media(max-width:760px){.sheet{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;max-height:94vh}.sheet .ed{border-left:0;border-top:1px solid var(--line)}}
/* ===== calendário ===== */
.calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.cal .dow{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);text-align:center;font-weight:700;padding:2px 0}
.cal .day{min-height:104px;border:1px solid var(--line);border-radius:11px;padding:8px;background:rgba(255,255,255,.02);transition:var(--ease)}
.cal .day:hover{border-color:var(--line2)} .cal .day.out{opacity:.32}
.cal .day.today{border-color:var(--indigo);box-shadow:0 0 0 1px var(--indigo) inset}
.cal .dn{font-size:12px;color:var(--txt2);font-weight:700}
.cal .ev{font-size:11px;padding:4px 7px;border-radius:6px;margin-top:5px;background:rgba(var(--p-rgb),.18);color:#fff;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.cal .day{min-height:64px}.cal .ev{display:none}}
/* ===== abas de config ===== */
.stabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto}
.stab{padding:11px 15px;color:var(--txt2);font-weight:600;font-size:14px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:var(--ease)}
.stab:hover{color:var(--txt)} .stab.on{color:#fff;border-bottom-color:var(--indigo)}
/* ===== upload / canais ===== */
.drop{border:1.5px dashed var(--line2);border-radius:14px;padding:30px;text-align:center;color:var(--mut);cursor:pointer;transition:var(--ease)}
.drop:hover{border-color:var(--indigo);color:var(--txt2);background:rgba(var(--p-rgb),.05)}
.chan{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px}
.chan .ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:17px;background:rgba(255,255,255,.05);border:1px solid var(--line)}
.colorrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.colorchip{width:46px;height:46px;border-radius:11px;border:2px solid var(--line2);cursor:pointer;position:relative}
.colorchip.on{border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.18)}

/* ícones em botões/dropzones nunca esticam */
.btn svg,.pbtn svg,.psend svg,.iconbtn svg,.connect-pill svg{width:18px;height:18px;flex:0 0 18px}
.drop svg{width:26px;height:26px;flex:0 0 26px;margin:0 auto}

/* stack de redes sociais na pílula */
.connect-pill{gap:10px}
.netstack{display:inline-flex;align-items:center}
.netstack .net{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;margin-left:-9px;border:2.5px solid #fff;box-shadow:0 2px 5px rgba(0,0,0,.22)}
.netstack .net:first-child{margin-left:0}
.netstack .net svg{width:14px;height:14px;flex:0 0 14px}

/* pílula "Conecte suas redes" — glass escuro futurista */
.connect-pill{background:rgba(15,17,24,.62)!important;color:var(--txt)!important;border:1px solid rgba(255,255,255,.13)!important;
  padding:7px 18px 7px 8px;backdrop-filter:blur(18px) saturate(160%);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 12px 36px -12px rgba(0,0,0,.65), 0 0 26px -6px rgba(var(--p-rgb),.28)!important;
  transition:var(--ease)}
.connect-pill:hover{border-color:rgba(var(--p-rgb),.5)!important;transform:translateY(-1px);
  box-shadow:0 1px 0 rgba(255,255,255,.1) inset, 0 14px 44px -12px rgba(0,0,0,.65), 0 0 34px -4px rgba(var(--p-rgb),.5)!important}
.connect-pill .arrow{color:var(--indigo);font-weight:700;transition:var(--ease)}
.connect-pill:hover .arrow{transform:translateX(3px)}
.netstack .net{border:2.5px solid #0e1018;box-shadow:0 2px 6px rgba(0,0,0,.45)}

/* menu dropdown (botão Gerar do prompt) */
.menu{position:absolute;bottom:calc(100% + 8px);right:0;min-width:162px;background:#14171f;border:1px solid var(--line2);border-radius:12px;padding:5px;display:none;z-index:9;box-shadow:0 16px 40px rgba(0,0,0,.6)}
.menu.show{display:block;animation:fadeUp .15s ease}
.menu div{padding:8px 11px;border-radius:8px;font-size:13.5px;color:var(--txt2);cursor:pointer;white-space:nowrap}
.menu div:hover{background:rgba(var(--p-rgb),.16);color:#fff}
.pmode{cursor:pointer;user-select:none}

/* seletor de marca custom */
.brandsw{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03);cursor:pointer;transition:var(--ease);position:relative}
.brandsw:hover{border-color:var(--line2);background:rgba(255,255,255,.06)}
.brandsw .av{width:32px;height:32px;border-radius:9px;background:var(--grad);color:var(--on-p);display:grid;place-items:center;font-weight:700;font-size:14px;flex:0 0 32px}
.brandsw .nm{flex:1;min-width:0}
.brandsw .nm b{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brandsw .nm span{display:block;font-size:11px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brandsw .chev{color:var(--mut);flex:0 0 18px;transition:var(--ease)}
.brandmenu{position:absolute;top:calc(100% + 7px);left:0;right:0;background:#14171f;border:1px solid var(--line2);border-radius:13px;padding:6px;z-index:12;display:none;box-shadow:0 18px 44px rgba(0,0,0,.6)}
.brandmenu.show{display:block;animation:fadeUp .14s ease}
.brandmenu .bi{display:flex;align-items:center;gap:10px;padding:8px 8px;border-radius:10px;cursor:pointer}
.brandmenu .bi:hover{background:rgba(255,255,255,.05)} .brandmenu .bi.on{background:rgba(var(--p-rgb),.16)}
.brandmenu .bi .av{width:28px;height:28px;border-radius:8px;background:var(--grad);color:var(--on-p);display:grid;place-items:center;font-weight:700;font-size:12px;flex:0 0 28px}
.brandmenu .bi .nm b{font-size:13px;font-weight:600} .brandmenu .bi .nm span{font-size:11px;color:var(--mut)}
.newb{border-top:1px solid var(--line);margin-top:5px;padding:10px 9px 6px;color:var(--indigo);font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:9px;cursor:pointer}
.newb:hover{color:#fff}

/* indicador "digitando" da Mesa */
.msg.typing{display:inline-flex;gap:5px;align-items:center;width:auto}
.msg.typing span{width:6px;height:6px;border-radius:50%;background:var(--mut);animation:blink 1.2s infinite}
.msg.typing span:nth-child(2){animation-delay:.2s}.msg.typing span:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,60%,100%{opacity:.3}30%{opacity:1}}

.auth-card .logo b{color:var(--indigo)}

/* ===== mobile — auditoria UX (correções) ===== */
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
@media(max-width:900px){
  .bento{grid-template-columns:1fr 1fr}      /* KPIs 2-up */
  .home-body{padding:22px 16px}
  .chat{min-height:60vh}
}
@media(max-width:760px){
  .cols2,.g2,.g3{grid-template-columns:1fr}  /* grids internos empilham */
  .card:has(table){overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:540px}                      /* tabela rola em vez de espremer */
  .modal.show{padding:10px}
  .cal .day{min-height:auto;padding:5px}
  .cal .ev{display:block;font-size:9px;padding:2px 5px;margin-top:3px}  /* eventos visíveis/tocáveis */
  .topbar{padding:14px 14px 14px 60px} .topbar h1{font-size:17px}
}
@media(max-width:520px){
  .bento{grid-template-columns:1fr}          /* KPIs 1-up no phone pequeno */
  .hero-h{font-size:25px}
  .topbar .small.muted{display:none}         /* subtítulo some pra caber */
}

/* onboarding pop-up (modal dentro da plataforma) */
.modal-ov{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:18px;background:rgba(6,7,9,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:obfade .22s ease}
@keyframes obfade{from{opacity:0}to{opacity:1}}
.ob-card{position:relative;width:min(560px,96vw);max-height:92vh;overflow:auto;background:#0f1310;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 32px;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.ob-card .steps{margin-top:6px}
.ob-x{position:absolute;top:12px;right:14px;width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:var(--mut);font-size:22px;line-height:1;cursor:pointer}
.ob-x:hover{background:rgba(255,255,255,.06);color:var(--txt)}
.ob-kick{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--indigo);margin-bottom:14px}
.ob-kick svg{width:14px;height:14px}

/* signup: campos extras + seletor de nicho */
.af-card{width:min(440px,100%)}
.auth-form{overflow:auto}
.af-card .g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.af-card .g2{grid-template-columns:1fr}}
select.input{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808a80' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:15px;padding-right:34px}
select.input:invalid{color:var(--mut)}
select.input option{background:#0f1310;color:var(--txt)}

.fp-mail{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 4px;background:var(--grad-brand)}
.fp-mail svg{width:24px;height:24px;color:#0a0b08}

/* brand kit */
.kit-logo{display:flex;align-items:center;gap:16px;margin-top:6px}
.kit-logo-prev{width:88px;height:88px;flex:0 0 88px;border-radius:14px;border:1px dashed var(--line);background:#0c0f0a center/contain no-repeat;display:grid;place-items:center;color:var(--mut)}
.kit-logo-prev svg{width:22px;height:22px}
.colorinput{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;background:transparent;cursor:pointer;padding:3px}

/* erro inline de auth (no formulário, não toast solto) */
.auth-err{display:none;color:#ff8a8a;background:rgba(255,90,90,.09);border:1px solid rgba(255,90,90,.3);border-radius:10px;padding:9px 12px;font-size:13px;margin-top:12px;line-height:1.4}
.auth-err.show{display:block;animation:obfade .18s ease}

/* estado vazio (telas de conteúdo — IA é phase-2) */
.empty{display:grid;place-items:center;text-align:center;padding:64px 24px;border:1px dashed var(--line);border-radius:18px;background:rgba(255,255,255,.014)}
.empty-ic{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;background:rgba(194,242,97,.08);color:var(--indigo);margin-bottom:16px}
.empty-ic svg{width:24px;height:24px}
.empty h3{font-family:var(--head);font-size:20px;letter-spacing:-.01em;margin:0 0 7px}
.empty p{color:var(--mut);font-size:14px;max-width:440px;margin:0 0 20px;line-height:1.6}

/* estratégia: concorrentes + lacunas */
.conc-row{padding:12px 0;border-bottom:1px solid var(--line)}
.conc-row:last-child{border-bottom:0;padding-bottom:0}
.conc-name{font-weight:600;font-size:14px}
.conc-gap{color:var(--mut);font-size:13px;margin-top:4px;line-height:1.5}
.lac-row{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:13.5px;color:var(--txt2);line-height:1.5}
.lac-row svg{width:15px;height:15px;flex:0 0 15px;color:var(--indigo);margin-top:3px}

/* voz colunas + concorrentes com logo */
.voz-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:14px}
@media(max-width:640px){.voz-cols{grid-template-columns:1fr;gap:14px}}
.vlbl{font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:8px}
.vlbl.ok{color:var(--indigo)}.vlbl.no{color:#ff8a8a}
.vrow{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--txt2);padding:4px 0;line-height:1.45}
.vrow i{font-style:normal;font-weight:700;flex:0 0 auto}.vrow .vok{color:var(--indigo)}.vrow .vno{color:#ff8a8a}
.conc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
@media(max-width:760px){.conc-grid{grid-template-columns:1fr}}
.alim-card{border:1px solid color-mix(in srgb,var(--indigo) 28%,transparent)}
.apr-banner{border:1px solid color-mix(in srgb,var(--indigo) 40%,transparent);background:color-mix(in srgb,var(--indigo) 6%,transparent)}
.alim-sec{margin-top:14px}
.alim-sec .vlbl{color:var(--indigo)}
.alim-item{display:flex;gap:9px;align-items:flex-start;padding:6px 0;font-size:13px;color:var(--txt2);line-height:1.5;cursor:pointer}
.alim-item input{margin-top:3px;flex:0 0 auto;accent-color:var(--indigo);width:15px;height:15px;cursor:pointer}
.alim-item span{min-width:0}
.conc-card{display:flex;gap:12px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.015);transition:border-color .15s}
.conc-card:hover{border-color:rgba(194,242,97,.35)}
.conc-logo{width:40px;height:40px;flex:0 0 40px;border-radius:10px;background:#fff;display:grid;place-items:center;overflow:hidden;position:relative}
.conc-logo::after{content:attr(data-ini);font-family:var(--head);font-weight:700;color:#0a0b08;font-size:17px}
.conc-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;padding:5px}

/* paleta de cores da marca */
.palette{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.swatch{position:relative}
.swatch .colorinput{width:60px}
.sw-x{position:absolute;top:-7px;right:-7px;width:18px;height:18px;border-radius:50%;border:1px solid var(--bg);background:#3a3a3a;color:#fff;font-size:12px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.sw-add{height:42px;padding:0 16px;border:1px dashed var(--line);border-radius:10px;background:transparent;color:var(--mut);cursor:pointer;font-size:13px}
.sw-add:hover{color:var(--txt);border-color:var(--mut)}

/* avatar da marca com logo */
.brandsw .av,.brandmenu .bi .av{position:relative;overflow:hidden}
.brandsw .av::after,.brandmenu .bi .av::after{content:attr(data-ini)}
.brandsw .av img,.brandmenu .bi .av img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;padding:2px}
/* paleta refinada */
.palette{gap:14px}
.swatch .colorinput{width:54px;height:46px;border-radius:10px;cursor:pointer}
.sw-x{top:-6px;right:-6px;width:17px;height:17px;border:2px solid var(--bg);background:#444}
.sw-x:hover{background:#e05555}
.sw-add{height:46px}

/* paleta — alinhamento limpo (override) */
.palette{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding-top:8px}
.swatch{position:relative;width:54px;height:46px}
.swatch .colorinput{width:54px;height:46px;border-radius:10px;border:1px solid rgba(255,255,255,.12);padding:0;cursor:pointer;background:none;display:block}
.colorinput::-webkit-color-swatch-wrapper{padding:0}
.colorinput::-webkit-color-swatch{border:none;border-radius:9px}
.colorinput::-moz-color-swatch{border:none;border-radius:9px}
.sw-x{position:absolute;top:-7px;right:-7px;width:18px;height:18px;border-radius:50%;border:2px solid var(--bg);background:#444;color:#fff;font-size:11px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;z-index:2}
.sw-x:hover{background:#e05555}
.sw-add{height:46px;padding:0 16px;border:1px dashed var(--line);border-radius:10px;background:transparent;color:var(--mut);cursor:pointer;font-size:13px;align-self:center}
.sw-add:hover{color:var(--txt);border-color:var(--mut)}

/* canais — cards de rede social */
.net-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.net-card{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.015);cursor:pointer;transition:border-color .15s,background .15s;text-decoration:none;color:inherit}
.net-card:hover{border-color:var(--line2);background:rgba(255,255,255,.05)}
.net-card.on{border-color:rgba(124,242,97,.32)}
.net-logo{width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:rgba(255,255,255,.06);display:grid;place-items:center;position:relative;overflow:hidden}
.net-logo::after{content:attr(data-ini);font-weight:700;color:var(--mut);font-size:15px}
.net-logo img{position:absolute;width:21px;height:21px}
.net-bd{min-width:0;flex:1}
.net-name{font-weight:600;font-size:14px}
.net-sub{font-size:12px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.net-card.on .net-sub{color:#a7e06a}
.net-dot{width:9px;height:9px;border-radius:50%;background:#3a3a3a;flex:0 0 9px}
.net-dot.on{background:#7CF261;box-shadow:0 0 8px rgba(124,242,97,.55)}

/* canais — logo branco no tile da cor da marca */
.net-logo::after{color:rgba(255,255,255,.92)}
.net-logo img{width:20px;height:20px}
.net-logo svg{width:19px;height:19px;display:block}

/* canais — corrige empilhamento (logo cobre a letra de fallback) */
.net-logo::after{position:absolute;inset:0;display:grid;place-items:center;z-index:0}
.net-logo img,.net-logo svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:22px;height:22px;z-index:1}

/* canais — remove a letra de fallback que vazava atrás do logo branco */
.net-logo::after{display:none!important;content:none!important}

/* ===== MyPostFlow-style: carrossel HTML (templates + editor) ===== */
.cwrap{--acc:#C8FF4D}
.sld{width:1080px;height:1350px;position:relative;overflow:hidden;font-family:'Inter',sans-serif;color:#fff;background:#0d1117}
.sld *{box-sizing:border-box}
.sld .pad{position:absolute;inset:0;padding:80px 76px;display:flex;flex-direction:column;justify-content:space-between}
.sld .top{display:flex;justify-content:space-between;align-items:center;font-size:30px;color:#8b93a1;font-weight:500}
.sld .h{font-family:'Archivo',sans-serif;font-weight:900;letter-spacing:-2px;text-transform:uppercase;line-height:.98}
.sld .h.xl{font-size:102px}.sld .h.lg{font-size:78px}
.sld .sub{font-family:'Inter';font-weight:500;font-size:34px;color:#aeb6bd;margin-top:24px;line-height:1.34}
.sld .foot{display:flex;justify-content:space-between;align-items:flex-end;font-size:28px;color:#7c8490;font-weight:500}
.sld .num{font-family:'Archivo';font-weight:800;font-size:34px;color:#8b93a1}
.sld .bar{width:90px;height:10px;border-radius:5px;background:var(--acc);margin-bottom:26px}
.sld .pill{display:inline-block;background:var(--acc);color:#0a0d12;font-family:'Archivo';font-weight:800;font-size:30px;padding:20px 40px;border-radius:100px}
.sld [contenteditable]{outline:none}
/* MINIMAL — fundo claro, texto escuro, sentence-case, chip branco */
.sld.minimal{background:radial-gradient(125% 95% at 50% 8%,#ffffff 0%,#f0f0ee 78%,#e7e7e4 100%);color:#16181c}
.sld.minimal .pad{padding:78px 72px}
.sld.minimal .top{color:#9aa0a6;font-size:28px;font-weight:500}
.sld.minimal .mid{margin-top:auto;margin-bottom:auto}
.sld.minimal .chip{display:inline-flex;align-items:center;gap:13px;align-self:flex-start;background:#fff;border:1px solid #e6e8ec;color:#16181c;padding:13px 26px 13px 18px;border-radius:100px;font-size:30px;font-weight:600;margin-bottom:36px;box-shadow:0 8px 22px rgba(20,22,28,.10)}
.sld.minimal .chip .ic{width:38px;height:38px;border-radius:50%;background:#eef0f3;display:flex;align-items:center;justify-content:center;color:#9aa0a6}
.sld.minimal .h{font-family:'Outfit',sans-serif;font-weight:700;font-size:106px;letter-spacing:-3.5px;text-transform:none;line-height:.98;color:#16181c}
.sld.minimal .sub{color:#6b7178;font-size:33px;margin-top:28px;font-weight:400}
.sld.minimal .foot{color:#9aa0a6;font-size:27px;font-weight:500}
/* PROFILE — card branco estilo X/Twitter */
.sld.profile{background:#ffffff;color:#0f1419}
.sld.profile .pad{justify-content:center;padding:90px 84px}
.sld.profile .tw{display:flex;flex-direction:column;background:none;border:0;box-shadow:none;padding:0;backdrop-filter:none}
.sld.profile .who{display:flex;align-items:flex-start;gap:22px;margin-bottom:34px}
.sld.profile .av{width:80px;height:80px;border-radius:50%;background:#e7e9ea;display:flex;align-items:center;justify-content:center;font-size:40px;color:#8a8f94;overflow:hidden;flex:0 0 auto}
.sld.profile .av img{width:100%;height:100%;object-fit:cover}
.sld.profile .nm{font-family:'Inter';font-weight:700;font-size:40px;display:flex;align-items:center;gap:11px;color:#0f1419;line-height:1.15}
.sld.profile .vf{width:38px;height:38px;flex:0 0 auto}
.sld.profile .hd{font-size:30px;color:#536471;font-weight:400;margin-top:3px}
.sld.profile .ptext{font-family:'Inter';font-weight:400;font-size:40px;line-height:1.5;color:#0f1419}
.sld.profile .ptext+.ptext{margin-top:30px}
.sld.profile .ptext b{color:#1d9bf0;font-weight:400}
.sld.profile .img{margin-top:30px;height:420px;border-radius:24px;background:#f0f3f5;display:flex;align-items:center;justify-content:center;color:#8a9098;font-size:28px;border:1px solid #e1e8ed;overflow:hidden}
.sld.profile .img img{width:100%;height:100%;object-fit:cover}
/* CREATORS — fundo escuro, palavras em gradiente laranja, CTA branco, centrado */
.sld.creators{background:radial-gradient(68% 42% at 50% 44%,rgba(245,165,60,.16),rgba(245,165,60,0) 72%),linear-gradient(178deg,#1a1c22 0%,#121318 55%,#0c0d11 100%)}
.sld.creators .pg{position:absolute;top:52px;left:76px;right:76px;display:flex;gap:14px;z-index:2}
.sld.creators .pg i{flex:1;height:7px;border-radius:4px;background:rgba(255,255,255,.20)}
.sld.creators .pg i.on{background:#fff}
.sld.creators .pad{justify-content:center;align-items:center;text-align:center}
.sld.creators .h{font-family:'Archivo';font-weight:800;font-size:82px;text-transform:uppercase;line-height:1.06;letter-spacing:-1px;text-align:center;color:#fff}
.sld.creators .h em{font-style:normal;background:linear-gradient(175deg,#ffd270,#f5951f);-webkit-background-clip:text;background-clip:text;color:transparent}
.sld.creators .sub{text-align:center;color:rgba(255,255,255,.7)}
.sld.creators .cta{display:inline-block;background:#fff;color:#15171c;padding:18px 36px;border-radius:100px;font-family:'Archivo';font-weight:700;font-size:25px;letter-spacing:.5px;margin-top:44px;text-transform:uppercase}
.sld.creators .foot{position:absolute;left:76px;right:76px;bottom:78px;display:flex;justify-content:space-between;color:rgba(255,255,255,.55);font-size:26px;font-weight:500}
/* TECHVIRAL — marca-texto prata, fundo escuro */
.sld.techviral{background:radial-gradient(60% 42% at 40% 64%,rgba(140,165,205,.20),rgba(140,165,205,0) 70%),radial-gradient(120% 80% at 70% 6%,#1b2330,#0c1016 60%,#080a0e 100%)}
.sld.techviral .mid{margin-top:auto}
.sld.techviral .foot-l{display:flex;flex-direction:column;gap:4px;line-height:1.2}
.sld.techviral .h mark{background:linear-gradient(180deg,#cfd6dd,#aab2bb);color:#0a0d12;padding:0 12px;border-radius:6px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
/* MAGAZINE — branco, preto, ghost EDIT cinza preenchido (editorial) */
.sld.magazine{background:#fdfcfa;color:#16140f}
.sld.magazine .pad{padding:64px 60px}
.sld.magazine .pad::after{content:"";position:absolute;inset:32px;border:1.5px solid #e2dfd6;pointer-events:none}
.sld.magazine .kick{display:flex;justify-content:space-between;align-items:center;font-family:'Inter';font-size:25px;letter-spacing:.16em;text-transform:uppercase;color:#9a9488;font-weight:600;padding-bottom:24px;border-bottom:1.5px solid #e4e1d9}
.sld.magazine .mid{margin-top:40px;margin-bottom:auto}
.sld.magazine .ghost{font-family:'Archivo';font-weight:900;font-size:132px;letter-spacing:-3px;color:#e8e5dd;line-height:.8;text-transform:uppercase;margin-bottom:4px}
.sld.magazine .h{font-family:'Archivo';font-weight:800;font-size:116px;letter-spacing:-3px;line-height:.94;text-transform:uppercase;color:#16140f}
.sld.magazine .sub{color:#857f76;font-size:32px;margin-top:30px;line-height:1.4}
.sld.magazine .mfoot{display:flex;justify-content:space-between;font-family:'Inter';font-size:24px;letter-spacing:.13em;text-transform:uppercase;color:#857f76;font-weight:500;padding-top:24px;border-top:1.5px solid #e4e1d9}
/* AESTHETIC — creme/marfim, serif itálico no acento, ghost 04 */
.sld.aesthetic{background:#f1ece1;color:#272320}
.sld.aesthetic .pad{padding:70px 74px;justify-content:flex-start}
.sld.aesthetic .atop{position:relative;z-index:1;text-align:center;font-family:'Inter';font-size:26px;letter-spacing:.32em;text-transform:uppercase;color:#9b9384;font-weight:600;margin-bottom:30px}
.sld.aesthetic .deco{position:absolute;top:-150px;right:-150px;width:540px;height:540px;border-radius:50%;border:2px solid #d3c9b4;z-index:0}
.sld.aesthetic .deco::before{content:"";position:absolute;inset:74px;border-radius:50%;border:2px solid #d3c9b4}
.sld.aesthetic .deco::after{content:"";position:absolute;inset:148px;border-radius:50%;border:2px solid #d3c9b4}
.sld.aesthetic .mid{position:relative;margin-top:34px}
.sld.aesthetic .anum{position:absolute;top:-66px;left:-4px;font-family:'Archivo';font-weight:800;font-size:176px;line-height:.8;color:#ddd6c6;z-index:0}
.sld.aesthetic .h{position:relative;z-index:1;font-family:'Outfit',sans-serif;font-weight:500;font-size:116px;line-height:1.04;letter-spacing:-2px;color:#272320;text-transform:none}
.sld.aesthetic .h em{font-family:'Playfair Display',serif;font-style:italic;font-weight:500}
.sld.aesthetic .sub{color:#6f675c;font-size:31px;margin-top:30px;line-height:1.42;font-weight:400}
.sld.aesthetic .aphoto{margin-top:42px;height:300px;border:1px solid #d6cdbc;border-radius:6px;background:#e6dfcf;display:flex;align-items:center;justify-content:center;color:#a89f8c;font-size:26px;letter-spacing:.12em;box-shadow:0 14px 34px rgba(39,35,32,.07)}
.sld.aesthetic .afoot{position:absolute;left:74px;right:74px;bottom:70px;display:flex;justify-content:space-between;font-family:'Inter';font-size:26px;letter-spacing:.15em;text-transform:uppercase;color:#8c8270;font-weight:500}
/* editor: faixa de slides escalados */
.cstrip{display:flex;gap:18px;overflow-x:auto;padding:12px 2px 18px;scroll-snap-type:x mandatory}
.sframe{flex:0 0 auto;border-radius:18px;overflow:hidden;border:2px solid transparent;cursor:pointer;scroll-snap-align:center;background:#05070a}
.sframe.sel{border-color:var(--acc)}
.sframe .sld{transform-origin:top left}
/* galeria de templates */
.hd-l{display:flex;align-items:center;gap:13px}
.hd-ic{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#c2f261,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#0c0e13;flex:0 0 auto}
.hd-ic svg{width:23px;height:23px;stroke-width:2}
.content:has(.tpl-grid){max-width:1640px}
.tpl-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media(max-width:1180px){.tpl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.tpl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}  /* 2 colunas no celular, igual Publicações */
.tpl-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card);display:flex;flex-direction:column}
.tpl-prev{position:relative;overflow:hidden;background:#05070a;aspect-ratio:1080/1350}
.tpl-prev .sld{position:absolute;top:0;left:0;transform-origin:top left}
.tpl-prev-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tpl-bd{padding:15px 16px 16px;display:flex;flex-direction:column;flex:1}
.tpl-bd .btn{margin-top:auto}
.tpl-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.02em;padding:3px 9px;border-radius:100px;background:color-mix(in srgb,var(--acc,#C8FF4D) 16%,transparent);color:var(--acc,#C8FF4D);vertical-align:middle}
.tpl-badge.soon{background:rgba(148,163,184,.16);color:#94a3b8}
.tpl-card.soon .tpl-prev{opacity:.5;filter:grayscale(.35)}
.tpl-card.soon .btn[disabled]{opacity:.55;cursor:not-allowed;background:transparent;border:1px solid var(--line);color:var(--muted,#94a3b8)}
.tpl-tt{display:flex;align-items:center;gap:9px}
.tpl-nm{font-family:var(--head,'Archivo');font-size:17px;font-weight:700}
.tpl-dots{display:inline-flex;gap:5px;align-items:center;margin-left:auto}
.tpl-dots i{width:6px;height:6px;border-radius:3px;background:#34343e}
.tpl-dots i.on{width:16px;background:var(--acc,#C8FF4D)}
.tpl-ds{font-size:13px;color:var(--muted,#8a8a96);margin:8px 0 14px;line-height:1.5}
.tpl-soon{width:100%;gap:7px;background:#1a1a22;color:#7f818c;border:1px solid var(--line);cursor:not-allowed}
/* Mobile 2-col: título + badge + pontinhos não cabiam numa linha (badge quebrava em 2, pontinho encostava na borda).
   Nome ocupa a 1ª linha; badge (esq) + pontinhos (dir) descem pra 2ª, sem corte. */
@media(max-width:640px){
  .tpl-tt{flex-wrap:wrap;row-gap:6px}
  .tpl-nm{flex:1 1 100%;font-size:16px}
  .tpl-badge{white-space:nowrap;font-size:10px;padding:2px 8px}
  .tpl-bd{padding:13px 13px 15px}
}
/* fila de aprovação */
.content:has(#fila-wrap){max-width:none}   /* fila ocupa a tela toda (o cap de 1240 deixava vazio à direita) */
.content:has(.tr2){max-width:none}   /* Trends ocupa a tela toda (o cap deixava vazio à direita) */
/* ---- Trends ---- */
.tr-sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:6px 0 16px;flex-wrap:wrap}
.tr-h{font-size:20px}
.tr-sub{color:var(--mut);font-size:13px;margin:3px 0 0}
.tr-search{display:flex;align-items:center;gap:11px;margin:0 0 16px;padding:0 16px;height:52px;border:1px solid var(--line);border-radius:14px;background:var(--glass);transition:var(--ease)}
.tr-search:focus-within{border-color:rgba(var(--p-rgb),.55);box-shadow:0 0 0 3px rgba(var(--p-rgb),.13)}
.tr-search svg{width:19px;height:19px;color:var(--mut);flex:0 0 auto}
.tr-search input{flex:1;border:0;background:transparent;outline:0;color:var(--txt);font-family:inherit;font-size:15px}
.tr-search input::placeholder{color:var(--mut)}
.tr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.tr-card{display:flex;flex-direction:column;gap:11px;border:1px solid var(--line);border-radius:16px;background:var(--glass);padding:17px 18px;transition:var(--ease)}
.tr-card:hover{border-color:var(--line2);transform:translateY(-2px);box-shadow:0 24px 50px -30px rgba(var(--p-rgb),.34)}
.tr-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tr-src{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--txt2)}
.tr-dot{width:7px;height:7px;border-radius:50%;background:var(--indigo);box-shadow:0 0 8px rgba(var(--p-rgb),.7);flex:0 0 auto}
.tr-time{font-size:12px;color:var(--mut);white-space:nowrap}
.tr-chip{display:inline-flex;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:4px 9px;border-radius:999px;background:rgba(var(--p-rgb),.12);border:1px solid rgba(var(--p-rgb),.35);color:color-mix(in srgb,var(--indigo),#fff 55%)}
.tr-score{font-size:12px;font-weight:700;color:var(--indigo);font-variant-numeric:tabular-nums}
.tr-title{font-family:var(--head);font-size:16px;line-height:1.34;color:var(--txt);flex:1}
.tr-ang{font-size:13px;line-height:1.5;color:var(--txt2)}
.tr-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}
.tr-link{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--txt2);text-decoration:none}
.tr-link:hover{color:var(--txt)}
.tr-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:44px 20px;border:1px dashed var(--line2);border-radius:18px;color:var(--txt2)}
.tr-empty>svg{width:30px;height:30px;color:var(--indigo);margin-bottom:4px}   /* SÓ o ícone grande; o svg do botão herda a cor do .btn */
.tr-empty h3{font-size:17px;color:var(--txt)} .tr-empty p{font-size:13.5px;max-width:420px;margin:0 0 6px}
.tr-presets{display:flex;flex-wrap:wrap;gap:8px}
.tr-preset{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--glass);color:var(--txt);font-size:13px;font-weight:600;cursor:pointer;transition:var(--ease)}
.tr-preset:hover{border-color:rgba(var(--p-rgb),.55);background:rgba(var(--p-rgb),.10)}
.tr-cfg-list{display:flex;flex-direction:column;gap:8px}
.tr-cfg-row{display:flex;gap:8px;align-items:center}
.tr-cfg-row .input:first-child{max-width:150px}
.tr-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:var(--r-sm);background:rgba(12,14,20,.7)}
.tr-tag{display:inline-flex;align-items:center;gap:5px;font-size:13px;padding:5px 6px 5px 11px;border-radius:999px;background:rgba(var(--p-rgb),.12);border:1px solid rgba(var(--p-rgb),.32);color:var(--txt)}
.tr-tag button{display:inline-flex;border:0;background:transparent;color:var(--txt2);cursor:pointer;padding:0}
.tr-tag button svg{width:13px;height:13px}
.tr-tag button:hover{color:var(--txt)}
.tr-tag-in{flex:1;min-width:120px;border:0;background:transparent;color:var(--txt);font-size:13.5px;padding:5px}
.tr-tag-in:focus{outline:none;box-shadow:none}
@media(max-width:720px){.tr-grid{grid-template-columns:1fr}.tr-cfg-row .input:first-child{max-width:120px}}
/* ==== Trends v2 — duas colunas (Ideias hero | Notícias feed) ==== */
.tr2-tabs{display:none;gap:8px;margin:0 0 18px}
.tr2-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--glass);color:var(--txt2);font-weight:600;font-size:13.5px;cursor:pointer;transition:var(--ease)}
.tr2-tab svg{width:17px;height:17px}
.tr2-tab.on{border-color:rgba(var(--p-rgb),.55);background:rgba(var(--p-rgb),.10);color:var(--txt)}
.tr2-cols{display:grid;grid-template-columns:1.1fr .9fr;gap:0;align-items:start}
.tr2-col{min-width:0}
.tr2-news{border-left:1px solid var(--line);padding-left:60px}   /* divisor claro + respiro entre as colunas */
.tr2-ideas{padding-right:60px}
.tr2-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:2px 0 20px;flex-wrap:wrap}
.tr2-t{font-size:19px;font-family:var(--head)}
.tr2-sub{color:var(--mut);font-size:12.5px;margin:4px 0 0}
.tr2-search{margin-bottom:18px}
/* Ideias — cards leves com só um toque de destaque (o botão) */
.tr2-ideas-list{display:flex;flex-direction:column;gap:18px}
.tr2-idea{position:relative;border:1px solid var(--line);border-left:2px solid rgba(var(--p-rgb),.5);border-radius:16px;background:var(--card);padding:20px 22px;display:flex;flex-direction:column;gap:12px;transition:var(--ease)}
.tr2-idea:hover{border-color:var(--line2);transform:translateY(-3px);box-shadow:0 26px 54px -32px rgba(0,0,0,.75)}
.tr2-idea-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tr2-cat{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--txt2)}
.tr2-match{flex:0 0 auto;font-size:11px;font-weight:700;color:var(--txt2);background:rgba(255,255,255,.04);border:1px solid var(--line);padding:3px 9px;border-radius:999px;font-variant-numeric:tabular-nums}
.tr2-idea-t{font-family:var(--head);font-size:17.5px;line-height:1.38;color:var(--txt)}
.tr2-idea-ang{font-size:13.5px;line-height:1.55;color:var(--txt2);position:relative;padding-left:19px}
.tr2-idea-ang::before{content:'↳';position:absolute;left:0;top:-1px;color:var(--mut);font-weight:700}
.tr2-idea-foot{display:flex;justify-content:flex-end;margin-top:auto;padding-top:14px}
/* chips de filtro por categoria estratégica */
.tr2-chips{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 18px}
.tr2-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--glass);color:var(--txt2);font-size:13px;font-weight:600;cursor:pointer;transition:var(--ease)}
.tr2-chip:hover{border-color:var(--line2);color:var(--txt)}
.tr2-chip.on{border-color:rgba(var(--p-rgb),.55);background:rgba(var(--p-rgb),.12);color:var(--txt)}
/* filtro de período das Notícias — Hoje / Ontem / Últimos 7 dias */
.tr-per-bar{display:flex;flex-wrap:wrap;gap:9px;margin:-2px 0 18px}
.tr-per{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border:1px solid var(--line);border-radius:999px;background:var(--glass);color:var(--txt2);font-size:13px;font-weight:600;cursor:pointer;transition:var(--ease)}
.tr-per:hover{border-color:var(--line2);color:var(--txt)}
.tr-per.on{border-color:rgba(var(--p-rgb),.55);background:rgba(var(--p-rgb),.12);color:var(--txt)}
.tr-per-n{font-size:11.5px;font-weight:700;padding:1px 7px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--txt2)}
.tr-per.on .tr-per-n{background:rgba(var(--p-rgb),.22);color:var(--txt)}
.tr2-chip-n{font-size:11px;font-weight:700;color:var(--mut);background:rgba(255,255,255,.05);border-radius:999px;padding:1px 7px;min-width:20px;text-align:center;font-variant-numeric:tabular-nums}
.tr2-chip.on .tr2-chip-n{color:color-mix(in srgb,var(--indigo),#fff 40%);background:rgba(var(--p-rgb),.18)}
/* carregamento das ideias — skeleton realista (os cards parecem se materializar) */
.tr2-genbar{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--txt2);background:rgba(var(--p-rgb),.08);border:1px solid rgba(var(--p-rgb),.25);padding:9px 15px;border-radius:999px;margin:0 0 18px}
.tr2-genbar b{color:var(--line2);margin:0 -1px}
.tr2-gensec{color:var(--mut);font-weight:600}
.tr2-gendot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--indigo);box-shadow:0 0 10px rgba(var(--p-rgb),.9);animation:trpulse 1.1s ease-in-out infinite}
.tr2-skel-card{border:1px solid var(--line);border-left:2px solid rgba(var(--p-rgb),.35);border-radius:16px;background:var(--card);padding:20px 22px;display:flex;flex-direction:column;gap:13px}
.tr2-skel-card .sk{position:relative;overflow:hidden;border-radius:7px;background:rgba(255,255,255,.05)}
.tr2-skel-card .sk::after{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.10) 50%,transparent 80%);animation:trsweep 1.3s linear infinite}
.sk-top{display:flex;justify-content:space-between;align-items:center}
.sk-chip{width:78px;height:13px}
.sk-match{width:40px;height:20px;border-radius:999px}
.sk-t{height:16px;width:92%}
.sk-t2{width:64%}
.sk-l{height:12px;width:88%}
.sk-l2{width:50%}
.sk-foot{display:flex;justify-content:flex-end;margin-top:8px}
.sk-btn{width:140px;height:34px;border-radius:12px}
.btn-spin{display:inline-block;width:13px;height:13px;border-radius:50%;border:2px solid rgba(0,0,0,.28);border-top-color:currentColor;animation:trspin .7s linear infinite;vertical-align:-2px;margin-right:2px}
@keyframes trspin{to{transform:rotate(360deg)}}
@keyframes trpulse{0%,100%{opacity:.35;transform:scale(.75)}50%{opacity:1;transform:scale(1.15)}}
@keyframes trsweep{to{transform:translateX(100%)}}
/* ===== Comando inteligente (modal de progresso agêntico) ===== */
.cmd-card{width:min(500px,94vw);padding:26px 26px 24px;border-radius:20px;animation:obUp .25s ease}
.cmd-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}
.cmd-h-ic{flex:0 0 auto;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(var(--p-rgb),.14);border:1px solid rgba(var(--p-rgb),.3);color:var(--indigo)}
.cmd-h-ic svg{width:21px;height:21px}
.cmd-h-t b{font-family:var(--head);font-size:17px}
.cmd-h-t p{margin:3px 0 0}
.cmd-steps{display:flex;flex-direction:column;gap:3px}
.cmd-step{display:flex;align-items:center;gap:12px;padding:11px 4px;font-size:14px;color:var(--mut);transition:color .2s}
.cmd-step svg{width:18px;height:18px;color:var(--indigo);flex:0 0 auto}
.cmd-step.active{color:var(--txt);font-weight:600}
.cmd-step.done{color:var(--txt2)}
.cmd-step .btn-spin{border-color:rgba(var(--p-rgb),.3);border-top-color:var(--indigo);width:16px;height:16px;margin:0}
.cmd-dot{width:7px;height:7px;border-radius:50%;background:var(--line2);margin:0 5px;flex:0 0 auto}
.cmd-err{display:flex;align-items:center;gap:10px;margin-top:14px;padding:13px 15px;border-radius:12px;background:rgba(255,90,90,.08);border:1px solid rgba(255,90,90,.25);color:#ffb4b4;font-size:13.5px}
.cmd-err svg{width:17px;height:17px;flex:0 0 auto}
.cmd-err button{margin-left:auto}
/* Loading premium (Post único / geração): barra varrendo + ícone com glow + status vivo */
@keyframes cmdSweep{0%{transform:translateX(-110%)}100%{transform:translateX(370%)}}
@keyframes cmdGlow{0%,100%{box-shadow:0 0 0 0 rgba(var(--p-rgb),0),0 0 16px rgba(var(--p-rgb),0)}50%{box-shadow:0 0 0 5px rgba(var(--p-rgb),.10),0 0 26px rgba(var(--p-rgb),.42)}}
@keyframes cmdBlink{0%,100%{opacity:.3}50%{opacity:1}}
.cmd-h-ic.live{animation:cmdGlow 1.9s ease-in-out infinite}
.cmd-bar{position:relative;height:5px;border-radius:99px;background:rgba(var(--p-rgb),.12);overflow:hidden;margin-top:4px}
.cmd-bar i{position:absolute;left:0;top:0;height:100%;width:30%;border-radius:99px;background:linear-gradient(90deg,transparent,rgb(var(--p-rgb)),transparent);animation:cmdSweep 1.15s cubic-bezier(.4,0,.2,1) infinite}
.cmd-status{margin-top:13px;font-size:13.5px;color:var(--mut);display:flex;align-items:center;gap:9px;min-height:18px}
.cmd-status .dot{width:7px;height:7px;border-radius:50%;background:rgb(var(--p-rgb));box-shadow:0 0 9px rgba(var(--p-rgb),.85);flex:0 0 auto;animation:cmdBlink 1.1s ease-in-out infinite}
.cmd-status .lbl{transition:opacity .22s ease}
/* Notícias — feed de imprensa com respiro */
.tr2-news-list{display:flex;flex-direction:column}
.tr2-nrow{display:flex;gap:14px;padding:18px 4px;border-bottom:1px solid var(--line);transition:var(--ease)}
.tr2-nrow:first-child{padding-top:4px}
.tr2-nrow:last-child{border-bottom:0}
.tr2-fav{flex:0 0 auto;width:36px;height:36px;border-radius:9px;background:var(--glass);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:700;font-size:13px;color:var(--txt2)}
.tr2-fav img{width:20px;height:20px;border-radius:4px}
.tr2-nbody{min-width:0;flex:1;display:flex;flex-direction:column;gap:7px}
.tr2-nmeta{font-size:12px;color:var(--mut);display:flex;gap:6px;align-items:center}
.tr2-nmeta b{color:var(--txt2);font-weight:700}
.tr2-ntitle{font-size:14.5px;line-height:1.45;color:var(--txt);font-weight:500}
.tr2-nact{display:flex;align-items:center;gap:16px;margin-top:4px}
.tr2-nlink{font-size:12.5px;color:var(--txt2);text-decoration:none}
.tr2-nlink:hover{color:var(--txt)}
.tr2-ngen{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;color:var(--txt2);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:color .12s}
.tr2-ngen svg{width:15px;height:15px}
.tr2-ngen:hover{color:var(--indigo)}
/* modo ABAS — seletor no topo, uma seção por vez em largura total, cards em grade */
.tr2-tabs-mode .tr2-tabs{display:flex;max-width:520px}
.tr2-tabs-mode .tr2-cols{grid-template-columns:1fr;gap:0}
.tr2-tabs-mode .tr2-news{border-left:0;padding-left:0}
.tr2-tabs-mode .tr2-ideas{padding-right:0}
.tr2-tabs-mode.show-ideas .tr2-news{display:none}
.tr2-tabs-mode.show-news .tr2-ideas{display:none}
.tr2-tabs-mode .tr2-ideas-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(370px,1fr));gap:16px}
.tr2-tabs-mode .tr2-news-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}
.tr2-tabs-mode .tr2-nrow{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:16px 17px;align-items:flex-start}
.tr2-tabs-mode .tr2-nrow:last-child{border-bottom:1px solid var(--line)}
.tr2-tabs-mode .tr2-nrow:hover{background:var(--card);border-color:var(--line2)}
@media(max-width:1150px){
  .tr2-tabs{display:flex}
  .tr2-cols{grid-template-columns:1fr}
  .tr2-news{border-left:0;padding-left:0}
  .tr2-ideas{padding-right:0}
  .tr2.show-ideas .tr2-news{display:none}
  .tr2.show-news .tr2-ideas{display:none}
  .tr2-tabs-mode .tr2-ideas-list,.tr2-tabs-mode .tr2-news-list{grid-template-columns:1fr}
}
/* ---- Wizard de geração ---- */
.gen-card{width:min(600px,96vw)}
.gen-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding-right:36px}
.gen-head-ic{width:48px;height:48px;flex:0 0 auto;border-radius:14px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px -12px rgba(var(--p-rgb),.65)}
.gen-head-ic svg{width:24px;height:24px}
.gen-head-t h2{font-family:var(--head);font-size:21px;margin:0;letter-spacing:-.01em}
.gen-head-t p{margin:2px 0 0;font-size:13.5px}
.gen-prog-row{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.gen-prog{flex:1;height:6px;border-radius:6px;background:var(--line);overflow:hidden}
.gen-prog-fill{display:block;height:100%;width:0;border-radius:6px;background:var(--grad);box-shadow:0 0 10px -1px rgba(var(--p-rgb),.55);transition:width .42s cubic-bezier(.25,.9,.25,1)}
.gen-prog-n{font-size:12.5px;color:var(--mut);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.gen-body{min-height:200px;max-height:54vh;overflow-y:auto;overflow-x:hidden;margin:0 -6px;padding:2px 6px}
.gen-body::-webkit-scrollbar{width:7px}.gen-body::-webkit-scrollbar-thumb{background:var(--line2);border-radius:8px}
.gen-actions{display:flex;align-items:center;gap:10px;margin-top:22px}
.gen-main{flex:1;justify-content:center;padding:14px 20px;font-size:15px}
.gen-back{flex:0 0 auto}
/* Estado "Montando seu carrossel": barra indeterminada + ícone pulsando + estágio que cicla + timer.
   Substitui o botão "Gerando…" estático (que parecia travado). */
.gen-prog.gen-prog-anim{position:relative}
.gen-prog.gen-prog-anim .gen-prog-fill{width:38%;transition:none;animation:genIndet 1.25s cubic-bezier(.55,0,.45,1) infinite}
@keyframes genIndet{0%{margin-left:-40%}100%{margin-left:104%}}
.gen-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:15px;padding:30px 16px;min-height:200px}
.gen-load-ic{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:rgba(var(--p-rgb),.12);color:var(--indigo);animation:genPulse 1.8s ease-in-out infinite}
.gen-load-ic svg{width:30px;height:30px}
.gen-load-stage{font-family:var(--head);font-weight:600;font-size:16px;color:var(--txt);max-width:340px;line-height:1.4}
.gen-load-meta{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--mut);font-weight:600;font-variant-numeric:tabular-nums}
.gen-load-dot{width:8px;height:8px;border-radius:50%;background:var(--indigo);box-shadow:0 0 10px rgba(var(--p-rgb),.9);animation:trpulse 1.1s ease-in-out infinite}
@keyframes genPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(var(--p-rgb),.32)}50%{transform:scale(1.06);box-shadow:0 0 0 12px rgba(var(--p-rgb),0)}}
.gen-fmts,.gen-imgs{display:flex;flex-direction:column;gap:10px}
.gen-fmt,.gen-imgo{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:var(--glass);color:var(--txt);cursor:pointer;transition:var(--ease)}
.gen-fmt:hover,.gen-imgo:hover{border-color:var(--line2)}
.gen-fmt.sel,.gen-imgo.sel,.gen-num.sel,.gen-style.sel{border-color:rgba(var(--p-rgb),.6);background:rgba(var(--p-rgb),.10)}
.gen-fmt-ic{width:44px;height:44px;flex:0 0 auto;border-radius:12px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center}
.gen-fmt-t{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.gen-fmt-t b{font-size:15px}.gen-fmt-t span{font-size:12.5px;color:var(--txt2)}.gen-fmt-t small{font-size:12px;color:var(--mut)}
.gen-check{margin-left:auto;color:var(--indigo);display:flex;flex:0 0 auto;opacity:0;transition:opacity .2s var(--ease)}
.gen-fmt.sel .gen-check,.gen-imgo.sel .gen-check,.gen-style.sel .gen-check{opacity:1}
.gen-nums{display:flex;gap:8px}
.gen-num{flex:1;padding:12px 0;border:1px solid var(--line);border-radius:12px;background:var(--glass);color:var(--txt);font-weight:700;font-size:16px;cursor:pointer;transition:var(--ease)}
.gen-num:hover{border-color:var(--line2)}
.gen-styles{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.gen-style{position:relative;display:flex;flex-direction:column;padding:0;border:1px solid var(--line);border-radius:13px;background:var(--glass);color:var(--txt);cursor:pointer;overflow:hidden;transition:var(--ease)}
.gen-style:hover{border-color:var(--line2);transform:translateY(-2px)}
.gen-style-prev{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:#0a0b08;display:block}
.gen-style-prev .bp-canvas{position:absolute;top:0;left:0;transform-origin:top left}
.gen-style-nm{padding:9px 6px;text-align:center;font-weight:600;font-size:12.5px}
.gen-style.sel{border-color:rgba(var(--p-rgb),.65);box-shadow:0 0 0 1px rgba(var(--p-rgb),.4)}
.gen-style.sel .gen-style-nm{background:rgba(var(--p-rgb),.12);color:#fff}
.gen-style .gen-check{position:absolute;top:6px;right:6px;margin:0;background:rgba(8,10,7,.78);border-radius:50%;padding:3px;color:var(--indigo)}.gen-style .gen-check svg{width:15px;height:15px;display:block}
.gen-ta{resize:none}
@media(max-width:720px){.gen-styles{grid-template-columns:repeat(2,1fr)}.gen-nums{flex-wrap:wrap}.gen-num{flex:1 1 26%}}
/* galeria de logos (Configurações › Marca) */
.logo-gal{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.logo-tile{position:relative;width:120px;height:88px;border-radius:12px;border:1px solid var(--line);background:#0e1014;overflow:hidden;cursor:pointer;transition:var(--ease);display:flex;align-items:center;justify-content:center}
.logo-tile img{max-width:86%;max-height:76%;object-fit:contain}
.logo-tile:hover{border-color:var(--line2);transform:translateY(-2px)}
.logo-tile.on{border-color:rgb(var(--p-rgb));box-shadow:0 0 0 2px rgba(var(--p-rgb),.35)}
.logo-x{position:absolute;top:5px;right:5px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(10,10,12,.82);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:var(--ease)}
.logo-tile:hover .logo-x{opacity:1}.logo-x svg{width:13px;height:13px}
.logo-badge{text-shadow:var(--halo-verde-leve);position:absolute;bottom:5px;left:5px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--grad);color:#fff;padding:3px 7px;border-radius:6px}
.logo-add{width:120px;height:88px;border-radius:12px;border:1px dashed var(--line2);background:transparent;color:var(--txt2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:12.5px;font-family:var(--body);transition:var(--ease)}
.logo-add:hover{border-color:rgb(var(--p-rgb));color:var(--txt)}
/* Equipe (Configurações › Equipe) */
.invite-box{background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:16px}
.sel-wrap{position:relative}
.sel-wrap select.input{appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer}
.sel-wrap::after{content:'';position:absolute;right:15px;top:50%;width:7px;height:7px;border-right:2px solid var(--txt2);border-bottom:2px solid var(--txt2);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.team-list{display:flex;flex-direction:column;gap:8px}
.team-list .intg{margin:0}
.rolebadge{display:flex;align-items:center;gap:8px;margin:0 4px 10px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;font-size:12.5px;font-weight:600;color:var(--txt2)}
.rolebadge svg{width:15px;height:15px;flex:0 0 auto}
/* mostrar/ocultar senha */
.pw-wrap{position:relative}
.pw-wrap .input{padding-right:46px}
.pw-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--txt2);cursor:pointer;border-radius:8px;transition:var(--ease)}
.pw-eye:hover{color:var(--txt);background:rgba(255,255,255,.05)}
/* disclaimer legal de IA */
.ai-disc{text-align:center;color:var(--mut);font-size:11.5px;line-height:1.5;padding:0 12px}
.fila-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:18px}
@media(max-width:1180px){.fila-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}  /* igual Templates: 2 colunas já a partir de 1180 (fecha o buraco 641–1180) */
.fila-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card)}
.fila-cover{aspect-ratio:4/5;background:#05070a;overflow:hidden;display:flex;align-items:center;justify-content:center;transform:translateZ(0);contain:layout paint}
.fila-cover img{width:100%;height:100%;object-fit:cover}
/* PERF (fim do travamento): nas MINIATURAS (fila + modal) descarta efeitos caros de compositing —
   backdrop-filter/blur reamostram o fundo a cada frame e matam o scroll. Invisíveis na miniatura escalada;
   os posts REAIS (exportação em tamanho cheio) mantêm os efeitos, isto só afeta o preview. */
.fila-cover .bp-canvas *,.fm-slide .bp-canvas *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important}
.fila-bd{padding:13px 14px 14px}
.fila-h{font-weight:600;font-size:14.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ===== Editor (Estúdio visual — Fase 1) ===== */
.editor{position:fixed;inset:0;z-index:7;display:flex;flex-direction:column;background:#0b0c10;color:var(--txt,#f2f2f5);font-family:'Inter',sans-serif}
.ed-top{flex:0 0 auto;height:56px;display:flex;align-items:center;gap:8px;padding:0 14px;background:#0e0f14;border-bottom:1px solid var(--line)}
.ed-logo{display:flex;align-items:center;gap:8px;margin-right:6px}
.ed-logo .logo{font-weight:800;font-size:18px}.ed-studio{color:#8a8a96;font-size:14px;font-weight:500}
.ed-pill{display:inline-block;background:#16171d;border:1px solid var(--line);color:#cfd2d8;border-radius:9px;padding:7px 14px;font-size:13px;font-weight:600;cursor:default}
.ed-sep{width:1px;height:24px;background:var(--line);margin:0 4px}
.ed-ic{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid var(--line);background:#14151b;color:#cfd2d8;cursor:pointer}
.ed-ic:hover{background:#1c1d25}
.ed-navg{display:flex;align-items:center;gap:6px;background:#14151b;border:1px solid var(--line);border-radius:10px;padding:3px}
.ed-navg .ed-ic{border:0;background:transparent;width:30px;height:30px}
.ed-navt{font-size:13px;color:#cfd2d8;padding:0 4px;white-space:nowrap}.ed-navt b{color:#fff}
.ed-add{width:34px;height:34px;border:0;border-radius:9px;background:linear-gradient(135deg,#ff5d5d,#ff7a3d);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.ed-spacer{flex:1}
.ed-top .btn.sm{height:34px;padding:0 12px;font-size:12.5px;gap:6px}
.btn.ghost{background:#14151b;border:1px solid var(--line);color:#cfd2d8}
.ed-top .btn.primary{background:linear-gradient(135deg,#c2f261,#8b5cf6);color:#0c0e13;border:0}
.ed-body{flex:1;display:flex;min-height:0}
.ed-side{width:272px;flex:0 0 auto;overflow-y:auto;padding:14px 14px 30px;background:#0c0d12;border-right:1px solid var(--line)}
.ed-back{display:block;text-align:center;color:#8a8a96;font-size:13px;text-decoration:none;padding:6px 0 12px}
.ed-back:hover{color:#cfd2d8}
.ed-refino-card{margin:4px 0 16px;padding:13px 13px 14px;border-radius:13px;border:1px solid rgba(194,242,97,.42);background:linear-gradient(180deg,rgba(194,242,97,.11),rgba(194,242,97,.03));box-shadow:0 6px 22px rgba(0,0,0,.28)}
.ed-refino-top{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.ed-refino-ic{flex:0 0 auto;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--acc,#C8FF4D);color:#0a0d12}
.ed-refino-t{font-weight:800;font-size:14px;color:#fff;letter-spacing:.01em;line-height:1.1}
.ed-refino-s{font-size:11.5px;color:#9a9ba4;margin-top:3px;line-height:1.35}
.ed-refino-card textarea{width:100%;box-sizing:border-box}
.ed-grp{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:#5f6069;font-weight:600;margin:18px 0 8px;padding:0 2px}
.ed-pan{margin-bottom:8px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#111118}
.ed-pan.open{border-color:rgba(194,242,97,.35)}
.ed-h{display:flex;align-items:center;gap:11px;padding:13px 13px;cursor:pointer;user-select:none}
.ed-pic{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#c2f261,#8b5cf6);flex:0 0 auto}
.ed-pl{font-size:13.5px;font-weight:600;color:#e7e8ec}
.ed-chev{margin-left:auto;color:#6a6a76;display:inline-flex;transition:transform .15s}
.ed-pan.open .ed-chev{transform:rotate(90deg)}
.ed-bd{padding:2px 13px 14px}
.ed-lbl{display:block;font-size:12px;color:#8a8a96;margin:0 0 6px}
.ed-styles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ed-style{padding:11px 8px;border-radius:9px;border:1px solid var(--line);background:#16171d;color:#cfd2d8;font-size:13px;font-weight:600;cursor:pointer}
.ed-style.on{border-color:var(--acc,#C8FF4D);background:color-mix(in srgb,var(--acc,#C8FF4D) 14%,transparent);color:#fff}
.ed-canvas{flex:1;display:flex;flex-direction:column;min-width:0;background:radial-gradient(120% 80% at 50% 0%,#101218,#0b0c10)}
.ed-stage{flex:1;overflow:auto;padding:30px 34px;display:flex;align-items:center}
.ed-strip{display:flex;gap:22px;align-items:center;min-height:100%}
.ed-slide{flex:0 0 auto;position:relative;border-radius:16px;overflow:hidden;border:2px solid transparent;background:#05070a;cursor:pointer;box-shadow:0 18px 50px rgba(0,0,0,.4)}
.ed-slide.on{border-color:var(--acc,#C8FF4D)}
.ed-slnum{position:absolute;top:10px;left:10px;background:rgba(255,255,255,.92);color:#0a0d12;font-size:12px;font-weight:700;width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center}
.ed-newslide{flex:0 0 auto;width:189px;height:236px;border:2px dashed #2a2b33;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#6a6a76;cursor:pointer;align-self:center}
.ed-newslide:hover{border-color:var(--acc,#C8FF4D);color:#cfd2d8}
.ed-newslide small{font-size:12px}
.ed-empty{color:#8a8a96;font-size:14px;padding:40px;text-align:center;width:100%}
.ed-bottom{flex:0 0 auto;height:40px;display:flex;align-items:center;gap:10px;padding:0 20px;border-top:1px solid var(--line);background:#0e0f14;font-size:12px;color:#8a8a96}
.ed-dot{color:#3a3b44}
@media(max-width:820px){.ed-side{width:220px}.ed-top{gap:5px;padding:0 8px}.ed-top .btn.sm span{display:none}}
/* mobile: editor reflui pra UMA coluna (painel em cima, canvas embaixo, tudo rolando) */
@media(max-width:720px){
  .ed-body{flex-direction:column;overflow-y:auto}
  .ed-side{width:auto;flex:0 0 auto;overflow:visible;border-right:0;border-top:1px solid var(--line);padding:16px 14px 22px}
  .ed-canvas{flex:0 0 auto;min-height:58vh;order:-1}   /* carrossel/criar PRIMEIRO no mobile; ajustes descem */
  .ed-stage{padding:20px 14px}
  /* mobile: a top-bar QUEBRA em linhas (flex-wrap) em vez de rolar horizontal escondendo Salvar/Gerar
     Legenda — os labels não estão em <span>, então não dava pra encolher; melhor mostrar tudo em 2 linhas. */
  .ed-top{flex-wrap:wrap;height:auto;row-gap:7px;padding:9px 10px}
  .ed-top .btn.sm{flex:1 1 auto}   /* ações (Baixar/Salvar/Gerar Legenda) crescem e preenchem a linha — sem botão órfão solto */
  .ed-studio{display:none}
  .ed-pill{display:none}   /* declutter mobile: o modo (Carrossel) já aparece na status bar de baixo */
}
/* ANTI-ZOOM iOS (TODAS as rotas): campo de texto <16px faz o Safari dar zoom ao focar; 16px = limiar. */
@media(max-width:720px){input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{font-size:16px!important}}

/* Editor — controles por-slide (Fase 2) */
.ed-bd textarea.input,.ed-bd input.input{width:100%;background:#15151d;border:1px solid var(--line);border-radius:9px;color:#e7e8ec;padding:9px 11px;font-size:13.5px;font-family:'Inter',sans-serif;resize:vertical}
.ed-seg{display:flex;gap:6px}
.ed-seg button{flex:1;padding:9px 6px;border-radius:8px;border:1px solid var(--line);background:#16171d;color:#cfd2d8;font-size:12.5px;font-weight:600;cursor:pointer}
.ed-seg button.on{border-color:var(--acc,#C8FF4D);background:color-mix(in srgb,var(--acc,#C8FF4D) 14%,transparent);color:#fff}
.ed-grid8{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.ed-grid8 button{padding:8px 0;border-radius:8px;border:1px solid var(--line);background:#16171d;color:#cfd2d8;font-size:12px;font-weight:600;cursor:pointer}
.ed-grid8 button.on{border-color:var(--acc,#C8FF4D);background:color-mix(in srgb,var(--acc,#C8FF4D) 14%,transparent);color:#fff}
.ed-drop{display:flex;align-items:center;justify-content:center;text-align:center;min-height:78px;border:1.5px dashed #2a2b33;border-radius:10px;color:#8a8a96;font-size:12.5px;cursor:pointer;padding:10px}
.ed-drop:hover{border-color:var(--acc,#C8FF4D);color:#cfd2d8}
.btn.block{width:100%}

/* Editor — controles globais (Fase 3) */
.ed-color{width:100%;height:38px;border:1px solid var(--line);border-radius:9px;background:#15151d;cursor:pointer;padding:3px}
.ed-range{width:100%;accent-color:var(--acc,#C8FF4D);margin:2px 0}
.ed-pals{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.ed-pals button{height:30px;border-radius:7px;border:1px solid var(--line);cursor:pointer}
.ed-switch{display:flex;align-items:center;gap:9px;font-size:13px;color:#cfd2d8;cursor:pointer}
.ed-switch input{width:16px;height:16px;accent-color:var(--acc,#C8FF4D)}

/* Editor — ícones dos painéis + presets/logo (débitos funcionais) */
.ed-pic{display:flex;align-items:center;justify-content:center;color:#0c0e13}
.ed-logoprev{display:flex;align-items:center;gap:10px}
.ed-logoprev img{width:54px;height:54px;object-fit:contain;background:#15151d;border:1px solid var(--line);border-radius:9px;padding:4px}
.ed-preset{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#15151d;margin-bottom:7px;font-size:13px}
.ed-preset .btn.sm{height:28px;padding:0 9px}
.ed-x{background:none;border:0;color:#6a6a76;font-size:18px;cursor:pointer;padding:0 4px;line-height:1}
.ed-x:hover{color:#ff6b6b}

/* Fila — preview completo do carrossel (modal) */
.fila-cover{position:relative}
.fila-eye{position:absolute;left:0;right:0;bottom:0;padding:9px 12px;background:linear-gradient(transparent,rgba(0,0,0,.62));color:#fff;font:600 12px/1 'Inter',sans-serif;opacity:0;transition:opacity .15s;pointer-events:none}
.fila-cover:hover .fila-eye{opacity:1}
.fila-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center}
.fm-bg{position:absolute;inset:0;background:rgba(6,8,12,.82)}
/* modal aberto: pausa a aurora (blur 46px animado = hog de GPU) p/ liberar o compositor → scroll fluido */
body.fm-open .aurora{animation-play-state:paused}
.fm-box{position:relative;width:min(1180px,94vw);max-height:92vh;background:#0e1016;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}
.fm-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.fm-head b{font-size:16px}
.fm-x{margin-left:auto;background:none;border:0;color:#9aa;font-size:26px;cursor:pointer;line-height:1}
.fm-bglabel{margin-left:auto;color:#8a95a3;font-size:12px}
.fm-bgrow{display:inline-flex;gap:6px}
.fm-bg-opt{padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:#aeb6c0;font:600 12px/1 'Inter';cursor:pointer;transition:.12s}
.fm-bg-opt:hover{border-color:#5a6472;color:#e6e9ee}
.fm-bg-opt.on{background:#e6e9ee;color:#0b0c10;border-color:transparent}
.fm-strip{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;padding:20px 18px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
/* cada slide vira uma CAMADA de GPU (rasterizada no tamanho de exibição) + contida → scroll só desliza a camada, sem repintar o DOM escalado */
.fm-slide{flex:0 0 auto;position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#05070a;transform:translateZ(0);contain:layout paint}
.fm-slide img{width:100%;height:100%;object-fit:cover;display:block}   /* preview leve por PNG pronto → scroll liso */
.fm-num{position:absolute;top:8px;left:8px;background:rgba(255,255,255,.92);color:#0a0d12;font:700 12px/1 'Inter';width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center}
.fm-foot{display:flex;gap:10px;justify-content:flex-end;padding:14px 18px;border-top:1px solid var(--line)}

/* ===== Especialistas — chat premium (estilo ChatGPT/Claude) ===== */
.content:has(.esp){max-width:none;padding-bottom:14px}   /* chat ocupa a tela toda (o cap de 1240 deixava vazio à direita) */
.esp{display:flex;flex-direction:column;height:calc(100vh - 128px);min-height:460px}
.esp-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.esp-seg{display:inline-flex;background:var(--glass);border:1px solid var(--line);border-radius:13px;padding:4px;gap:3px}
.esp-seg button{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border:0;background:transparent;color:var(--txt2);font-family:var(--body);font-weight:600;font-size:13.5px;border-radius:10px;cursor:pointer;transition:var(--ease)}
.esp-seg button.on{background:var(--grad);color:#fff;box-shadow:0 8px 20px -10px rgba(var(--p-rgb),.6);font-weight:700;text-shadow:var(--halo-verde)}
.esp-seg button.on svg{filter:drop-shadow(0 1px 1px rgba(22,40,4,.7))}
.esp-seg button:not(.on):hover{color:var(--txt);background:rgba(255,255,255,.04)}
.esp-acts{display:flex;align-items:center;gap:8px;position:relative}
.esp-hist-menu{position:absolute;right:0;top:calc(100% + 8px);width:300px;max-height:360px;overflow-y:auto;background:rgba(16,18,24,.98);border:1px solid var(--line2);border-radius:16px;padding:7px;z-index:40;box-shadow:0 30px 70px -20px rgba(0,0,0,.7);backdrop-filter:blur(20px)}
.esp-hist-menu .h{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);padding:8px 10px 6px}
.esp-hist-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;border-radius:10px;cursor:pointer;font-size:13px;color:var(--txt2);transition:var(--ease)}
.esp-hist-item:hover{background:rgba(255,255,255,.05);color:var(--txt)}
.esp-hist-item.on{background:rgba(var(--p-rgb),.12);color:var(--txt)}
.esp-hist-item .x{opacity:0;display:flex;color:var(--mut);flex:0 0 auto}
.esp-hist-item:hover .x{opacity:.75} .esp-hist-item .x:hover{opacity:1}
.esp-hist-empty{padding:16px 12px;color:var(--mut);font-size:12.5px;text-align:center}
.esp-body{flex:1;overflow-y:auto;padding:6px 2px 10px}
.esp-thread{max-width:830px;margin:0 auto;display:flex;flex-direction:column;gap:24px;padding:6px 0}
.esp-msg{display:flex;gap:14px;align-items:flex-start}
.esp-msg.user{justify-content:flex-end}
.esp-msg.user .txt{background:var(--glass);border:1px solid var(--line);border-radius:18px 18px 5px 18px;padding:12px 17px;max-width:80%;font-size:14.5px;line-height:1.6;color:var(--txt)}
.esp-msg.bot .av{width:32px;height:32px;border-radius:9px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--grad);color:#fff;margin-top:1px}
.esp-msg.bot .txt{flex:1;min-width:0;font-size:15px;line-height:1.72;color:var(--txt);padding-top:4px}
.esp-msg.bot .txt p{margin:0 0 12px} .esp-msg.bot .txt p:last-child{margin-bottom:0}
.esp-msg.bot .txt b{color:#fff;font-weight:700}
.esp-msg.bot .txt ul,.esp-msg.bot .txt ol{margin:10px 0;padding-left:22px} .esp-msg.bot .txt li{margin:5px 0}
.esp-msg.bot .txt code{background:rgba(255,255,255,.08);padding:1px 6px;border-radius:6px;font-size:.9em}
.esp-msg.bot .txt pre{background:rgba(0,0,0,.35);border:1px solid var(--line);padding:12px 14px;border-radius:12px;overflow-x:auto;font-size:12.5px;white-space:pre-wrap;margin:10px 0}
.esp-typing{display:inline-flex;gap:6px;align-items:center;padding:6px 0}
.esp-typing span{width:7px;height:7px;border-radius:50%;background:var(--mut);animation:blink 1.2s infinite}
.esp-typing span:nth-child(2){animation-delay:.2s}.esp-typing span:nth-child(3){animation-delay:.4s}
.esp-composer{max-width:830px;margin:0 auto;width:100%;padding-top:6px}
.esp-inbox{display:flex;align-items:flex-end;gap:10px;background:var(--glass);border:1px solid var(--line2);border-radius:20px;padding:11px 11px 11px 18px;box-shadow:0 24px 60px -34px rgba(0,0,0,.8);transition:var(--ease)}
.esp-inbox:focus-within{border-color:rgba(var(--p-rgb),.6);box-shadow:0 0 0 3px rgba(var(--p-rgb),.14)}
.esp-inbox textarea{flex:1;resize:none;background:transparent;border:0;outline:0;-webkit-appearance:none;appearance:none;box-shadow:none;color:var(--txt);font-family:inherit;font-size:15px;line-height:1.5;max-height:200px;padding:7px 0}
.esp-inbox textarea:focus,.esp-inbox textarea:focus-visible{outline:none;box-shadow:none;border:0}
.esp-inbox textarea::placeholder{color:var(--mut)}
.esp-sendb{width:40px;height:40px;flex:0 0 auto;border:0;border-radius:13px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--ease)}
.esp-sendb:hover{transform:translateY(-1px)} .esp-sendb:disabled{opacity:.45;cursor:default;transform:none}
.esp-hint{text-align:center;color:var(--mut);font-size:11px;margin:9px 0 0}
.esp-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:760px;margin:0 auto;padding:16px}
.esp-hero .ic{width:60px;height:60px;border-radius:18px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:20px;box-shadow:0 20px 44px -18px rgba(var(--p-rgb),.6)}
.esp-hero h2{font-family:var(--head);font-size:27px;margin:0 0 10px;letter-spacing:-.01em}
.esp-hero p{color:var(--txt2);font-size:14.5px;max-width:540px;margin:0 0 26px;line-height:1.6}
.esp-sugs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:620px}
.esp-sug{text-align:left;padding:15px 17px;background:var(--glass);border:1px solid var(--line);border-radius:15px;color:var(--txt);font-size:13.5px;line-height:1.45;cursor:pointer;transition:var(--ease)}
.esp-sug:hover{border-color:var(--line2);transform:translateY(-2px);box-shadow:0 20px 40px -26px rgba(var(--p-rgb),.4)}
@media(max-width:720px){
  .content:has(.esp){padding:14px 14px 10px}
  .esp{height:calc(100dvh - 104px);min-height:0}                 /* dvh: composer nunca some sob a barra do navegador */
  /* chrome compacto: as tabs deixam de quebrar em 2 linhas e sobra altura pro chat */
  .esp-top{gap:8px;margin-bottom:12px}
  .esp-seg{width:100%;flex:1}
  .esp-seg button{flex:1;justify-content:center;padding:8px 8px;font-size:12.5px;gap:6px}
  .esp-seg button svg{width:15px;height:15px}
  .esp-acts{flex:0 0 auto}
  .esp-acts .btn{font-size:0;padding:9px 10px;gap:0}             /* ações viram só-ícone no mobile */
  .esp-acts .btn svg{width:17px;height:17px}
  .esp-hist-menu{width:min(300px,calc(100vw - 28px))}
  /* hero rola de cima pra baixo (antes centralizava e clipava as sugestões) */
  .esp-hero{justify-content:flex-start;padding:18px 4px 8px}
  .esp-hero .ic{width:50px;height:50px;border-radius:15px;margin-bottom:14px}
  .esp-hero h2{font-size:22px;margin-bottom:8px}
  .esp-hero p{font-size:14px;margin-bottom:18px}
  .esp-sugs{grid-template-columns:1fr;gap:9px}
  .esp-sug{padding:13px 15px}
  .esp-thread{gap:20px}
  .esp-msg.user .txt{max-width:88%}
  .esp-inbox textarea{font-size:16px}                            /* >=16px evita o zoom automático do iOS ao focar */
  .esp-hint{font-size:10.5px;margin-top:7px}
}

/* ================= Onboarding v2 — entrevista conversacional full-screen ================= */
.ob2{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;overflow:hidden;
 background:var(--bg);animation:obfade .3s ease}
/* atmosfera premium: aurora animada + grão sutil + vinheta */
.ob2::before{content:"";position:absolute;inset:-25%;z-index:0;pointer-events:none;filter:blur(44px);
 background:
  radial-gradient(38% 38% at 17% 12%,rgba(var(--p-rgb),.22),transparent 62%),
  radial-gradient(42% 42% at 87% 18%,rgba(var(--purple-rgb),.17),transparent 62%),
  radial-gradient(50% 50% at 63% 110%,rgba(var(--p2-rgb),.15),transparent 60%);
 animation:obAurora 24s ease-in-out infinite alternate}
.ob2::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes obAurora{0%{transform:translate3d(0,0,0) scale(1) rotate(0deg)}50%{transform:translate3d(2%,-2%,0) scale(1.1) rotate(2deg)}100%{transform:translate3d(-2%,2%,0) scale(1.05) rotate(-1.5deg)}}
.ob2-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:22px 30px;flex:0 0 auto}
.ob2-logo{font-family:"Poppins",var(--head);font-weight:700;font-size:21px;letter-spacing:-.04em;color:var(--txt)}
.ob2-logo b{color:var(--indigo)}
.ob2-skip{background:transparent;border:0;color:var(--mut);font-size:13.5px;font-weight:600;cursor:pointer;padding:8px 12px;border-radius:9px;transition:var(--ease)}
.ob2-skip:hover{color:var(--txt);background:rgba(255,255,255,.05)}
.ob2-stage{position:relative;z-index:1;flex:1 1 auto;display:flex;align-items:safe center;justify-content:center;padding:26px;overflow:auto}
.ob2-col{width:100%;max-width:680px;margin:0 auto}
/* reveal escalonado: cada elemento da tela entra em sequência (blur + sobe) */
.ob2-col.an{opacity:1;animation:none}
.ob2-col.an>*{opacity:0;animation:obUp .6s cubic-bezier(.2,.85,.25,1) forwards}
.ob2-col.an>*:nth-child(1){animation-delay:.05s}
.ob2-col.an>*:nth-child(2){animation-delay:.12s}
.ob2-col.an>*:nth-child(3){animation-delay:.19s}
.ob2-col.an>*:nth-child(4){animation-delay:.26s}
.ob2-col.an>*:nth-child(5){animation-delay:.33s}
@keyframes obUp{from{opacity:0;transform:translateY(18px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.ob2-kick{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 11px;border-radius:999px;
 border:1px solid rgba(var(--p-rgb),.28);background:rgba(var(--p-rgb),.07);
 font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--indigo);margin-bottom:20px;
 box-shadow:0 0 26px -8px rgba(var(--p-rgb),.45),inset 0 1px 0 rgba(255,255,255,.04)}
.ob2-kick svg{width:15px;height:15px}
.ob2-title{font-family:var(--head);font-size:39px;line-height:1.07;letter-spacing:-.032em;color:var(--txt);margin:0 0 11px;
 text-wrap:balance}
.ob2-help{color:var(--txt2);font-size:16px;line-height:1.55;margin:0 0 30px;max-width:560px}
.ob2-optl{color:var(--mut);font-weight:600}
/* rodapé fixo com ações */
/* ações logo abaixo do conteúdo (não no rodapé fixo) */
.ob2-actions{display:flex;align-items:center;gap:12px;margin-top:34px}
.ob2-actions .btn{padding:13px 26px;font-size:15px;border-radius:13px}
.ob2-actions .btn svg{width:17px;height:17px}
.ob2-actions .btn.primary{box-shadow:0 12px 34px -12px rgba(var(--p-rgb),.6)}
.ob2-actions .btn.ghost{color:var(--mut);padding-left:10px;padding-right:10px}
.ob2-actions .btn.ghost:hover{color:var(--txt);background:transparent}
/* botão primário em destaque à esquerda, o secundário (voltar/pular) discreto ao lado */
.ob2-actions{flex-direction:row-reverse;justify-content:flex-end}
/* Etapa 1 — picks de perfil */
.ob2-picks{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:640px}
.ob2-pick{display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left;padding:30px 26px;
 border:1px solid var(--line);border-radius:var(--r-lg);color:var(--txt);cursor:pointer;transition:var(--ease-spring);
 background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0)),var(--glass);position:relative;overflow:hidden}
.ob2-pick::after{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;transition:var(--ease);
 background:radial-gradient(90% 70% at 50% -10%,rgba(var(--p-rgb),.14),transparent 60%)}
.ob2-pick:hover{border-color:rgba(var(--p-rgb),.5);transform:translateY(-4px);box-shadow:0 34px 74px -34px rgba(var(--p-rgb),.55)}
.ob2-pick:hover::after{opacity:1}
.ob2-pick:active{transform:translateY(-1px) scale(.995)}
.ob2-pico{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;color:var(--indigo);position:relative;
 background:linear-gradient(180deg,rgba(var(--p-rgb),.2),rgba(var(--p-rgb),.05));border:1px solid rgba(var(--p-rgb),.22);
 box-shadow:0 12px 28px -14px rgba(var(--p-rgb),.55)}
.ob2-pico svg{width:26px;height:26px}
.ob2-pict{font-family:var(--head);font-size:21px;letter-spacing:-.02em;position:relative}
.ob2-picd{color:var(--txt2);font-size:13.5px;line-height:1.5;position:relative}
/* tatilidade: leve press nos cards e botões */
.ob2-c:active{transform:translateY(0) scale(.97)}
.ob2-actions .btn:active{transform:translateY(0) scale(.98)}
/* Etapa 2 — campos */
.ob2-fields{display:grid;gap:16px;max-width:520px}
.ob2-flabel{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 7px}
.ob2-fname{font-size:12.5px;color:var(--txt2);font-weight:600}
.ob2-req{font-size:10.5px;color:var(--mut);font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.65}
.ob2-nt{display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;color:var(--mut);font-size:12px;font-weight:600;cursor:pointer;padding:2px 2px;border-radius:8px;transition:var(--ease)}
.ob2-nt:hover{color:var(--txt2)}
.ob2-ntbox{width:15px;height:15px;border-radius:5px;border:1.5px solid var(--line2);display:inline-grid;place-items:center;transition:var(--ease-spring)}
.ob2-nt.on{color:var(--indigo)}
.ob2-nt.on .ob2-ntbox{border-color:var(--indigo);background:var(--indigo)}
.ob2-nt.on .ob2-ntbox::after{content:"";width:3.5px;height:7px;border:solid var(--on-p);border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px)}
.ob2-field input:disabled{opacity:.45;cursor:not-allowed}
/* animação teatral / gerando */
.ob2-checks{display:grid;gap:14px;max-width:460px;margin-top:6px}
.ob2-check{display:flex;align-items:center;gap:13px;font-size:15.5px;color:var(--mut);opacity:.5;transition:var(--ease)}
.ob2-check.active{opacity:1;color:var(--txt2)}
.ob2-check.done{opacity:1;color:var(--txt)}
.ob2-cspin{width:18px;height:18px;border-radius:50%;border:2px solid var(--line2);border-top-color:var(--indigo);animation:obspin .8s linear infinite;flex:0 0 auto}
.ob2-check.done .ob2-cspin{display:none}
.ob2-cdot{display:none;color:var(--indigo)}
.ob2-cdot svg{width:18px;height:18px}
.ob2-check.done .ob2-cdot{display:inline-flex}
@keyframes obspin{to{transform:rotate(360deg)}}
/* progresso humano */
.ob2-prog{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.ob2-progl{font-size:12.5px;color:var(--mut);font-weight:600;white-space:nowrap}
.ob2-bars{display:flex;gap:5px;flex:1 1 auto}
.ob2-seg{flex:1;height:5px;border-radius:5px;background:var(--line);transition:var(--ease-spring)}
.ob2-seg.on{background:var(--grad);box-shadow:0 0 11px -1px rgba(var(--p-rgb),.6)}
.ob2-progn{font-size:12.5px;color:var(--txt2);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.ob2-ta{font-size:16px;line-height:1.55;resize:none;background:rgba(9,11,17,.55);border:1px solid var(--line);
 border-radius:15px;padding:16px 18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 26px 54px -46px rgba(0,0,0,.95)}
.ob2-ta:focus{border-color:rgba(var(--p-rgb),.55);box-shadow:0 0 0 4px rgba(var(--p-rgb),.13),inset 0 1px 0 rgba(255,255,255,.04)}
/* cards de escolha (objetivo / personalidade) */
.ob2-cards{display:flex;flex-wrap:wrap;gap:11px}
.ob2-c{display:inline-flex;align-items:center;gap:11px;padding:13px 20px 13px 15px;border:1px solid var(--line2);border-radius:14px;
 background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.012));color:var(--txt);
 font-size:14.5px;font-weight:600;cursor:pointer;transition:var(--ease-spring);position:relative;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 24px -18px rgba(0,0,0,.85)}
.ob2-c:hover{border-color:rgba(var(--p-rgb),.42);transform:translateY(-2px);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 34px -18px rgba(0,0,0,.9),0 0 0 1px rgba(var(--p-rgb),.12)}
.ob2-c:hover .ob2-cbox{border-color:rgba(var(--p-rgb),.55)}
.ob2-c.sel{border-color:rgba(var(--p-rgb),.6);
 background:linear-gradient(180deg,rgba(var(--p-rgb),.17),rgba(var(--p-rgb),.05));
 box-shadow:0 0 0 1px rgba(var(--p-rgb),.4),0 18px 40px -18px rgba(var(--p-rgb),.6)}
.ob2-c:active{transform:translateY(0) scale(.97)}
/* indicador circular: vazio quando não selecionado, verde com check quando selecionado */
.ob2-cbox{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line2);
 flex:0 0 auto;color:var(--on-p);background:transparent;transition:var(--ease-spring)}
.ob2-cbox svg{width:12px;height:12px;opacity:0;transform:scale(.4);transition:var(--ease-spring)}
.ob2-c.sel .ob2-cbox{border-color:var(--indigo);background:var(--indigo);box-shadow:0 0 14px -2px rgba(var(--p-rgb),.7)}
.ob2-c.sel .ob2-cbox svg{opacity:1;transform:scale(1)}
.ob2-cmax{margin-top:16px;font-size:13px;color:var(--mut);font-weight:500}
/* microfeedback */
.ob2-fb{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:40px 0}
.ob2-fbc{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:rgba(var(--p-rgb),.14);color:var(--indigo)}
.ob2-fbc svg{width:28px;height:28px}
.ob2-fbt{font-family:var(--head);font-size:22px;letter-spacing:-.02em;color:var(--txt);max-width:440px}
/* diagnóstico final */
.ob2-diag{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ob2-dc{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.ob2-span{grid-column:1/-1}
.ob2-dcl{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--mut);font-weight:700;margin-bottom:12px}
.ob2-pos{font-family:var(--head);font-size:22px;line-height:1.32;letter-spacing:-.02em;color:var(--txt)}
.ob2-dt{color:var(--txt2);font-size:14.5px;line-height:1.55}
.ob2-ul{margin:0;padding-left:18px;color:var(--txt2);font-size:14.5px;line-height:1.7}
.ob2-ul li{margin-bottom:4px}
.ob2-chips{display:flex;flex-wrap:wrap;gap:8px}
.ob2-chip{font-size:13px;font-weight:600;padding:6px 13px;border-radius:999px;background:rgba(var(--p-rgb),.10);
 border:1px solid rgba(var(--p-rgb),.25);color:var(--txt)}
.ob2-le{display:grid;gap:11px}
.ob2-lerow{display:flex;align-items:center;gap:12px}
.ob2-lenm{width:130px;font-size:13.5px;color:var(--txt);font-weight:600;flex:0 0 auto}
.ob2-lebar{flex:1 1 auto;height:8px;border-radius:8px;background:var(--line);overflow:hidden}
.ob2-lebar>span{display:block;height:100%;border-radius:8px;background:var(--grad)}
.ob2-lepct{width:42px;text-align:right;font-size:13px;color:var(--txt2);font-weight:700;font-variant-numeric:tabular-nums;flex:0 0 auto}
@media(max-width:720px){
 .ob2-title{font-size:29px}.ob2-picks{grid-template-columns:1fr}.ob2-diag{grid-template-columns:1fr}
 .ob2-lenm{width:96px}
}

/* ── painel Tipografia: grade de fontes + segmentado que quebra linha ─────────
   Cada botão é renderizado NA PRÓPRIA FONTE: o usuário escolhe pelo desenho da
   letra, não pelo nome, que é como o MyPostFlow faz. */
.ed-fonts{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}
.ed-font{padding:9px 8px;border-radius:9px;border:1px solid var(--line);background:rgba(255,255,255,.03);
  color:var(--txt2);font-size:12.5px;cursor:pointer;transition:var(--ease);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-font:hover{background:rgba(255,255,255,.07);color:var(--txt)}
.ed-font.on{background:rgba(var(--p-rgb),.16);border-color:rgba(var(--p-rgb),.5);color:#fff}
.ed-seg.wrap{flex-wrap:wrap}
.ed-seg.wrap button{flex:0 0 auto;min-width:46px}

/* ── ações e reordenação dos cards da tira (espelha o MyPostFlow) ─────────────
   Aparecem no hover pra não poluir a tira; o card inteiro é arrastável. */
.ed-slide{position:relative}
.ed-slacts{position:absolute;top:7px;right:7px;display:flex;gap:5px;opacity:0;transition:var(--ease);z-index:3}
.ed-slide:hover .ed-slacts{opacity:1}
.ed-slacts button{width:26px;height:26px;display:grid;place-items:center;border:0;cursor:pointer;
  border-radius:7px;background:rgba(12,14,20,.82);color:#fff;backdrop-filter:blur(6px)}
.ed-slacts button:hover{background:rgba(12,14,20,.96)}
.ed-slide.dragging{opacity:.45}
.ed-slide.dragover{outline:2px dashed rgba(var(--p-rgb),.85);outline-offset:3px}
/* paleta de fundo por slide */
.ed-swatches{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.ed-sw{width:26px;height:26px;border-radius:7px;border:1px solid var(--line);cursor:pointer;padding:0;transition:var(--ease)}
.ed-sw:hover{transform:scale(1.1)}
.ed-sw.on{outline:2px solid rgba(var(--p-rgb),.9);outline-offset:2px}

/* ---------- Suporte flutuante (WhatsApp) ---------- */
.wa-fab{position:fixed;right:22px;bottom:22px;z-index:45;display:flex;align-items:center;
  height:58px;padding:0;border:none;border-radius:999px;cursor:pointer;overflow:hidden;color:#fff;
  background:linear-gradient(135deg,#2bd96e 0%,#12a94e 100%);
  box-shadow:0 12px 34px -10px rgba(18,169,78,.62),0 2px 8px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform var(--ease-spring),box-shadow .28s ease,opacity .25s ease;-webkit-tap-highlight-color:transparent}
.wa-fab.wa-hidden{opacity:0;transform:translateY(96px) scale(.82);pointer-events:none}
.wa-fab.wa-hidden::after{animation:none}
.wa-fab .wa-ic{display:grid;place-items:center;width:58px;height:58px;flex:0 0 auto}
.wa-fab .wa-ic svg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.22))}
.wa-fab .wa-label{white-space:nowrap;font-family:var(--head);font-weight:600;font-size:15px;letter-spacing:.01em;
  max-width:0;opacity:0;transition:max-width .38s cubic-bezier(.4,0,.2,1),opacity .24s ease,padding-right .38s cubic-bezier(.4,0,.2,1)}
.wa-fab:hover{transform:translateY(-2px)}
.wa-fab:hover .wa-label{max-width:220px;opacity:1;padding-right:22px}
.wa-fab:active{transform:translateY(0) scale(.97)}
.wa-fab:focus-visible{outline:2px solid #fff;outline-offset:3px}
.wa-fab::after{content:'';position:absolute;inset:0;border-radius:999px;pointer-events:none;
  box-shadow:0 0 0 0 rgba(43,217,110,.5);animation:waPulse 2.8s cubic-bezier(.4,0,.2,1) infinite}
.wa-fab:hover::after{animation:none}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(43,217,110,.42)}70%{box-shadow:0 0 0 16px rgba(43,217,110,0)}100%{box-shadow:0 0 0 0 rgba(43,217,110,0)}}
@media(max-width:640px){.wa-fab{right:16px;bottom:16px;height:54px}.wa-fab .wa-ic{width:54px;height:54px}}
@media(prefers-reduced-motion:reduce){.wa-fab::after{animation:none}}

/* ===== Análise em background (pill) + Tour guiado pós-onboarding ===== */
.ob-pill{position:fixed;left:50%;top:64px;transform:translateX(-50%);z-index:9900;   /* abaixo do banner de identidade, pra não cobrir o texto atrás */display:flex;align-items:center;gap:12px;background:rgba(16,17,24,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff;border:1px solid rgba(194,242,97,.22);border-radius:999px;padding:13px 22px;font-size:14px;font-weight:500;letter-spacing:-.01em;box-shadow:0 16px 48px -10px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04) inset;animation:obpill-in .45s cubic-bezier(.2,.85,.25,1)}
@keyframes obpill-in{from{opacity:0;transform:translateX(-50%) translateY(-16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.ob-pill-spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(194,242,97,.28);border-top-color:#c2f261;animation:obspin .75s linear infinite;flex:none}
@keyframes obspin{to{transform:rotate(360deg)}}
.ob-pill.done{border-color:rgba(194,242,97,.42)}.ob-pill.err{border-color:rgba(251,111,141,.5)}
.ob-pill-ic{display:inline-flex;align-items:center}.ob-pill-ic svg{width:17px;height:17px}
.ob-pill.done .ob-pill-ic{color:#c2f261}.ob-pill.err .ob-pill-ic{color:#fb6f8d}
.ob-pill-btn{margin-left:6px;background:linear-gradient(120deg,#c2f261,#84cc16);color:#0a0b08;border:0;border-radius:999px;padding:6px 15px;font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 6px 20px -6px rgba(194,242,97,.55)}
.ob-pill-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
.ob-pill-tx{display:flex;flex-direction:column;gap:1px;line-height:1.3;text-align:left}
.ob-pill-tx b{font-weight:600;font-size:14px}
.ob-pill-tx i{font-style:normal;font-size:12px;color:rgba(255,255,255,.55)}
.tour-ov{position:fixed;inset:0;z-index:9800;pointer-events:auto}
.tour-hole{position:fixed;left:0;top:0;width:0;height:0;border-radius:13px;box-shadow:0 0 0 9999px rgba(8,9,13,.74),0 0 0 1.5px rgba(194,242,97,.85),0 0 24px 3px rgba(194,242,97,.30);transition:left .42s cubic-bezier(.4,0,.2,1),top .42s cubic-bezier(.4,0,.2,1),width .42s cubic-bezier(.4,0,.2,1),height .42s cubic-bezier(.4,0,.2,1);pointer-events:none}
.tour-card{position:fixed;left:0;top:0;width:300px;max-width:calc(100vw - 28px);background:#fff;color:#15151c;border-radius:14px;padding:16px 18px;box-shadow:0 18px 50px rgba(0,0,0,.34);pointer-events:auto;transition:left .4s cubic-bezier(.4,0,.2,1),top .4s cubic-bezier(.4,0,.2,1);z-index:9810}
.tour-t{font-weight:700;font-size:15.5px;margin-bottom:6px;color:#15151c}
.tour-d{font-size:13.5px;line-height:1.5;color:#4a4a55;margin-bottom:15px}
.tour-nav{display:flex;align-items:center;gap:8px;font-size:12.5px}
.tour-prog{color:#a2a2ae;font-weight:600}
.tour-skip{color:#a2a2ae;cursor:pointer}.tour-skip:hover{color:#666}
.tour-card .btn.sm{padding:6px 13px;font-size:12.5px}
.tour-card .btn.ghost{color:#555;border:1px solid #e3e3ea;background:#fff}.tour-card .btn.ghost:hover{background:#f5f5f7}

/* ===== Wizard: fontes do tema (Recomendações/Tema livre/Link) + empty-state do Estúdio ===== */
.gen-srcs{display:flex;gap:8px;margin-bottom:14px}
.gen-src{flex:1;padding:9px 10px;border-radius:10px;background:var(--glass);border:1px solid var(--line);color:var(--mut);font-size:13px;font-weight:600;cursor:pointer;transition:.15s}
.gen-src:hover{color:var(--txt)}
.gen-src.sel{background:color-mix(in srgb,var(--indigo,#c2f261) 16%,transparent);border-color:color-mix(in srgb,var(--indigo,#c2f261) 45%,transparent);color:var(--txt)}
.gen-recs{display:flex;flex-direction:column;gap:8px;max-height:230px;overflow:auto;padding-right:2px}
.gen-rec{text-align:left;padding:11px 13px;border-radius:11px;background:var(--glass);border:1px solid var(--line);cursor:pointer;transition:.15s;display:flex;flex-direction:column;gap:3px}
.gen-rec:hover{border-color:color-mix(in srgb,var(--indigo,#c2f261) 40%,transparent)}
.gen-rec.sel{border-color:var(--indigo,#c2f261);background:color-mix(in srgb,var(--indigo,#c2f261) 12%,transparent)}
.gen-rec b{font-size:13.5px;font-weight:600;color:var(--txt);line-height:1.35}
.gen-rec span{font-size:12px;color:var(--mut);line-height:1.35}
.gen-rec-empty{padding:18px;text-align:center;background:var(--glass);border:1px solid var(--line);border-radius:12px}
.ed-empty-cta{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;max-width:430px;margin:0 auto;padding:40px 20px;color:var(--mut)}
.ed-empty-cta .ed-empty-ic{display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;border-radius:14px;background:var(--glass);border:1px solid var(--line);color:var(--txt)}
.ed-empty-cta .ed-empty-ic svg{width:26px;height:26px}
.ed-empty-cta h3{margin:4px 0 0;font-size:18px;color:var(--txt);font-weight:700}
.ed-empty-cta p{margin:0;font-size:13.5px;line-height:1.5}
.ed-empty-cta .btn{margin-top:6px}

/* ===== Ajustes de mobile: pill de análise, abas do wizard, card do tour ===== */
@media(max-width:640px){
  .ob-pill{max-width:calc(100vw - 20px);top:72px;padding:11px 16px;gap:10px}
  .ob-pill-tx{min-width:0}
  .ob-pill-tx i{white-space:normal}
  .ob-pill-tx b{font-size:13.5px}
  .gen-srcs{gap:6px}
  .gen-src{font-size:12px;padding:8px 6px}
  .tour-card{padding:14px 16px}
  .tour-t{font-size:15px}
  .tour-d{font-size:13px}
}

/* ===== Correções de mobile (prints do Leonardo): placeholder cortado, FAB cobrindo conteúdo ===== */
@media(max-width:640px){
  .prompt textarea{min-height:56px}          /* placeholder de 2 linhas ("...link de um post") não corta */
  .ed-disc,.ed-disc-dot{display:none}        /* disclaimer longo colidia com o FAB do WhatsApp na barra do editor */
  .content{padding-bottom:100px}             /* folga p/ o último botão (ex.: "Usar template") liberar do FAB + barra do navegador */
  .tr2-cols,.tr-grid{padding-bottom:24px}
  .wa-fab{bottom:20px;right:16px}
}

/* ===== Auditoria mobile v2 (prints IMG_0706–0715 + feedback do Leonardo) ===== */

/* "Abriu com zoom" ao logar = auto-zoom do iOS: campo < 16px faz o Safari dar zoom ao focar
   (no login) e o zoom fica preso na dashboard. 16px em TODO campo no mobile mata na raiz. */
@media(max-width:900px){
  input,textarea,select,.input,.ed-bd textarea.input,.ed-bd input.input{font-size:16px}
}

@media(max-width:640px){
  /* Instagram (Configurações › Canais): handle + "Conectado" + Desconectar não cabiam e sobrepunham.
     Quebra em duas linhas: logo+nome em cima, status+botão embaixo. */
  .intg{flex-wrap:wrap;row-gap:10px}
  .intg .bd{flex:1 1 55%;min-width:0}

  /* PUBLICAÇÕES: 2 colunas compactas (~4 cartões na tela) em vez de 1 gigante rolando. */
  .fila-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .fila-bd{padding:10px 10px 12px}
  .fila-h{font-size:12.5px}
  .fila-bd .row .btn.sm{min-width:0!important;flex:1 1 calc(50% - 4px)!important;font-size:11.5px;padding:7px 5px}

  /* HAMBÚRGUER: com o menu aberto ele flutuava "solto" sobre a sidebar. Some (o scrim fecha o menu). */
  .app.navopen .hamb{opacity:0;pointer-events:none;transition:opacity .2s}
}

/* ===== Edição direta no canvas (Canva) — elemento selecionado + cursor de mover ===== */
.bp-node-sel{}   /* SEM outline no nó inteiro: nós flex (CTA/stat) são gigantes (1000px+) e o outline lia como "seleção gigante". Quem desenha o retângulo agora é a caixa TIGHT (.ed-handles), no texto real. */
.ed-slide.on .bp-canvas [data-i]{cursor:move}
/* edição inline de texto (duplo-clique, estilo Canva): contorno accent + cursor de texto */
.ed-inline{outline:6px solid #C2F261 !important;outline-offset:6px;cursor:text !important;caret-color:currentColor}
.ed-inline:focus{outline:6px solid #C2F261 !important}

/* alças de redimensionar (Canva) — cantos do elemento selecionado, tamanho de tela constante */
.ed-handles{z-index:6;border:2.5px solid #C2F261;border-radius:4px;box-shadow:0 0 0 1px rgba(11,12,16,.4)}
.ed-handle{position:absolute;width:15px;height:15px;margin:-8px 0 0 -8px;background:#C2F261;border:2.5px solid #0b0c10;border-radius:50%;pointer-events:auto;cursor:nwse-resize;box-shadow:0 1px 5px rgba(0,0,0,.55)}
/* alças de LARGURA (bordas esq/dir) — barrinha vertical: puxa pra alargar/estreitar a caixa (o texto re-quebra) */
.ed-handle-w{position:absolute;width:9px;height:34px;margin:-17px 0 0 -4.5px;background:#C2F261;border:2.5px solid #0b0c10;border-radius:6px;pointer-events:auto;cursor:ew-resize;box-shadow:0 1px 5px rgba(0,0,0,.55);z-index:7}
/* alça de ROTAÇÃO (Canva) — círculo acima do centro-topo + haste ligando ao elemento */
.ed-rot{position:absolute;left:50%;top:-34px;margin-left:-10px;width:20px;height:20px;background:#C2F261;border:2.5px solid #0b0c10;border-radius:50%;pointer-events:auto;cursor:grab;box-shadow:0 1px 5px rgba(0,0,0,.55);z-index:7}
.ed-rot::after{content:"";position:absolute;left:50%;top:100%;width:2px;height:16px;background:#C2F261;transform:translateX(-50%)}
/* guias de alinhamento (snap ao centro do canvas), estilo Canva */
.ed-guide{position:absolute;pointer-events:none;z-index:8;background:#FF3B6B;box-shadow:0 0 4px rgba(255,59,107,.6)}
.ed-guide-v{width:1.5px;top:0}
.ed-guide-h{height:1.5px;left:0}
/* Brief por voz — botão de microfone na barra de prompt */
.pmic{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;flex:0 0 auto;background:rgba(255,255,255,.07);border:1px solid var(--line);color:var(--txt);cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}
.pmic:hover{background:rgba(255,255,255,.13)}
.pmic.rec{background:#e8353a;border-color:#e8353a;color:#fff;animation:pmicPulse 1.2s ease-in-out infinite}
@keyframes pmicPulse{0%,100%{box-shadow:0 0 0 0 rgba(232,53,58,.55)}50%{box-shadow:0 0 0 9px rgba(232,53,58,0)}}
/* Indique e ganhe */
/* Indique e ganhe — column focado, centralizado horizontal E verticalmente + hero forte */
.home-body.ref-vcenter{display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;min-height:100dvh}
.ref-vcenter #ref-wrap{width:100%}
.ref-page{max-width:680px;margin:0 auto}
.ref-hero{text-align:center;padding:6px 0 26px}
.ref-eyebrow{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgb(var(--p-rgb));background:rgba(var(--p-rgb),.13);padding:5px 13px;border-radius:20px}
.ref-num{font-size:76px;font-weight:800;line-height:1;margin-top:18px;color:rgb(var(--p-rgb));letter-spacing:-.02em}
.ref-num-sub{font-size:19px;font-weight:700;color:var(--txt);margin-top:2px}
.ref-desc{font-size:14px;line-height:1.65;color:var(--txt2);max-width:500px;margin:15px auto 0}
.ref-desc b{color:var(--txt)}
.ref-card{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-top:16px}
.ref-lbl{display:block;font-size:12.5px;font-weight:600;color:var(--txt2);margin-bottom:9px}
.ref-linkrow{display:flex;gap:10px}
.ref-linkrow .input{flex:1;font-family:ui-monospace,monospace;font-size:13.5px}
.ref-code{font-size:12.5px;color:var(--mut);margin-top:11px}
.ref-code b{color:var(--txt2);letter-spacing:.05em}
.ref-card-h{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800;color:var(--txt)}
.ref-count{font-size:13px;font-weight:700;color:rgb(var(--p-rgb));background:rgba(var(--p-rgb),.13);padding:2px 11px;border-radius:12px;min-width:26px;text-align:center}
.ref-list{margin-top:12px;display:flex;flex-direction:column}
.ref-row{display:flex;justify-content:space-between;align-items:center;padding:12px 2px;border-bottom:1px solid var(--line)}
.ref-row:last-child{border-bottom:0}
.ref-empty{display:flex;align-items:center;gap:12px;margin-top:14px;padding:16px 18px;border:1px dashed var(--line2);border-radius:12px;color:var(--txt2);font-size:13.5px;line-height:1.5}
.ref-empty svg{color:rgb(var(--p-rgb));flex:0 0 auto}
.ref-note{font-size:12px;color:var(--mut);line-height:1.6;margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}
/* Degradê arrastável na imagem (badge ↑↓ na capa) */
.ed-dgh{position:absolute;right:8px;transform:translateY(-50%);display:inline-flex;align-items:center;gap:5px;background:rgba(10,10,12,.86);color:#fff;border:1.5px solid rgba(255,255,255,.6);border-radius:20px;padding:5px 11px 5px 8px;font-size:12px;font-weight:800;cursor:ns-resize;z-index:30;box-shadow:0 4px 14px rgba(0,0,0,.5);user-select:none;touch-action:none;transition:transform .04s}
.ed-dgh:hover{border-color:#fff;background:rgba(10,10,12,.96)}
.ed-dgh.ed-dgh-on{border-color:var(--acc,#84cc16);box-shadow:0 4px 18px rgba(0,0,0,.6),0 0 0 3px color-mix(in srgb,var(--acc,#84cc16) 30%,transparent)}
.ed-dgh .ed-dgh-pct{font-variant-numeric:tabular-nums}

/* ===== Reportar bug — badge global + modal + painel admin ===== */
/* CLUSTER de badges no topo-direito (uso + reportar). No estúdio desce (barra tem os botões). */
#top-badges{position:fixed;top:11px;right:16px;z-index:60;display:flex;align-items:center;gap:10px}
body.in-studio #top-badges{top:60px}
.top-badge{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px 0 11px;border-radius:18px;background:rgba(18,20,26,.82);color:#e8eaee;border:1px solid rgba(255,255,255,.14);font-weight:600;font-size:12.5px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px rgba(0,0,0,.32);transition:background .14s,border-color .14s,transform .14s}
.top-badge:hover{background:rgba(24,27,34,.96);color:#fff;transform:translateY(-1px)}
.top-badge svg{flex:0 0 auto}
.bug-badge{order:2}
.bug-badge svg{color:rgb(var(--p-rgb))}
.bug-badge:hover{border-color:rgba(var(--p-rgb),.55)}
.usage-badge{order:1}
.usage-badge svg{color:rgb(var(--p-rgb))}
.usage-badge b{font-variant-numeric:tabular-nums}
.usage-badge:hover{border-color:rgba(var(--p-rgb),.55)}
.usage-badge.low{border-color:rgba(245,158,11,.55)}
.usage-badge.low svg{color:#f59e0b}
.usage-badge.out{border-color:rgba(232,53,58,.6);color:#ffd7d8}
.usage-badge.out svg{color:#e8353a}
/* BARRA que diminui: o próprio pill vira a barra — fill lime da esquerda encolhe conforme o saldo cai. */
.usage-badge.has-bar{position:relative;overflow:hidden}
.usage-badge.has-bar>svg,.usage-badge .ub-t{position:relative;z-index:1}
.usage-badge .ub-fill{position:absolute;left:0;top:0;bottom:0;z-index:0;border-radius:18px 0 0 18px;
  background:linear-gradient(90deg,rgba(var(--p-rgb),.34),rgba(var(--p-rgb),.10));
  box-shadow:inset -2px 0 0 rgba(var(--p-rgb),.85);transition:width .55s cubic-bezier(.34,1.2,.5,1)}
.usage-badge.low .ub-fill{background:linear-gradient(90deg,rgba(245,158,11,.34),rgba(245,158,11,.10));box-shadow:inset -2px 0 0 rgba(245,158,11,.9)}
.usage-badge .ub-t small{opacity:.72;font-weight:600}
@media(max-width:720px){#top-badges{top:9px;right:12px;gap:8px}.top-badge{padding:0 10px;gap:6px}.bug-badge span{display:none}.bug-badge{padding:0 9px;gap:0}}
.bug-body{padding:16px 20px 6px;overflow:auto}
.bug-ta{width:100%;min-height:110px;resize:vertical;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#e8eaee;padding:11px 13px;font:400 14px/1.5 inherit;box-sizing:border-box}
.bug-ta:focus{outline:none;border-color:color-mix(in srgb,var(--acc,#84cc16) 60%,transparent)}
.bug-drop{margin-top:12px;display:flex;align-items:center;gap:10px;padding:14px;border:1.5px dashed rgba(255,255,255,.2);border-radius:12px;color:#aeb4be;font-size:13px;cursor:pointer;transition:.14s}
.bug-drop:hover,.bug-drop.over{border-color:color-mix(in srgb,var(--acc,#84cc16) 60%,transparent);color:#e8eaee;background:rgba(255,255,255,.03)}
.bug-drop svg{color:var(--acc,#84cc16);flex:0 0 auto}.bug-drop u{cursor:pointer}
.bug-thumbs{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.bug-thumb{position:relative;width:78px;height:78px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.14)}
.bug-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.bug-thumb button{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;border:none;background:rgba(0,0,0,.66);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.bug-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px 16px;margin-bottom:12px}
.bug-card.done{opacity:.58}
.bug-card-h{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.bug-card-who b{font-weight:700}
.bug-tag{display:inline-block;margin-left:2px;padding:1px 8px;border-radius:10px;background:color-mix(in srgb,var(--acc,#84cc16) 22%,transparent);color:var(--acc,#84cc16);font-size:11px;font-weight:700;vertical-align:middle}
.bug-sm{height:30px;padding:0 12px;font-size:12.5px;flex:0 0 auto}
.bug-card-tx{font-size:14px;line-height:1.5;color:#dfe3ea;white-space:pre-wrap;margin-bottom:10px}
.bug-card-imgs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.bug-card-imgs img{width:130px;height:96px;object-fit:cover;border-radius:9px;border:1px solid rgba(255,255,255,.12);cursor:zoom-in;display:block}
.bug-card-ctx{font-size:11.5px;color:#8b93a0;line-height:1.5;border-top:1px solid rgba(255,255,255,.07);padding-top:8px}

/* mic de ditado dentro de um textarea (wizard, estúdio…) */
.ta-mic-wrap{position:relative}
.ta-mic-wrap textarea{padding-right:46px}
.ta-mic{position:absolute;right:8px;bottom:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--txt2);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.ta-mic:hover{color:var(--txt);border-color:rgba(var(--p-rgb),.5);background:rgba(255,255,255,.1)}
.ta-mic.rec{background:#e8353a;border-color:#e8353a;color:#fff;animation:pmicPulse 1.2s ease-in-out infinite}

/* Refinar: botão + mic quadradinho ao lado (sidebar estreito) */
.ed-refino-actions{display:flex;gap:8px;align-items:stretch;margin-top:8px}
.ed-refino-actions .btn{flex:1}
.ed-refino-mic{flex:0 0 auto;width:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid var(--line2);background:rgba(255,255,255,.06);color:var(--txt2);cursor:pointer;transition:background .14s,color .14s,border-color .14s}
.ed-refino-mic:hover{color:var(--txt);border-color:rgba(var(--p-rgb),.55);background:rgba(255,255,255,.11)}
.ed-refino-mic.rec{background:#e8353a;border-color:#e8353a;color:#fff;animation:pmicPulse 1.2s ease-in-out infinite}

/* Banco de imagens (estúdio) — busca + grade de fotos */
.ed-bank-search{display:flex;gap:8px;margin-top:8px}
.ed-bank-search .input{flex:1}
.ed-bank-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;max-height:236px;overflow-y:auto}
.ed-bank-img{padding:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;cursor:pointer;background:rgba(255,255,255,.03);aspect-ratio:1/1;position:relative;transition:border-color .12s,transform .12s}
.ed-bank-img:hover{border-color:rgba(var(--p-rgb),.6);transform:translateY(-1px)}
.ed-bank-img img{width:100%;height:100%;object-fit:cover;display:block}
.ed-bank-img.picking{opacity:.5;pointer-events:none}
