:root{
    /* Template A */
    --bg:#080A0D; --ink:#F6F7F4; --muted:#A8B0B7; --muted2:#747D86;
    --accent:#2F80ED; --accent-top:#4EA3FF; --accent-bot:#1D6FDB; --pill-dark:#1B2026;
    --line:rgba(255,255,255,.13);
    /* Template B */
    --bAccent:#F5C84C; --bCream:#F4F1E7; --bBrown:#264236; --bDark:#111617;
    --cRed:#F04452; --cRedRgb:240,68,82; --cCharcoal:#17191B; --cNavy:#101827; --cCream:#F3F1EA;
    --dG1:#2DD4BF; --dG2:#60A5FA; --dG3:#F472B6; --dBg:#080B10;
    --eBg:#F7F6F1; --eInk:#15191C; --eBody:#4D565D; --eG1:#2563EB; --eG1Rgb:37,99,235; --eG2:#0F9F7A; --eG3:#F05D3D;
    --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
    --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
    --inter:'Inter',var(--sans);
    --anton:'Anton',Impact,'Arial Narrow',var(--sans);
    --fBg:#F3F4EF; --fInk:#111111; --fAccent:#FF4D2E;
    /* RGB das cores de destaque, p/ sombras/brilhos acompanharem a cor escolhida */
    --accentRgb:47,128,237; --dG1Rgb:45,212,191; --dG3Rgb:244,114,182; --eG3Rgb:240,93,61; --fAccentRgb:255,77,46; --iG2Rgb:255,111,77; --lGlowRgb:255,111,77;
    /* Templates G, H, J, K, L — destaques que estavam fixos no CSS */
    
  /* Fundo e texto por template: eram hex fixos, agora saem do painel de cores.
     Body/Muted sao derivados do Ink em JS (inkSteps) para o texto secundario acompanhar. */
  --gBg:#E8EEF5;
  --gInk:#182333;--gInkRgb:24,35,51;--gBody:#4b5360;--gMuted:#797f89;
  --hBg:#FAF6EE;
  --hInk:#1C1C1B;--hInkRgb:28,28,27;--hBody:#4e4e4d;--hMuted:#7b7b7b;
  --iInk:#F4F1EA;--iInkRgb:244,241,234;--iBody:#bebcb7;--iMuted:#8e8c88;
  --jBg:#F4F6F8;
  --jInk:#15202B;--jInkRgb:21,32,43;--jBody:#48515a;--jMuted:#777e84;
  --kBg:#F6F3EA;
  --kInk:#14191D;--kInkRgb:20,25,29;--kBody:#484c4f;--kMuted:#777a7c;
  --lBg:#101820;
  --lInk:#F7F4EC;--lInkRgb:247,244,236;--lBody:#c1beb8;--lMuted:#8f8e89;
  --gAccent:#00455C; --gOnline:#24B36B;
    --hAccent:#FF8754; --hMark:#FFD99B;
    --jAccent:#00455C; --jAccentRgb:0,69,92;
    --kAccent:#0C8F8A; --kDark:#0B2530;
    --lAccent:#7FD8E8; --lAccentRgb:127,216,232; --lGlow2Rgb:12,143,138;
    /* Template I (Moldura Escura) */
    --iG1:#FFC24B; --iG2:#FF6F4D; --iBg1:#1A2129; --iBg2:#0F1216;
  }
  *{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;}
  /* ---------- scrollbars finas e discretas (global) ---------- */
  *{scrollbar-width:thin;scrollbar-color:rgba(20,24,27,.2) transparent;}
  ::-webkit-scrollbar{width:9px;height:9px;}
  ::-webkit-scrollbar-track{background:transparent;}
  ::-webkit-scrollbar-thumb{background:rgba(20,24,27,.18);border-radius:9px;border:2px solid transparent;background-clip:padding-box;}
  ::-webkit-scrollbar-thumb:hover{background:rgba(20,24,27,.32);background-clip:padding-box;}
  ::-webkit-scrollbar-corner{background:transparent;}
  /* campo do chat: barra invisível (input pequeno; rola sem mostrar barra) */
  #chatLog{scrollbar-width:none;}
  #chatLog::-webkit-scrollbar{width:0;height:0;}
  #chatInput{scrollbar-width:none;}
  #chatInput::-webkit-scrollbar{width:0;height:0;}
  body{background:#141414;color:#e7e7e7;font-family:var(--sans);padding:22px 16px 90px;}

  /* ---------- chrome (not exported) ---------- */
  .panel{max-width:1100px;margin:0 auto 16px;background:#1c1c1c;border:1px solid #2b2b2b;border-radius:16px;}
  .panel summary{cursor:pointer;list-style:none;padding:16px 20px;font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px;}
  .panel summary::-webkit-details-marker{display:none;}
  .panel summary::before{content:"›";display:inline-block;transition:.2s;font-size:18px;color:#8a8a8a;}
  .panel[open] summary::before{transform:rotate(90deg);}
  .panel .grp{padding:4px 20px 20px;}
  .panel h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#8a8a8a;margin:14px 0 10px;}
  .fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px 16px;}
  .field{display:flex;flex-direction:column;gap:5px;}
  .field label{font-size:12px;color:#a7a7a7;}
  .field input[type=text]{background:#101010;border:1px solid #313131;border-radius:9px;color:#f1f1f1;font:400 14px var(--sans);padding:9px 11px;}
  .field input[type=text]:focus{outline:none;border-color:#4a4a4a;}
  .colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 16px;}
  .swatch{display:flex;align-items:center;gap:10px;background:#101010;border:1px solid #313131;border-radius:9px;padding:7px 10px;}
  .swatch input[type=color]{width:34px;height:34px;border:none;background:none;cursor:pointer;padding:0;border-radius:6px;}
  .swatch span{font-size:12.5px;color:#cfcfcf;}

  .topbar{max-width:1100px;margin:0 auto 24px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;}
  .topbar .t h2{font-size:18px;font-weight:700;letter-spacing:-.01em;}
  .topbar .t p{font-size:12.5px;color:#9a9a9a;margin-top:3px;max-width:560px;}
  .tplpick{display:flex;gap:8px;align-items:center;background:#1c1c1c;border:1px solid #2b2b2b;border-radius:11px;padding:6px;}
  .tplpick button{appearance:none;border:none;background:transparent;color:#bbb;font:600 13.5px var(--sans);padding:9px 14px;border-radius:8px;cursor:pointer;}
  .tplpick button.on{background:#2f2f2f;color:#fff;}
  .btn{appearance:none;border:1px solid #2e2e2e;background:#202020;color:#f2f2f2;font:600 13.5px/1 var(--sans);padding:11px 16px;border-radius:10px;cursor:pointer;transition:.15s;}
  .btn:hover{background:#2a2a2a;}

  .grid{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:46px;align-items:center;}
  .frame{position:relative;}
  .frame .tag{position:absolute;top:-26px;left:2px;font-size:12px;color:#7a7a7a;font-weight:600;letter-spacing:.03em;}
  .frame .ctl{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:14px;flex-wrap:wrap;}
  .frame select{background:#202020;border:1px solid #313131;color:#e8e8e8;font:500 13px var(--sans);padding:9px 12px;border-radius:9px;cursor:pointer;}
  .frame .eye{display:inline-flex;align-items:center;gap:6px;background:#202020;border:1px solid #313131;color:#dcdcdc;font:500 12.5px var(--sans);padding:8px 11px;border-radius:9px;cursor:pointer;}
  .frame .eye .ico{display:flex;width:15px;height:15px;} .frame .eye .ico svg{width:15px;height:15px;}
  .frame .eye.off{color:#6f6f6f;background:#181818;border-color:#2a2a2a;}
  .stage{overflow:hidden;border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.5);position:relative;}
  /* aviso de texto excedente — fica no .stage (NÃO no .slide), então não entra na exportação */
  .frame.txt-overflow .stage{box-shadow:0 0 0 3px #e5484d,0 18px 50px rgba(0,0,0,.5);}
  .frame.txt-overflow .stage::after{content:"⚠ Texto excede o limite — reduza o texto ou a imagem";position:absolute;left:10px;top:10px;z-index:30;background:#e5484d;color:#fff;font:600 12px var(--sans);padding:5px 9px;border-radius:7px;line-height:1.2;max-width:calc(100% - 20px);pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.35);}
  body.overview-mode .frame.txt-overflow .stage::after{content:"⚠";left:6px;top:6px;font-size:13px;padding:3px 6px;}
  /* ===== preview progressivo da geração de imagem ===== */
  @keyframes genShimmer{to{background-position:-200% 0}}
  @keyframes genPulse{0%,100%{box-shadow:0 0 0 2px #6a5cff,0 18px 50px rgba(0,0,0,.5)}50%{box-shadow:0 0 0 2px #9b8cff,0 0 22px rgba(106,92,255,.7),0 18px 50px rgba(0,0,0,.5)}}
  @keyframes genReveal{from{opacity:.35;transform:scale(.985)}to{opacity:1;transform:none}}
  .frame.is-queued .stage::after,.frame.is-generating .stage::after{content:"";position:absolute;inset:0;z-index:18;pointer-events:none;border-radius:inherit;background:linear-gradient(110deg,transparent 22%,rgba(255,255,255,.12) 40%,transparent 58%);background-size:220% 100%;animation:genShimmer 1.35s linear infinite;}
  .frame.is-generating .stage{animation:genPulse 1.4s ease-in-out infinite;}
  .frame.is-error .stage::after{content:"";position:absolute;inset:0;z-index:18;pointer-events:none;border-radius:inherit;background:rgba(229,72,77,.10);}
  .frame.is-generating::before,.frame.is-error::before{content:attr(data-genlabel);position:absolute;top:-4px;left:50%;transform:translateX(-50%);z-index:45;font:600 11px var(--sans);letter-spacing:.03em;color:#fff;background:#6a5cff;padding:4px 10px;border-radius:20px;box-shadow:0 4px 14px rgba(74,58,255,.35);max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .frame.is-error .stage::before{background:#e5734d;}
  .frame.just-revealed .slide{animation:genReveal .55s ease;}
  input[type=file]{display:none;}

  /* ---------- slide base ---------- */
  /* letter-spacing:0 (em vez de "normal") evita que o html2canvas colapse os espaços entre
     palavras na exportação. Herdado: visualmente idêntico para estas fontes, e os cabeçalhos
     em caixa-alta (B/C) herdam o tracking do container mais próximo, então não são afetados. */
  .slide{letter-spacing:0;width:1080px;height:1350px;transform-origin:top left;position:relative;overflow:hidden;}
  [contenteditable]{outline:none;cursor:text;}
  [contenteditable]:hover{outline:1px dashed rgba(130,130,130,.55);outline-offset:5px;border-radius:6px;}
  [contenteditable]:focus{outline:none;box-shadow:0 0 0 2px rgba(120,160,255,.5);border-radius:6px;}
  /* Borda branca forte + sombra = visível sobre QUALQUER imagem (a antiga, com borda de 25% e
     sem sombra, sumia em capas escuras). */
  .upload{position:absolute;z-index:9;appearance:none;cursor:pointer;background:rgba(17,19,22,.86);backdrop-filter:blur(6px);
          border:2px solid rgba(255,255,255,.85);color:#fff;font:700 24px/1 var(--sans);padding:18px 26px;border-radius:14px;box-shadow:0 6px 22px rgba(0,0,0,.45);}
  .upload:hover{background:rgba(34,37,42,.94);border-color:#fff;}
/* Slot vazio ganha "Gerar imagem" além de "Trocar imagem". Os dois usam translateY em vez de
   left/top pra NÃO brigar com o posicionamento próprio de cada template (B e D, por ex.,
   ancoram o upload no canto): o transform compõe com o que o template já definiu. */
/* "Gerar imagem" fica na posição original (ação primária); o upload desce. Deslocar os dois
   em torno do ponto original jogava o de cima pra fora do slot, que tem overflow:hidden. */
.upload.has-gen{transform:translateY(84px);font-size:18px;padding:12px 18px;background:rgba(17,19,22,.72);border-width:1px;}
.upload.gen-slot{font-size:20px;padding:14px 20px;background:rgba(12,143,138,.92);border-color:rgba(255,255,255,.9);}
.upload.gen-slot:hover{background:rgba(12,143,138,1);border-color:#fff;}
.upload.gen-slot:disabled{opacity:.75;cursor:default;}
  .dragimg{cursor:grab;}
  .dragimg.dragging{cursor:grabbing;}
  /* gradientes decorativos das capas/fotos não capturam o ponteiro: deixa arrastar a imagem por baixo (mãozinha, igual aos demais slides) */
  .cover-grad,.dcover-grad,.bgrad,.cgrad,.icover-grad,.jcover-grad{pointer-events:none;}
  .image-grain::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background-image:var(--noise);background-size:150px 150px;opacity:.26;mix-blend-mode:soft-light;}
  .image-grain::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(120% 86% at 50% 46%,transparent 42%,rgba(0,0,0,.24) 100%);mix-blend-mode:multiply;}

  /* ===================== TEMPLATE A ===================== */
  .slide.A{background:radial-gradient(900px 520px at 18% 0%,rgba(var(--accentRgb),.13),transparent 58%),var(--bg);color:var(--ink);font-family:var(--sans);}
  .A .header{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:50px 68px 0;z-index:5;}
  .A .header .blk b{display:block;font-size:24px;font-weight:760;color:var(--ink);letter-spacing:-.01em;line-height:1;}
  .A .header .blk span{display:block;font-size:20px;color:var(--muted);margin-top:7px;line-height:1;}
  .A .header .copy{text-align:right;}
  .A.content{display:flex;flex-direction:column;padding:154px 68px 58px;}
  .A .stack{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0;gap:38px;}
  .A.content.balance .stack{justify-content:center;}
  .A.content.noimg .imgzone{display:none;}
  .A.content.noimg .txt{border-left:8px solid var(--accent);padding-left:30px;max-width:900px;}
  .A .txt{flex:none;}
  .A .headline{font-size:62px;font-weight:820;line-height:1.1;letter-spacing:-.02em;color:var(--ink);max-width:900px;}
  .A .body{font-size:35px;font-weight:420;line-height:1.42;color:var(--muted);margin-top:24px;letter-spacing:0;max-width:900px;}
  .A .imgzone{flex:none;width:100%;border-radius:22px;border:1px solid var(--line);background-size:cover;background-position:center;overflow:hidden;position:relative;box-shadow:0 24px 70px rgba(0,0,0,.28);}
  .A .imgzone.sz-grande{flex:1 1 auto;}
  .A .imgzone.sz-media{height:640px;}
  .A .imgzone.sz-pequena{height:430px;}
  .A .txt{order:1;} .A .imgzone{order:2;}
  .A.content.img-top .txt{order:2;} .A.content.img-top .imgzone{order:1;}
  .A .imgzone.placeholder{background-image:radial-gradient(120% 75% at 50% 18%, #20323c 0%, #11202a 42%, #0a1218 70%, #070b0e 100%);}
  .A .imgzone.placeholder::after{content:"";position:absolute;inset:0;background:linear-gradient(150deg, rgba(255,210,150,.10) 0%, rgba(255,210,150,0) 38%);mix-blend-mode:screen;}
  .A .imgzone .upload{right:24px;bottom:24px;}
  .A .footer{display:flex;align-items:center;justify-content:space-between;margin-top:38px;}
  .A .pills{display:flex;gap:18px;}
  .A .pills:empty{display:none;}
  .A .pill{height:62px;display:inline-flex;align-items:center;padding:0 30px;border-radius:31px;font-size:23px;font-weight:660;letter-spacing:-.01em;}
  .A .pill.blue{background:linear-gradient(180deg,var(--accent-top),var(--accent-bot));color:#fff;}
  .A .pill.dark{background:var(--pill-dark);color:#f1f1f1;}
  .A .swipe{font-size:22px;color:var(--muted2);font-weight:560;}
  .A.cover .cover-img{position:absolute;inset:0;background-size:cover;background-position:center;}
  .A.cover .cover-img.placeholder{background-image:radial-gradient(130% 90% at 50% 35%, #233742 0%, #13242e 45%, #0a1218 72%, #060a0d 100%);}
  .A.cover .cover-grad{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.50) 0%, rgba(0,0,0,.08) 26%, rgba(0,0,0,.18) 46%, rgba(0,0,0,.72) 70%, rgba(0,0,0,.94) 100%);}
  .A.cover .header .blk b{color:rgba(255,255,255,.9);}
  .A.cover .header .blk span{color:rgba(255,255,255,.55);}
  .A.cover .cover-content{position:absolute;left:0;right:0;bottom:0;padding:0 78px 150px;z-index:4;display:flex;flex-direction:column;align-items:center;text-align:center;}
  .A .twcard{display:flex;align-items:center;gap:16px;margin-bottom:30px;}
  .A .avatar{width:66px;height:66px;border-radius:50%;background-size:cover;background-position:center;border:2px solid rgba(255,255,255,.25);flex:none;background-color:#16252e;background-image:radial-gradient(circle at 50% 35%,#2b4452,#0e1b22);}
  .A .twtext{text-align:left;}
  .A .twname{display:flex;align-items:center;gap:8px;font-size:31px;font-weight:700;color:#fff;line-height:1;}
  .A .twname svg{width:30px;height:30px;}
  .A .twhandle{font-size:25px;color:rgba(255,255,255,.7);margin-top:5px;line-height:1;}
  .A .cover-title{font-size:62px;font-weight:830;line-height:1.08;letter-spacing:-.025em;color:#fff;max-width:930px;text-shadow:0 2px 24px rgba(0,0,0,.5);}
  .A .cover-swipe{font-size:24px;color:rgba(255,255,255,.65);margin-top:36px;font-weight:500;}
  .A.cover .cover-upload{right:40px;top:120px;}
  .A.content.hide-head{padding-top:60px;}
  .A.cover.hide-head .cover-upload{top:40px;}
  .A.cover.hide-head .cover-content{padding-bottom:170px;}

  /* ===================== TEMPLATE B ===================== */
  .slide.B{font-family:var(--inter);color:#fff;background:#000;}
  .B .bhead{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding:44px 64px 0;z-index:6;font-weight:760;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--bhd,#fff);}
  .B .bhead .right{display:flex;gap:40px;}
  .B .bimg .upload,.B .bphoto .upload{right:28px;bottom:28px;}
  /* Nas CAPAS do B (photo/cover/closing) e do D o botão é filho DIRETO do slide, fora do
     container da imagem — por isso caía no canto superior esquerdo (sobre o cabeçalho). Ancora
     no topo-direito, abaixo do header, como na capa A. (Varredura: só B e D tinham o problema.) */
  .slide.B>.upload,.slide.D>.upload{top:120px;right:40px;left:auto;bottom:auto;}

  /* panel scheme */
  .slide.B.panel{display:flex;flex-direction:column;padding:112px 64px 104px;background:
    linear-gradient(180deg,rgba(255,255,255,.05),transparent 28%),
    var(--bbg);}
  .B.panel .bhl{font-family:var(--anton);font-weight:400;text-transform:uppercase;font-size:78px;line-height:1.02;letter-spacing:0;color:var(--bhl);max-width:930px;}
  .B.panel .bimg{width:100%;border-radius:0;overflow:hidden;background-size:cover;background-position:center;margin:34px 0 0;position:relative;border:8px solid currentColor;}
  .B.panel .bimg.sz-grande{flex:1 1 auto;min-height:0;}
  .B.panel .bimg.sz-media{height:640px;}
  .B.panel .bimg.sz-pequena{height:470px;}
  .B.panel .bimg.placeholder{background-image:radial-gradient(120% 90% at 50% 30%, #d9d2b0 0%, #b9b08a 55%, #8f876a 100%);}
  .B.panel .bbody{font-family:var(--inter);font-weight:600;font-size:35px;line-height:1.36;letter-spacing:0;color:var(--bbd);margin-top:32px;max-width:850px;}
  .B.panel .bbody:empty{display:none;margin-top:0;}
  /* esquemas de painel (Editorial): bg/título/corpo/header por esquema — antes indefinidos (painel caía p/ preto) */
  .B.panel.s-orange-dark{--bbg:var(--bAccent);--bhl:var(--bDark);--bbd:var(--bDark);--bhd:var(--bDark);}
  .B.panel.s-orange-cream{--bbg:var(--bDark);--bhl:var(--bAccent);--bbd:var(--bCream);--bhd:var(--bAccent);}
  .B.panel.s-brown{--bbg:var(--bBrown);--bhl:var(--bCream);--bbd:var(--bCream);--bhd:var(--bAccent);}
  .B.panel.s-cream{--bbg:var(--bCream);--bhl:var(--bDark);--bbd:var(--bDark);--bhd:var(--bDark);}

  /* photo scheme */
  .slide.B.photo .bphoto,.slide.B.cover .bphoto,.slide.B.closing .bphoto{position:absolute;inset:0;background-size:cover;background-position:center;}
  .slide.B.photo .bphoto.placeholder,.slide.B.cover .bphoto.placeholder,.slide.B.closing .bphoto.placeholder{background-image:radial-gradient(130% 90% at 50% 30%, #3a5560 0%, #1f343d 55%, #0e1a20 100%);}
  .B .bgrad{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(0,0,0,.54) 0%, rgba(0,0,0,.08) 28%, rgba(0,0,0,.20) 48%, rgba(0,0,0,.74) 70%, rgba(0,0,0,.94) 100%);}
  .B.photo .bpc{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 64px 76px;}
  .B .arrow{width:62px;height:62px;border-radius:0;background:var(--bAccent);display:flex;align-items:center;justify-content:center;margin-bottom:28px;}
  .B .arrow svg{width:30px;height:30px;color:var(--bDark);}
  .B .bp1{font-family:var(--inter);font-weight:520;font-size:37px;line-height:1.34;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.42);max-width:880px;}
  .B .bp2{font-family:var(--inter);font-weight:780;font-size:38px;line-height:1.28;letter-spacing:0;color:#fff;margin-top:24px;text-shadow:0 2px 18px rgba(0,0,0,.42);max-width:880px;}
  .B .bp2:empty{display:none;} .B .bp1:empty{display:none;}
  .B .bphl{font-family:var(--anton);text-transform:uppercase;font-weight:400;font-size:56px;line-height:1.05;color:#fff;margin-bottom:22px;max-width:900px;}
  .B .bclosingbody{font-family:var(--inter);font-weight:500;font-size:35px;line-height:1.34;color:#fff;margin-top:24px;max-width:880px;}

  /* cover scheme */
  .B.cover .bpc{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 64px 98px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;}
  .B.cover .eyebrow{font-family:var(--inter);font-weight:700;text-transform:uppercase;font-size:23px;letter-spacing:.005em;color:var(--bCream);margin-bottom:16px;}
  .B.cover .eyebrow:empty{display:none;}
  .B.cover .ctitle{font-family:var(--anton);font-weight:400;text-transform:uppercase;font-size:74px;line-height:1.02;color:var(--bCream);max-width:940px;}
  .B.cover .ctapill{display:inline-flex;align-items:center;gap:16px;margin-top:40px;}
  .B.cover .ctapill .lbl{background:var(--bAccent);color:var(--bDark);font-weight:760;text-transform:uppercase;font-size:23px;letter-spacing:.01em;padding:17px 28px;border-radius:0;}
  .B.cover .ctapill .circ{width:60px;height:60px;border-radius:0;background:var(--bAccent);display:flex;align-items:center;justify-content:center;}
  .B.cover .ctapill .circ svg{width:28px;height:28px;color:var(--bDark);}

  /* closing scheme */
  .B.closing .bpc{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 60px 76px;}
  .B.closing .clabel{display:inline-flex;background:var(--bAccent);color:var(--bDark);font-weight:700;text-transform:uppercase;font-size:23px;letter-spacing:.02em;padding:15px 24px;border-radius:10px;margin-bottom:22px;}
  .B.closing .ctitle{font-family:var(--anton);font-weight:400;font-size:60px;line-height:1.04;color:var(--bCream);max-width:900px;}
  .B.panel.hide-head{padding-top:104px;}
  .B.cover.hide-head .bpc{padding-bottom:130px;}
  .B.photo.hide-head .bpc{padding-bottom:96px;}
  .B.closing.hide-head .bpc{padding-bottom:108px;}

  /* ===================== TEMPLATE C ===================== */
  .slide.C{font-family:var(--inter);color:#fff;background:#000;}
  .slide.C.c-charcoal{background-color:var(--cCharcoal);background-image:linear-gradient(90deg,rgba(var(--cRedRgb),.18) 0 12px,transparent 12px),var(--noise);background-size:auto,180px;background-blend-mode:normal,soft-light;}
  .slide.C.c-navy{background-color:var(--cNavy);background-image:linear-gradient(90deg,rgba(var(--cRedRgb),.18) 0 12px,transparent 12px),var(--noise);background-size:auto,180px;background-blend-mode:normal,soft-light;}
  .slide.C.c-cream{background-color:var(--cCream);color:#1a1a1a;}
  .slide.C.cover,.slide.C.photo{background:#000;color:#fff;}

  .C .cheader{position:absolute;top:58px;left:64px;right:64px;display:flex;justify-content:space-between;font-weight:760;font-size:17px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78);z-index:6;}
  .slide.C.c-cream .cheader{color:var(--cRed);}

  .C .chl{font-family:var(--inter);font-size:72px;line-height:1.08;letter-spacing:-.02em;max-width:920px;}
  .C .ts-red-bold{color:var(--cRed);font-weight:800;}
  .C .ts-red-light{color:var(--cRed);font-weight:300;}
  .C .ts-white-bold{color:#fff;font-weight:800;}
  .C .ts-white-light{color:#fff;font-weight:300;}
  .C .ts-dark-bold{color:#141414;font-weight:800;}
  .C .cbody{font-family:var(--inter);font-weight:430;font-size:36px;line-height:1.42;letter-spacing:0;max-width:880px;}
  .slide.C.c-cream .cbody{color:#262626;}

  .slide.C.text,.slide.C.textimg,.slide.C.imgtext,.slide.C.single,.slide.C.duo{display:flex;flex-direction:column;padding:152px 64px 170px;}
  .C .cbodywrap,.C .cstack{flex:1;display:flex;flex-direction:column;min-height:0;}
  .C .cbodywrap{gap:42px;justify-content:center;}
  .C .cstack{gap:34px;}
  .C .cimg{width:100%;border-radius:12px;overflow:hidden;background-size:cover;background-position:center;position:relative;border:1px solid rgba(255,255,255,.14);}
  .C .cimg.placeholder{background-image:radial-gradient(120% 90% at 50% 30%, #3a3f55 0%, #232634 55%, #14161f 100%);}
  .C .cimg .upload{right:24px;bottom:24px;}
  .slide.C.textimg .cimg{flex:1 1 auto;min-height:0;}
  .slide.C.imgtext .cimg{height:600px;flex:none;}
  .C .cimg.fill{flex:1 1 auto;min-height:0;}
  .slide.C.duo .cstack{gap:30px;}

  .slide.C.photo,.slide.C.cover{padding:0;}
  .C .cphoto{position:absolute;inset:0;background-size:cover;background-position:center;}
  .C .cphoto.placeholder{background-image:radial-gradient(130% 90% at 50% 30%, #1a2240 0%, #0d1430 55%, #070a18 100%);}
  .C .cgrad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.06) 28%,rgba(0,0,0,.16) 44%,rgba(0,0,0,.66) 66%,rgba(0,0,0,.94) 100%);}
  .C .cphoto-c{position:absolute;left:64px;right:64px;bottom:180px;z-index:3;display:flex;flex-direction:column;gap:30px;}
  .C .ccover-c{position:absolute;left:64px;right:64px;bottom:225px;z-index:3;}
  .C .ccover-c .csub{font-weight:700;font-size:38px;margin-top:30px;color:#fff;}
  .slide.C.cover .chl,.slide.C.photo .chl{font-size:76px;line-height:1.06;}

  .C .footerC{position:absolute;left:64px;right:64px;bottom:58px;height:72px;border:1.5px solid rgba(255,255,255,.45);border-radius:0;display:flex;align-items:center;z-index:6;}
  .C .footerC .ast{width:64px;height:64px;margin-left:6px;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;letter-spacing:.02em;line-height:1;flex:none;font-variant-numeric:tabular-nums;}
  .C .footerC .swipeC{margin-left:auto;margin-right:32px;display:flex;align-items:center;gap:18px;font-weight:700;font-size:19px;letter-spacing:.1em;text-transform:uppercase;}
  .C .footerC .swipeC .sl{opacity:.55;}
  .C .footerC .swipeC svg{width:36px;height:24px;}
  .slide.C.c-cream .footerC{background:#e7e6df;border-color:transparent;}
  .slide.C.c-cream .footerC .ast{border-color:#cfcdc2;color:var(--cRed);}
  .slide.C.text.hide-head,.slide.C.textimg.hide-head,.slide.C.imgtext.hide-head,.slide.C.single.hide-head,.slide.C.duo.hide-head{padding-top:70px;}
  .slide.C.cover.hide-head .ccover-c{bottom:275px;}
  .slide.C.photo.hide-head .cphoto-c{bottom:215px;}

  /* ===================== TEMPLATE D ===================== */
  .slide.D{background:radial-gradient(880px 560px at 10% -4%,rgba(var(--dG1Rgb),.18),transparent 60%),radial-gradient(760px 520px at 92% 18%,rgba(var(--dG3Rgb),.12),transparent 62%),var(--dBg);color:#fff;font-family:var(--inter);}
  .D .dheader{position:absolute;top:52px;left:64px;right:64px;display:flex;justify-content:space-between;z-index:6;}
  .D .dheader .blk b{display:block;font-size:26px;font-weight:700;line-height:1;color:#fff;}
  .D .dheader .blk span{display:block;font-size:22px;color:rgba(255,255,255,.72);margin-top:6px;line-height:1;}
  .D .dheader .copy{text-align:right;display:none;}   /* remove o "Copyright ©" (ruído no topo) */

  .slide.D.content{display:flex;flex-direction:column;}
  .D .dimg{flex:none;position:relative;width:100%;background-size:cover;background-position:center;}
  .D .dimg.sz-grande{height:720px;} .D .dimg.sz-media{height:590px;} .D .dimg.sz-pequena{height:470px;}
  .D .dimg.placeholder{background-image:radial-gradient(120% 90% at 50% 25%, #2a2a30 0%, #161619 55%, #0a0a0a 100%);}
  .D .dimg .dgrad{position:absolute;inset:0;background:linear-gradient(180deg, rgba(10,10,10,.22) 0%, rgba(10,10,10,0) 28%, rgba(10,10,10,.05) 55%, rgba(10,10,10,.85) 88%, var(--dBg) 100%);}
  .D .dimg .upload{right:24px;bottom:40px;z-index:9;}
  .slide.D.content.noimg .dimg{display:none;}
  .slide.D.content.noimg .dtext{padding:0 72px;margin:auto 0;border-left:10px solid var(--dG1);}
  /* mesma estrutura de A e E: o conteudo ganha um contêiner flex:1 pra poder centralizar
   verticalmente. Sem ele, o margin-top:auto do rodape engolia toda a folga e o bloco
   ficava colado no topo. */
.D .dstack{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;}
.D .dtext{padding:50px 64px 0;}
  .D .headlineD{font-family:var(--anton);font-weight:400;text-transform:uppercase;font-size:54px;line-height:1.14;letter-spacing:0;color:#fff;max-width:900px;}
.headlineD::after{content:"";display:block;width:172px;height:10px;margin-top:26px;border-radius:6px;background:linear-gradient(90deg,var(--dG1),var(--dG2),var(--dG3));}
  .D .bodyD{font-family:var(--inter);font-weight:430;font-size:33px;line-height:1.44;color:rgba(255,255,255,.88);margin-top:24px;letter-spacing:0;max-width:890px;}

  .D .dfooter{margin-top:auto;padding:0 64px 58px;display:flex;align-items:center;justify-content:space-between;}
  .D .pills{display:flex;gap:18px;}
  .D .pills:empty{display:none;}
  .D .pill{height:62px;display:inline-flex;align-items:center;padding:0 30px;border-radius:31px;font-size:23px;font-weight:650;letter-spacing:-.01em;}
  .D .pill.grad{background:linear-gradient(90deg,var(--dG1),var(--dG2),var(--dG3));color:#06100c;}
  .D .pill.dark{background:#1c1c1e;color:#f1f1f1;}
  .D .swipe{font-size:22px;color:rgba(255,255,255,.62);font-weight:560;}
  .D .dcta{display:flex;align-items:center;gap:14px;font-size:23px;color:rgba(255,255,255,.85);font-weight:500;}
  .D .dcta .ic{display:flex;width:30px;height:30px;color:var(--dG2);}
  .D .dcta .ic svg{width:30px;height:30px;}

  .slide.D.cover .dcover-img{position:absolute;inset:0;background-size:cover;background-position:center;}
  .slide.D.cover .dcover-img.placeholder{background-image:radial-gradient(130% 90% at 50% 30%, #2a2a30 0%, #161619 55%, #0a0a0a 100%);}
  .slide.D.cover .dcover-grad{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.05) 28%, rgba(0,0,0,.28) 50%, rgba(0,0,0,.76) 72%, rgba(0,0,0,.95) 100%);}
  .slide.D.cover .dcover-content{position:absolute;left:64px;right:64px;bottom:178px;z-index:3;}
  .slide.D.cover .dfooter{position:absolute;left:0;right:0;bottom:0;margin-top:0;}
  .D .dtwcard{display:flex;align-items:center;gap:16px;margin-bottom:28px;}
  .D .davatar{width:64px;height:64px;border-radius:50%;background:none;padding:0;flex:none;}
  .D .davatar i{display:block;width:100%;height:100%;border-radius:50%;background-size:cover;background-position:center;background-color:#222;border:2px solid rgba(255,255,255,.25);box-sizing:border-box;}
  .D .dtwname{display:flex;align-items:center;gap:8px;font-size:31px;font-weight:700;color:#fff;line-height:1;}
  .D .dtwname svg{width:30px;height:30px;}
  .D .dtwhandle{font-size:25px;color:rgba(255,255,255,.8);margin-top:5px;line-height:1;}
  .slide.D.cover .headlineD{font-size:58px;line-height:1.1;margin-top:0;max-width:920px;}
  .slide.D.content.hide-head .dtext{padding-top:54px;}
  .slide.D.content.hide-head.noimg .dtext{padding-top:96px!important;}
  .slide.D.cover.hide-head .dcover-content{bottom:225px;}

  /* ===================== TEMPLATE E ===================== */
  .slide.E{background:
    linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,0) 34%),
    radial-gradient(760px 520px at 0% 18%,rgba(var(--eG1Rgb),.17),transparent 64%),
    radial-gradient(640px 460px at 100% 78%,rgba(var(--eG3Rgb),.14),transparent 68%),
    var(--eBg);color:var(--eInk);font-family:var(--inter);display:flex;flex-direction:column;padding:148px 64px 56px;}
  /* assinatura do Gradiente Claro: fita em degrade no topo (mesmas cores das pills) */
  .E::before{content:"";position:absolute;top:0;left:0;right:0;height:14px;z-index:3;
    background:linear-gradient(90deg,var(--eG1),var(--eG2),var(--eG3));}
  .E .eheader{position:absolute;top:52px;left:64px;right:64px;display:flex;justify-content:space-between;z-index:6;}
  .E .eheader .blk b{display:block;font-size:26px;font-weight:700;color:#1a1a1a;line-height:1;}
  .E .eheader .blk span{display:block;font-size:22px;color:#9a9a9a;margin-top:6px;line-height:1;}
  .E .eheader .copy{text-align:right;}
  .E .estack{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0;}
  .E .ecard{display:flex;align-items:center;gap:16px;margin-bottom:30px;flex:none;}
  .E .eavatar{width:64px;height:64px;border-radius:50%;background:none;padding:0;flex:none;}
  .E .eavatar i{display:block;width:100%;height:100%;border-radius:50%;background-size:cover;background-position:center;background-color:#cfcfcf;background-image:radial-gradient(circle at 50% 35%,#9a9a9a,#5f5f5f);border:2px solid rgba(0,0,0,.12);box-sizing:border-box;}
  .E .ename{display:flex;align-items:center;gap:8px;font-weight:700;font-size:31px;color:var(--eInk);line-height:1;}
  .E .ename svg{width:30px;height:30px;}
  .E .ehandle{font-size:25px;color:#7c7c7c;margin-top:5px;line-height:1;}
  .E .etxt{flex:none;}
  .E .ehl{font-weight:780;font-size:52px;line-height:1.14;letter-spacing:-.015em;color:var(--eInk);max-width:890px;}
  .E .ebody{font-weight:420;font-size:38px;line-height:1.42;color:var(--eBody);margin-top:22px;letter-spacing:0;max-width:890px;}
  .E .eimg{margin-top:34px;width:100%;border-radius:18px;border:1px solid rgba(0,0,0,.08);background-size:cover;background-position:center;overflow:hidden;position:relative;box-shadow:0 22px 60px rgba(21,25,28,.14);}
  .E .eimg.sz-grande{flex:1 1 auto;min-height:0;}
  .E .eimg.sz-media{height:560px;flex:none;}
  .E .eimg.sz-pequena{height:420px;flex:none;}
  .E .eimg.placeholder{background-image:radial-gradient(120% 90% at 50% 30%, #dcdbd7 0%, #c7c6c1 60%, #b4b3ae 100%);}
  .E .eimg .upload{right:24px;bottom:24px;}
  .slide.E.noimg .eimg{display:none;}
  .slide.E.noimg .estack{justify-content:center;padding-bottom:108px;}
  .slide.E.noimg .ecard{margin-bottom:46px;}
  .slide.E.noimg .etxt{max-width:900px;border-left:10px solid var(--eG3);padding-left:30px;}
/* toggle "Linha": remove a barra vertical decorativa dos slides só-texto (e o recuo que a acompanha) */
.slide.norule.A.content.noimg .txt{border-left:0;padding-left:0;}
.slide.norule.D.content.noimg .dtext{border-left:0;}
.slide.norule.E.noimg .etxt{border-left:0;padding-left:0;}
  .slide.E.noimg .ehl{font-size:60px;line-height:1.08;}
  .slide.E.noimg .ebody{margin-top:26px;}
  .slide.E.noimg.hide-head .estack{padding-bottom:128px;}
  .E .efooter{display:flex;align-items:center;justify-content:space-between;margin-top:42px;flex:none;}
  .E .pills{display:flex;gap:18px;}
  .E .pills:empty{display:none;}
  .E .pill{height:62px;display:inline-flex;align-items:center;padding:0 30px;border-radius:31px;font-size:23px;font-weight:650;letter-spacing:-.01em;}
  .E .pill.grad{background:linear-gradient(90deg,var(--eG1),var(--eG2),var(--eG3));color:#fff;}
  .E .pill.dark{background:#2b2b2b;color:#fff;}
  .E .swipe{font-size:22px;color:#7b8389;font-weight:560;}
  .E .ecta{display:flex;align-items:center;gap:14px;font-size:23px;color:#333;font-weight:500;}
  .E .ecta .ic{display:flex;width:30px;height:30px;color:var(--eG2);}
  .slide.E.hide-head{padding-top:60px;}
  .E .ecta .ic svg{width:30px;height:30px;}

  /* ===================== APP SHELL ===================== */
  html,body{height:100%;}
  body{background:var(--ui-bg);color:var(--ui-text);padding:0;overflow:hidden;font-family:var(--inter);}
  button,input,select{font-family:inherit;}
  button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[contenteditable]:focus-visible{outline:2px solid var(--ui-brand);outline-offset:2px;}

  .app-header{--header-control-h:38px;height:60px;border-bottom:1px solid var(--ui-border);background:#131517;display:flex;align-items:center;gap:18px;padding:0 20px;position:relative;z-index:20;}
  .brandmark{display:flex;align-items:center;gap:11px;min-width:252px;}
  .brandmark-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:7px;background:var(--ui-brand);color:#09261a;font-weight:900;font-size:17px;}
.brandmark-logo{height:32px;width:auto;display:block;opacity:.96;}
  .brandmark-copy strong{display:block;font-size:14px;line-height:1.1;letter-spacing:0;}
  .brandmark-copy span{display:block;color:var(--ui-muted);font-size:11px;margin-top:3px;}
  .doc-title{display:flex;align-items:center;gap:8px;min-width:0;flex:1;color:#c6cbd0;font-size:13px;}
  .doc-title strong{color:var(--ui-text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .save-state{display:none;align-items:center;gap:7px;color:var(--ui-muted);font-size:12px;white-space:nowrap;}
  .save-state::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ui-brand);box-shadow:0 0 0 3px rgba(98,220,165,.12);}
  .header-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none;}
  .header-home{height:36px;display:inline-flex;align-items:center;gap:8px;border:1px solid #d4e4df;background:#fff;color:#34383b;border-radius:8px;padding:0 12px;font:650 12.5px var(--inter,Arial);cursor:pointer;transition:background .15s,border-color .15s,color .15s;}
  .header-home:hover{background:var(--ui-accent-soft);border-color:#9fd0c5;color:#173e2f;}
  .header-home svg{width:16px;height:16px;flex:none;}
  .header-actions .btn,.header-home,.credit-chip,.account-btn{box-sizing:border-box;height:var(--header-control-h);min-height:var(--header-control-h);border-radius:10px;}
  .header-actions .btn{padding:0 16px;font-size:13px;line-height:1;}
  .header-actions .btn.primary{padding:0 18px;border-radius:10px;}
  .icon-btn{width:36px;height:36px;padding:0;border-radius:7px;border:1px solid var(--ui-border);background:var(--ui-raised);color:#d7dbde;display:grid;place-items:center;cursor:pointer;transition:background .15s,border-color .15s,color .15s;}
  .icon-btn:hover{background:#262a2e;border-color:#3a4045;color:#fff;}
  .icon-btn svg{width:17px;height:17px;}

  .app-shell{height:calc(100vh - 68px);display:grid;grid-template-columns:288px minmax(420px,1fr) 220px;min-height:0;}
  .settings-pane,.slide-rail{background:#131517;overflow:auto;scrollbar-width:thin;scrollbar-color:#34383c transparent;}
  .settings-pane{border-right:1px solid var(--ui-border);padding:18px 14px 28px;}
  .pane-kicker{font-size:11px;font-weight:700;color:var(--ui-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 6px 10px;}
  .tplpick{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:transparent;border:0;border-radius:0;padding:0;margin-bottom:18px;}
  .tplpick button{border:1px solid var(--ui-border);background:var(--ui-surface);min-height:40px;padding:8px 9px;border-radius:7px;text-align:left;font-size:11px;line-height:1.25;}
  .tplpick button.on{background:rgba(98,220,165,.1);border-color:rgba(98,220,165,.55);color:var(--ui-brand);box-shadow:inset 3px 0 0 var(--ui-brand);}
  .tplpick button:first-child{grid-column:1/-1;}

  .panel{max-width:none;margin:0;background:transparent;border:0;border-top:1px solid var(--ui-border);border-radius:0;}
  .panel summary{padding:16px 4px;font-size:13px;justify-content:space-between;gap:8px;}
  .panel summary::before{order:2;content:"+";font-size:16px;color:var(--ui-muted);}
  .panel[open] summary::before{content:"−";transform:none;}
  .panel .grp{padding:0 4px 16px;}
  .panel h4{font-size:10px;letter-spacing:.09em;margin:12px 0 9px;}
  .fields,.colors{grid-template-columns:1fr;gap:10px;}
  .field{gap:6px;}
  .field label{font-size:11px;color:#aab0b5;}
  .field input[type=text]{background:#0e1012;border-color:var(--ui-border);border-radius:7px;font-size:12px;padding:9px 10px;}
  .swatch{background:#0e1012;border-color:var(--ui-border);border-radius:7px;padding:6px 8px;}
  .swatch input[type=color]{width:28px;height:28px;border-radius:5px;}
  .swatch span{font-size:11px;}

  .workspace{min-width:0;min-height:0;display:flex;flex-direction:column;background:#0d0f10;position:relative;}
  .workspace-toolbar{height:52px;flex:none;border-bottom:1px solid var(--ui-border);display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#121416;}
  /* Imagem/Design são injetados na barra sempre (evita corrida de matchMedia no WebView); só aparecem no mobile */
  .toolbar-sheet-btn{display:none;}
/* Lapidar: visivel em qualquer largura (sheet-btn e mobile-only) */
.toolbar-polish-btn{flex:none;height:34px;display:inline-flex;align-items:center;gap:6px;border:1px solid #dfe4e5;background:#fff;color:#3f4549;border-radius:8px;padding:0 13px;font:650 11.5px var(--inter);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s;}
.toolbar-polish-btn:hover{background:#f2f4f4;color:#17251f;border-color:#cfd6d8;}
.toolbar-polish-btn svg{width:15px;height:15px;flex:none;}
.ctx-pin{display:flex;align-items:center;gap:8px;font-size:13px;color:#4a5257;cursor:pointer;margin:2px 0 6px;}
.chat-msg.chat-system{white-space:pre-wrap;}
/* diff antes/depois no modal de aplicar roteiro */
.confirm-detail{max-height:300px;overflow:auto;margin:10px 0 2px;padding:10px 12px;border:1px solid rgba(43,48,51,.14);border-radius:10px;background:rgba(43,48,51,.03);}
.cr-row{padding:8px 0;border-bottom:1px solid rgba(43,48,51,.08);}
.cr-row:last-child{border-bottom:0;}
.cr-slide{font:700 12px var(--inter,Arial);letter-spacing:.04em;text-transform:uppercase;color:#5a6367;margin-bottom:4px;}
.cr-before{font-size:13px;line-height:1.45;color:#9a4b43;}
.cr-after{font-size:13px;line-height:1.45;color:#1e6b52;}
.ctx-pin-badge{font-style:normal;font-size:11px;font-weight:700;color:#0C8F8A;background:rgba(12,143,138,.1);
  border-radius:999px;padding:2px 8px;margin-left:6px;vertical-align:middle;}
  .slide-context{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ui-muted);}
  .slide-context strong{color:#e8ebed;font-weight:600;}
  .zoom-control{display:flex;align-items:center;border:1px solid var(--ui-border);border-radius:7px;overflow:hidden;background:var(--ui-surface);}
  .zoom-control button{width:32px;height:30px;border:0;background:transparent;color:#c7ccd0;cursor:pointer;font-size:17px;}
  .zoom-control button:hover{background:#272b2e;color:#fff;}
  .zoom-control output{width:54px;text-align:center;color:#aab0b5;font-size:11px;border-left:1px solid var(--ui-border);border-right:1px solid var(--ui-border);}
  .grid{max-width:none;margin:0;flex:1;min-height:0;overflow:auto;padding:34px 28px 46px;display:flex;flex-direction:column;align-items:center;gap:0;}
  .frame{display:none;}
  .frame.active{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;margin:auto 0;position:static;}
  .frame .tag{position:static;margin-bottom:10px;font-size:11px;color:#858c92;}
  .stage{border-radius:10px;box-shadow:0 22px 70px rgba(0,0,0,.55);outline:1px solid rgba(255,255,255,.08);}
  .slide-arrow{position:absolute;top:calc(50% + 26px);transform:translateY(-50%);z-index:8;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--ui-border);background:rgba(255,255,255,.9);color:var(--ui-text);cursor:pointer;backdrop-filter:blur(8px);box-shadow:0 6px 20px rgba(20,24,27,.18);transition:background .15s,opacity .15s,transform .15s;}
  .slide-arrow svg{width:22px;height:22px;}
  .slide-arrow:hover:not(:disabled){background:var(--ui-brand);color:#fff;border-color:var(--ui-brand);}
  .slide-arrow:disabled{opacity:.32;cursor:default;pointer-events:none;}
  .slide-arrow-prev{left:18px;} .slide-arrow-next{right:18px;}
  body.overview-mode .slide-arrow,body.preview-mode .slide-arrow{display:none;}
  .frame .ctl{max-width:660px;margin-top:16px;padding:10px;background:#151719;border:1px solid var(--ui-border);border-radius:8px;gap:7px;}
  .frame select,.frame .eye{height:34px;background:#202326;border-color:#34383d;border-radius:6px;font-size:11px;padding:7px 9px;}
  .frame .eye{gap:6px;}
  .btn{border-color:#34383d;background:#202326;border-radius:7px;font-size:12px;padding:10px 13px;}
  .upload{font-size:22px;}

  .slide-rail{border-left:1px solid var(--ui-border);padding:18px 14px;}
  .rail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
  .rail-head strong{font-size:12px;}
  .rail-head span{font-size:10px;color:var(--ui-muted);background:#202326;border-radius:10px;padding:3px 7px;}
  .slide-nav{display:flex;flex-direction:column;gap:10px;}
  .slide-nav-item{width:100%;border:1px solid var(--ui-border);background:#181a1c;border-radius:7px;padding:7px;cursor:pointer;text-align:left;color:#b7bdc1;transition:border-color .15s,background .15s;}
  .slide-nav-item:hover{background:#202326;border-color:#3b4146;}
  .slide-nav-item.active{border-color:var(--ui-brand);background:rgba(98,220,165,.07);box-shadow:0 0 0 1px rgba(98,220,165,.18);}
  .nav-preview{display:block;aspect-ratio:4/5;border-radius:4px;background:#25282b;overflow:hidden;position:relative;margin-bottom:7px;}
  .nav-preview::before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#34383b,#1b1e20);}
  .nav-preview::after{content:"";position:absolute;left:10%;right:16%;bottom:14%;height:24%;border-top:3px solid rgba(255,255,255,.42);border-bottom:2px solid rgba(255,255,255,.18);}
  .slide-nav-item.active .nav-preview::before{background:linear-gradient(145deg,#1b3d2f,#17221e);}
  .nav-label{display:flex;justify-content:space-between;gap:8px;font-size:10px;}
  .nav-label strong{font-weight:600;color:#e3e6e8;}
  .nav-label span{color:#737b81;}
  .mobile-settings{display:none;}

  .toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#f1f5f3;color:#13231c;border-radius:7px;padding:10px 14px;font-size:12px;font-weight:600;opacity:0;pointer-events:none;transition:.2s;z-index:50;box-shadow:0 12px 30px rgba(0,0,0,.3);}
  .toast.show{opacity:1;transform:translate(-50%,0);}
  body.preview-mode .settings-pane,body.preview-mode .slide-rail{display:none;}
  body.preview-mode .app-shell{grid-template-columns:1fr;}
  body.preview-mode .app-header,body.preview-mode .workspace-toolbar,body.preview-mode .frame .ctl,body.preview-mode .frame .tag{display:none;}
  body.preview-mode .grid{padding:24px;place-items:center;}
  /* Prévia = mesmo tratamento da exportação: editor-only some. Componentes ocultos COLAPSAM
     igual nos três (editor/prévia/PNG) — a pilha de pílulas é absoluta e não mexe no fluxo. */
  body.preview-mode .editor-only,body.preview-mode .upload{display:none!important;}
  /* botão de sair: a toolbar some no preview, então o retorno é um pill flutuante (+ Esc) */
  .preview-exit{display:none;}
  body.preview-mode .preview-exit{display:inline-flex;align-items:center;gap:8px;position:fixed;top:16px;right:16px;z-index:60;height:38px;padding:0 15px;border-radius:999px;border:0;background:#17251f;color:#fff;font:650 12.5px var(--inter);cursor:pointer;box-shadow:0 6px 20px rgba(20,24,27,.22);}
  body.preview-mode .preview-exit:hover{background:#203c32;}
  .preview-exit kbd{font:600 10.5px var(--inter);background:rgba(255,255,255,.16);border-radius:5px;padding:2px 6px;line-height:1;}

  @media(max-width:980px){
    .app-shell{grid-template-columns:250px minmax(360px,1fr);}
    .slide-rail{display:none;}
    .brandmark{min-width:230px;}
  }
  @media(max-width:720px){
    body{overflow:auto;}
    .app-header{height:60px;padding:0 12px;gap:10px;position:sticky;top:0;}
    .brandmark{min-width:0;flex:1;}.brandmark-copy span,.doc-title,.save-state,.header-actions .icon-btn{display:none;}
    .header-home{height:34px;padding:0 10px;}
    .header-home span{display:none;}
    .app-shell{height:auto;min-height:calc(100vh - 60px);display:block;}
    .settings-pane{display:none;position:fixed;inset:60px 0 0;z-index:30;border:0;padding:18px;background:#131517;}
    .settings-pane.open{display:block;}
    .header-actions .mobile-settings{display:grid;}
    .workspace{min-height:calc(100vh - 60px);}
    .workspace-toolbar{padding:0 12px;}
    .grid{padding:24px 12px 36px;overflow:visible;}
    .frame .ctl{max-width:calc(100vw - 24px);}
    .frame select{max-width:180px;}
  }
  @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;}}

  /* Refined editor skin */
  :root{--ui-bg:#e9ebed;--ui-surface:#ffffff;--ui-raised:#f6f7f7;--ui-border:#dfe2e4;--ui-text:#17191b;--ui-muted:#71777c;--ui-brand:#00455C;--ui-brand-strong:#0B2530;--ui-accent:#0C8F8A;--ui-accent-soft:#E8F5F2;--ui-warm:#F06A3D;--ui-warm-soft:#FFF0EA;}
  body{background:var(--ui-bg);color:var(--ui-text);}
  .app-header{height:60px;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(248,253,251,.96));border-color:#d8dddf;padding:0 18px;box-shadow:0 1px 0 rgba(20,24,27,.04),0 10px 30px rgba(0,69,92,.06);backdrop-filter:blur(14px);}
  .brandmark{min-width:0;gap:10px;}
    .brandmark-icon{width:30px;height:30px;border-radius:6px;background:#17251f;color:#89e2b8;font-size:15px;}
    .brandmark-logo{height:28px;}
  .brandmark-copy strong{font-size:13px;color:#17191b;}.brandmark-copy span{color:#6c7378;font-size:11px;}
  .doc-title{color:#969b9f;font-size:12px;min-width:0;max-width:min(58vw,820px);overflow:hidden;}
  .doc-title>span{flex:0 0 auto;}
  .doc-title strong{color:#2b3033;font-weight:600;min-width:0;}
  #projectName{display:block;cursor:text;border-radius:5px;padding:2px 6px;margin:-2px -2px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  #projectName:hover{background:#f1f3f3;}
  #projectName[contenteditable="true"]{background:#fff;box-shadow:0 0 0 2px rgba(0,69,92,.26);overflow:hidden;text-overflow:ellipsis;cursor:text;}
  .save-state{color:#5f666c;font-size:12px;}.save-state::before{width:6px;height:6px;box-shadow:none;}
  .icon-btn{width:34px;height:34px;border-color:transparent;background:transparent;color:#5c6267;border-radius:7px;}
  .icon-btn:hover{background:#eef2f1;border-color:#dfe6e3;color:#14251e;}
  .btn{transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;}
  .btn.primary{border:0;background:linear-gradient(180deg,#17251f,#0f2b28);color:#fff;font-weight:700;border-radius:7px;padding:10px 14px;box-shadow:0 1px 2px rgba(0,0,0,.1),0 8px 18px rgba(0,69,92,.16);}
  .btn.primary:hover{background:linear-gradient(180deg,#203c32,#123832);color:#fff;}
  .btn.ready{background:var(--ui-brand);border-color:var(--ui-brand);color:#fff;}
  .btn.busy{opacity:.62;pointer-events:none;}

  .app-shell{height:calc(100vh - 60px);grid-template-columns:260px minmax(440px,1fr) 184px;}
  .settings-pane,.slide-rail{background:linear-gradient(180deg,#fbfcfc 0%,#f4faf8 100%);scrollbar-color:#cdd1d3 transparent;}
  .settings-pane{padding:20px 16px 28px;border-color:#d4e4df;box-shadow:1px 0 0 rgba(255,255,255,.8) inset,3px 0 0 rgba(12,143,138,.08) inset;}
  .pane-kicker{color:#6c7378;font-size:10px;letter-spacing:.11em;margin:0 0 7px;}
  .template-field{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;}
  .template-field span{font-size:12px;color:#62686c;font-weight:550;}
  .template-field select{width:100%;height:38px;border:1px solid #d9dddf;background:#fff;color:#24272a;border-radius:7px;padding:0 30px 0 10px;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px rgba(20,24,27,.03);}
  .select-native-hidden{position:absolute!important;inline-size:1px!important;block-size:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;}
  .ui-select{position:relative;min-width:0;}
  .template-field .ui-select{width:100%;}
  .ctl-selects .ui-select{flex:0 0 156px;min-width:0;max-width:176px;overflow:visible;}
  .adjust-field .ui-select,.bk-form .ui-select,.schedule-field .ui-select{grid-column:1/-1;width:100%;}
  .ui-select-trigger{width:100%;height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #d9dddf;background:#fff;color:#24272a;border-radius:8px;padding:0 10px 0 12px;font:650 12px var(--inter);cursor:pointer;box-shadow:0 1px 2px rgba(20,24,27,.03);transition:background .15s,border-color .15s,box-shadow .15s;}
  .ui-select-trigger:hover{background:#f8fbfa;border-color:#c7d0cc;}
  .ui-select.open .ui-select-trigger,.ui-select-trigger:focus-visible{border-color:#7fc4b8;box-shadow:0 0 0 3px rgba(12,143,138,.13);}
  .ui-select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .ui-select-chevron{width:15px;height:15px;flex:none;color:#788084;transition:transform .15s;}
  .ui-select.open .ui-select-chevron{transform:rotate(180deg);}
  .ui-select-menu{position:absolute;z-index:90;left:0;right:0;top:calc(100% + 6px);display:none;max-height:260px;overflow:auto;padding:5px;border:1px solid #d8dddf;border-radius:10px;background:rgba(255,255,255,.98);box-shadow:0 18px 45px rgba(20,24,27,.18),0 1px 0 rgba(255,255,255,.9) inset;backdrop-filter:blur(12px);}
  .ui-select.open .ui-select-menu{display:block;}
  .ui-select-option{width:100%;min-height:34px;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#33383b;border-radius:7px;padding:7px 8px;font:650 12px/1.25 var(--inter);text-align:left;cursor:pointer;}
  .ui-select-option:hover,.ui-select-option[aria-selected="true"]{background:#eef6f2;color:#173e2f;}
  .ui-select-check{width:14px;flex:none;color:#00455C;font-weight:800;opacity:0;}
  .ui-select-option[aria-selected="true"] .ui-select-check{opacity:1;}
  .image-adjust-dialog .ui-select-menu{top:auto;bottom:calc(100% + 6px);max-height:220px;z-index:120;}
  .schedule-dialog .ui-select-menu{z-index:140;}
  .ctl-selects .ui-select-trigger{height:32px;min-height:32px;border-color:transparent;background:transparent;color:#545a5e;border-radius:7px;font-size:10px;padding:0 8px;box-shadow:none;}
  .ctl-selects .ui-select-trigger:hover,.ctl-selects .ui-select.open .ui-select-trigger,.ctl-selects .ui-select-trigger:focus-visible{background:#eef2f1;border-color:#d7e3de;color:#202326;box-shadow:0 0 0 2px rgba(31,138,98,.14);outline:0;}
  .ctl-selects .ui-select-menu{min-width:210px;right:auto;top:auto;bottom:calc(100% + 6px);z-index:1000;}
  .ctl-selects .ui-select-option{font-size:12px;}
  .script-field{display:flex;flex-direction:column;gap:8px;margin:-6px 0 22px;}
  .script-field>span{font-size:12px;color:#62686c;font-weight:650;}
  .script-trigger{height:40px;width:100%;display:flex;align-items:center;gap:8px;border:1px solid #d9dddf;background:#fff;color:#34383b;border-radius:9px;padding:0 12px;font-size:11px;font-weight:700;cursor:pointer;box-shadow:0 1px 2px rgba(20,24,27,.03);transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;}
  .script-trigger:hover{background:#f7faf8;border-color:#9fd0c5;box-shadow:0 6px 18px rgba(0,69,92,.08);}
  .script-trigger svg{width:15px;height:15px;color:#747a7e;}
  .script-field{gap:7px;}
  .script-trigger.generate-all{height:46px;justify-content:center;color:#fff;border-color:#00455C;background:linear-gradient(180deg,#006D75,#0B2530);box-shadow:0 10px 22px rgba(0,69,92,.18);}
  .script-trigger.generate-all:hover{background:linear-gradient(180deg,#0C8F8A,#0B2530);border-color:#0B2530;box-shadow:0 12px 26px rgba(0,69,92,.24);}
  .script-trigger.generate-all svg{width:17px;height:17px;color:#dff7fb;}
  .panel{border-top-color:#e6e9eb;}
  .panel summary{padding:15px 0 13px;color:#2b2f32;font-size:12px;font-weight:650;}
  .panel[open] summary{color:#0B4F53;}
  .panel summary::before{color:#9aa0a4;font-size:14px;font-weight:400;}
  .panel[open] summary::before{color:var(--ui-accent);}
  .panel .grp{padding:0 0 18px;}
  .panel h4{color:#6c7378;font-size:10px;margin:15px 0 9px;}
  .fields,.colors{gap:9px;}
  .field{gap:5px;}.field label{font-size:11px;color:#62696e;}
  .field input[type=text]{height:36px;background:#fff;border-color:#dfe2e4;color:#25282a;border-radius:8px;font-size:11px;padding:8px 10px;box-shadow:0 1px 2px rgba(20,24,27,.03);}
  .field input[type=text]:hover,.field input[type=text]:focus{border-color:#aeb5b9;box-shadow:0 0 0 3px rgba(31,138,98,.08);}
  .swatch{height:38px;background:#fff;border-color:#e0e3e5;border-radius:8px;padding:5px 8px;box-shadow:0 1px 2px rgba(20,24,27,.03);}
  .swatch input[type=color]{width:26px;height:26px;border-radius:6px;}.swatch span{font-size:11px;color:#555b5f;}

  .workspace{background:linear-gradient(180deg,#edf4f3 0%,#e7eaec 58%,#eef0f0 100%);}
  .workspace-toolbar{height:48px;background:rgba(255,255,255,.86);border-color:#d4e4df;padding:0 16px;backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.72) inset,0 1px 18px rgba(0,69,92,.04);}
  .workspace-toolbar{display:grid;grid-template-columns:auto auto 1fr;gap:14px;}
  .slide-context{font-size:12px;color:#5f666c;gap:8px;}.slide-context strong{color:#0B4F53;font-weight:700;}
  .toolbar-actions{justify-self:stretch;justify-content:flex-end;display:flex;align-items:center;gap:8px;min-width:0;}
  .toolbar-actions .zoom-control{flex:none;}
  .global-eye-group{display:inline-flex;align-items:center;gap:2px;padding:3px;background:#f2f4f4;border:1px solid #dfe4e5;border-radius:8px;min-width:0;overflow-x:auto;scrollbar-width:none;box-shadow:0 1px 1px rgba(20,24,27,.03);}
  .global-eye-group::-webkit-scrollbar{display:none;}
/* Global virou dropdown. O menu e PORTALADO pro <body> ao abrir: o backdrop-filter da
   toolbar cria stacking context e prende qualquer z-index (e ate position:fixed) la dentro. */
.global-eye-wrap{position:relative;display:inline-flex;}
.global-eye-wrap .global-eye-group{display:none;}   /* estacionado no wrap ate o 1o clique */
.global-eye-group.gefloat{position:fixed;z-index:95;display:none;flex-direction:column;align-items:stretch;gap:2px;background:#fff;border:1px solid #dfe4e5;border-radius:10px;padding:6px;box-shadow:0 12px 32px rgba(20,24,27,.14);min-width:172px;max-width:none;overflow:visible;}
.global-eye-group.gefloat.open{display:flex;}
.global-eye-group.gefloat .global-eye-label{display:none;}
.global-eye-group.gefloat .global-eye{justify-content:flex-start;height:32px;font-size:11px;}
.global-eye-trigger[aria-expanded="true"]{background:#f2f4f4;border-color:#cfd6d8;}
  .global-eye-label{padding:0 7px 0 5px;color:#62696e;font-size:11px;font-weight:650;white-space:nowrap;}
  .global-eye{height:28px;display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#545a5e;border-radius:5px;padding:0 8px;font-size:10px;font-weight:600;cursor:pointer;white-space:nowrap;}
  .global-eye:hover{background:#fff;color:#0B4F53;box-shadow:0 1px 2px rgba(0,69,92,.08);}
  .global-eye.off{opacity:.55;background:transparent;}
  .global-eye .ico{display:flex;width:14px;height:14px;}
  .global-eye .ico svg{width:14px;height:14px;}
  .zoom-control{background:#f2f4f4;border-color:#dfe4e5;border-radius:8px;padding:3px;}
  .zoom-control button{width:28px;height:28px;color:#70767a;border-radius:5px;}.zoom-control button:hover{background:#fff;color:#222;box-shadow:0 1px 2px rgba(20,24,27,.06);}
  .zoom-control output{width:46px;color:#747a7e;border-color:#d8dcde;font-size:10px;font-weight:650;}
  .toolbar-preview{flex:none;height:34px;display:inline-flex;align-items:center;gap:6px;border:1px solid #dfe4e5;background:#fff;color:#3f4549;border-radius:8px;padding:0 13px;font:650 11.5px var(--inter);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s;}
  .toolbar-preview svg{width:15px;height:15px;flex:none;}
  .toolbar-preview:hover{background:#f2f4f4;color:#17251f;border-color:#cfd6d8;}
  .grid{padding:26px 26px 92px;}   /* espaço extra embaixo p/ a barra de ajustes flutuante */
  .view-switch{display:flex;align-items:center;padding:3px;background:#e6eaeb;border:1px solid #dce1e2;border-radius:8px;gap:2px;box-shadow:0 1px 1px rgba(20,24,27,.03);}
  .view-switch button{height:28px;display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#777d81;border-radius:4px;padding:0 9px;font-size:10px;font-weight:600;cursor:pointer;}
  .view-switch button svg{width:13px;height:13px;}
  .view-switch button.active{background:#fff;color:#0B4F53;box-shadow:0 1px 3px rgba(0,69,92,.12),inset 0 -2px 0 rgba(12,143,138,.4);}
  .frame .tag{margin-bottom:8px;color:#6c7378;font-size:10px;font-weight:700;letter-spacing:.08em;align-self:center;}
  .stage{border-radius:4px;outline:1px solid rgba(0,69,92,.12);box-shadow:0 18px 45px rgba(26,30,33,.16),0 2px 7px rgba(26,30,33,.1),0 0 0 6px rgba(12,143,138,.035);}
  .frame .ctl{display:flex;flex-wrap:nowrap;align-items:center;gap:7px;width:100%;max-width:min(960px,100%);margin-top:12px;padding:8px 10px;background:rgba(255,255,255,.94);border:1px solid #d7dddf;border-radius:12px;box-shadow:0 10px 30px rgba(25,29,32,.10);backdrop-filter:blur(14px);overflow:visible;scrollbar-width:thin;}
  /* barra de ajustes flutua no rodapé do canvas (não rola com o slide). Depende do canvas ter
     altura cheia; o sheet-backdrop estava entrando no grid do .app-shell e encurtando o canvas,
     o que fazia a barra cair sobre o slide — corrigido escondendo o backdrop no desktop. */
  .frame.active .ctl{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);margin-top:0;width:calc(100% - 56px);z-index:40;box-shadow:0 6px 22px rgba(20,24,27,.12);}
  .frame .ctl-selects{display:flex;gap:6px;align-items:center;flex:0 1 auto;min-width:0;overflow:visible;}
  .frame .ctl-selects select{flex:0 1 160px;min-width:0;text-overflow:ellipsis;}
  .frame .ctl-actions{display:flex;gap:5px;align-items:center;flex:0 1 auto;min-width:0;}
  .frame .ctl-actions .btn{white-space:nowrap;}
  .frame .ctl-spacer{flex:1 1 auto;}
  .frame .ctl .btn.dl{flex:0 0 auto;white-space:nowrap;}
  .grid.overview{display:grid;align-content:start;align-items:start;justify-items:center;gap:24px 20px;padding:28px;}
  .grid.overview .frame.active{width:100%;min-width:0;cursor:pointer;margin:0;align-items:center;}
  .grid.overview .frame .stage{pointer-events:auto;}
  /* overview editável: o slide recebe cliques normalmente; navegação mudou pro rótulo */
  .grid.overview .frame .tag{cursor:pointer;}
  .grid.overview .frame .tag:hover{color:#00455C;text-decoration:underline;text-underline-offset:3px;}
  .grid.overview .frame .ctl{display:none;}
  .grid.overview .frame .tag{align-self:flex-start;margin-left:4px;}
  body.overview-mode .app-shell{grid-template-columns:260px minmax(440px,1fr);}
  body.overview-mode .slide-rail{display:none;}
  .frame select,.frame .eye{height:32px;background:transparent;border-color:transparent;color:#545a5e;border-radius:6px;font-size:10px;}
  .frame select:hover,.frame .eye:hover{background:#eef2f1;border-color:transparent;color:#202326;}
  .frame .eye.off{background:transparent;border-color:transparent;color:#adb2b5;}
  .component-popover{position:fixed;z-index:70;display:none;align-items:center;gap:8px;padding:6px;background:rgba(255,255,255,.96);border:1px solid #dfe2e4;border-radius:8px;box-shadow:0 10px 28px rgba(20,24,27,.16);backdrop-filter:blur(10px);}
  .component-popover.show{display:flex;flex-direction:column;align-items:stretch;}
  .component-popover-title{font-size:12px;font-weight:750;color:#4f565a;padding:3px 6px 1px;white-space:nowrap;}
  .component-option{height:32px;display:flex;align-items:center;gap:8px;border:0;border-radius:6px;background:transparent;color:#34383b;padding:0 10px;font:650 11px var(--inter);cursor:pointer;text-align:left;}
  .component-option:hover{background:#f0f2f2;}
  .component-option input{accent-color:#17251f;pointer-events:none;}
  .component-popover .ico{display:flex;width:14px;height:14px;}
  .component-popover .ico svg{width:14px;height:14px;}
  .pill-slot{height:62px;min-width:126px;display:inline-flex;align-items:center;justify-content:center;padding:0 24px;border-radius:31px;border:2px dashed rgba(84,90,94,.42);background:transparent;color:rgba(84,90,94,.86);font:700 23px var(--inter);cursor:pointer;}
  .D .pill-slot,.E .pill-slot{height:62px;border-radius:31px;font-size:23px;}
  .A .pill-slot{color:var(--muted);}
  .D .pill-slot{color:rgba(255,255,255,.62);border-color:rgba(255,255,255,.36);background:transparent;}
  .component-slot{display:flex!important;align-items:center;justify-content:center;width:100%;height:74px;min-height:74px;margin:16px 0;padding:0 22px;border:2px dashed rgba(84,90,94,.42);border-radius:12px;background:transparent!important;color:rgba(84,90,94,.86);font:750 22px/1.15 var(--inter)!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer;text-align:center;box-shadow:none!important;text-shadow:none!important;}
  .component-slot+.component-slot{margin-top:16px;}
  .component-slot:hover,.pill-slot:hover{background:transparent!important;border-color:rgba(0,69,92,.7);color:#00455C;}
  .component-slot.header-slot{position:relative;z-index:25;width:100%;height:74px;min-height:74px;margin:16px 0;font-size:22px!important;}
  .component-slot.image-slot{width:100%;min-height:260px;}
  .slide.cover>.component-slot.image-slot,.slide.C.photo>.component-slot.image-slot,.slide.B.photo>.component-slot.image-slot,.slide.B.closing>.component-slot.image-slot,.slide.D.cover>.component-slot.image-slot{position:absolute;left:60px;right:60px;top:160px;width:auto;z-index:25;}
  .slide.A.cover>.component-slot.image-slot{top:160px;}
  .slide.F>.component-slot.header-slot{margin:16px 0;}
  .slide.F>.component-slot.image-slot{margin:110px 64px 0;width:auto;}
  .txt>.component-slot,.dtext>.component-slot,.etxt>.component-slot,.fbodywrap>.component-slot,.bpc>.component-slot,.cbodywrap>.component-slot,.cstack>.component-slot,.gcanvas>.component-slot,.hbody>.component-slot,.ibody>.component-slot,.jbody>.component-slot,.kcontent>.component-slot,.lgrid>.component-slot{flex:none;max-width:100%;}
  .fbodywrap>.component-slot{margin-left:0;margin-right:0;}
  .bpc>.component-slot,.cphoto-c>.component-slot,.ccover-c>.component-slot{max-width:880px;}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;background:transparent;border:1px solid transparent;color:#4d5357;border-radius:8px;font-size:10.5px;font-weight:700;padding:8px 12px;white-space:nowrap;text-decoration:none;}
  .btn:hover,.btn:focus{text-decoration:none;}
  .btn:hover{background:#eef2f1;color:#18241f;border-color:#dfe7e3;}
  .btn:active{transform:translateY(1px);}
  .btn.ai-img{background:#f2faf8;border-color:#b8dcd4;color:#00455C;}
  .btn.ai-img:hover{background:#e9f6ef;border-color:#99cbb4;color:#10583d;}
  .btn.ai-img.has-image{background:#fff;border-color:#dfe2e4;color:#4d5357;}
  .btn.image-adjust,.btn.gallery-open{background:#fff;border-color:#e1e5e7;color:#4f565a;}
  .btn.image-adjust:hover,.btn.gallery-open:hover{background:#f7faf8;border-color:#cfd8d4;}
  .btn.dl.primary{min-height:34px;border-radius:9px;padding:0 14px;}

  .slide-rail{padding:16px 12px;border-color:#d8dddf;box-shadow:-1px 0 0 rgba(255,255,255,.8) inset;}
  .rail-head{margin:0 1px 12px;}.rail-head strong{font-size:12px;color:#44494c;font-weight:650;}.rail-head span{background:#f0f2f2;color:#6c7378;font-size:10px;}
  .slide-nav{gap:14px;}
  .slide-nav-item{border:0;background:transparent;border-radius:5px;padding:3px;color:#5f6569;}
  .slide-nav-item:hover{background:transparent;border-color:transparent;}
  .slide-nav-item.active{border:0;background:transparent;box-shadow:none;}
  .nav-preview{aspect-ratio:4/5;border-radius:5px;background:#dfe2e3;margin-bottom:7px;box-shadow:0 1px 4px rgba(20,24,27,.10);outline:1px solid rgba(20,24,27,.08);}
  .slide-nav-item:hover .nav-preview{outline:2px solid #9da4a8;outline-offset:1px;}
  .slide-nav-item.active .nav-preview{outline:2px solid var(--ui-brand);outline-offset:2px;box-shadow:0 5px 16px rgba(31,138,98,.16);}
  .nav-preview::before,.nav-preview::after{display:none;}
  .nav-preview .slide{position:absolute;left:0;top:0;transform-origin:top left!important;pointer-events:none;}
  .nav-preview .upload{display:none;}
  .nav-label{font-size:10px;padding:0 1px;}.nav-label strong{color:#555b5f;font-weight:550;}.slide-nav-item.active .nav-label strong{color:var(--ui-brand-strong);}
  .nav-label span{color:#a3a8ab;}
  .toast{border-radius:6px;background:#17251f;color:#fff;font-size:12.5px;}
  .script-dialog,.library-dialog,.batch-dialog,.schedule-dialog{margin:auto;}
  .script-dialog{width:min(760px,calc(100vw - 32px));height:min(720px,calc(100vh - 48px));padding:0;border:1px solid #d9dddf;border-radius:14px;background:#fff;color:#202326;box-shadow:0 28px 80px rgba(20,24,27,.24);}
  .script-dialog::backdrop{background:rgba(24,28,31,.42);backdrop-filter:blur(2px);}
  .script-dialog-form{height:100%;display:flex;flex-direction:column;}
  .script-dialog-head{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #e5e7e8;}
  .script-dialog-head h2{font-size:14px;font-weight:650;}
  .dialog-close{width:32px;height:32px;border:0;background:transparent;color:#6f7579;border-radius:5px;font-size:20px;cursor:pointer;}
  .dialog-close:hover{background:#f1f3f3;color:#202326;}
  .script-dialog-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:16px 18px;gap:10px;}
  .script-meta{display:flex;align-items:center;justify-content:space-between;color:#6c7378;font-size:11px;}
  .script-count{background:#eef6f2;color:#31775c;border-radius:10px;padding:4px 8px;font-weight:650;}
  .script-input{flex:1;min-height:0;resize:none;border:1px solid #d9dddf;border-radius:10px;background:#fbfcfc;color:#25282a;padding:14px;font:400 13px/1.55 var(--inter);letter-spacing:0;box-shadow:0 1px 2px rgba(20,24,27,.03);}
  .script-input:focus{background:#fff;border-color:#94aaa0;outline:2px solid rgba(31,138,98,.14);}
  .script-dialog-actions{height:64px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 18px;border-top:1px solid #e5e7e8;}
  .script-dialog-actions .btn{font-size:11px;border:1px solid #dfe2e4;padding:10px 14px;}
  .script-dialog-actions .btn.primary{border-color:#17251f;}
  /* fica no canto (não cobre o slide) e SEM escurecer, p/ ver os ajustes ao vivo */
  .image-adjust-dialog{width:min(360px,calc(100vw - 32px));margin:auto auto auto 18px;padding:0;border:1px solid #d9dddf;border-radius:14px;background:#fff;color:#202326;box-shadow:0 24px 60px rgba(20,24,27,.26);}
  .image-adjust-dialog::backdrop{background:transparent;}
  .image-adjust-body{display:flex;flex-direction:column;gap:17px;padding:18px;}
  .adjust-field{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;}
  .adjust-field label{font-size:12px;font-weight:700;color:#4f5559;}
  .adjust-field output{min-width:40px;text-align:right;font-size:11px;color:#61706a;background:#f3f6f5;border:1px solid #e2e8e5;border-radius:999px;padding:3px 7px;}
  .adjust-field input[type=range]{grid-column:1/-1;width:100%;accent-color:var(--ui-brand);}
  .adjust-field input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:#e5ebe8;}
  .adjust-field input[type=range]::-webkit-slider-thumb{margin-top:-5px;width:16px;height:16px;border-radius:50%;background:#00455C;border:2px solid #fff;box-shadow:0 2px 8px rgba(20,24,27,.18);}
  .adjust-field select{grid-column:1/-1;width:100%;height:36px;border:1px solid #d9dddf;background:#f8f9f9;color:#34383b;border-radius:6px;padding:0 10px;font-size:11px;}
  .image-adjust-actions{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-top:1px solid #e5e7e8;}
  .image-adjust-actions .right{display:flex;gap:8px;}
  .image-adjust-actions .btn{font-size:11px;border:1px solid #dfe2e4;padding:10px 14px;}
  .library-dialog{width:min(860px,calc(100vw - 32px));height:min(720px,calc(100vh - 48px));padding:0;border:1px solid #d9dddf;border-radius:14px;background:#fff;color:#202326;box-shadow:0 28px 80px rgba(20,24,27,.24);}
  .library-dialog::backdrop{background:rgba(24,28,31,.4);backdrop-filter:blur(2px);}
  .library-body{height:calc(100% - 58px);overflow:auto;padding:18px;}
  .project-list{display:flex;flex-direction:column;border-top:1px solid #e5e7e8;}
  .project-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid #e8eaeb;}
  .project-thumb{width:48px;height:60px;object-fit:cover;background:#eceeef;border-radius:3px;}
  .project-copy{min-width:0;}.project-copy strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.project-copy span{display:block;margin-top:4px;color:#6c7378;font-size:11px;}
  .project-actions{display:flex;gap:6px}.project-actions .btn{border:1px solid #dfe2e4;font-size:12px;}
  .gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:14px;}
  .gallery-item{position:relative;border:1px solid #dfe2e4;background:#fff;border-radius:10px;padding:6px;text-align:left;cursor:pointer;overflow:hidden;box-shadow:0 1px 2px rgba(20,24,27,.04);transition:border-color .15s,box-shadow .15s,transform .15s;}
  .gallery-item:hover{border-color:var(--ui-brand);box-shadow:0 10px 24px rgba(20,24,27,.10);transform:translateY(-1px);}
  .gallery-item img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:7px;background:#eceeef;}
  .gallery-item span{display:block;padding:7px 3px 3px;font-size:10.5px;color:#555b5f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .gallery-delete{position:absolute;right:8px;top:8px;width:26px;height:26px;border:0;border-radius:6px;background:rgba(20,24,27,.76);color:#fff;cursor:pointer;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s;}
  .gallery-item:hover .gallery-delete,.gallery-delete:focus-visible{opacity:1;}
  .gallery-delete:hover{background:#d64545;}
  .gallery-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap;}
  .gallery-usage{display:flex;align-items:center;gap:10px;flex:1 1 200px;min-width:180px;font-size:12px;color:#555b5f;}
  .gallery-usage[hidden]{display:none;}
  .gallery-usage .bar{flex:1;height:6px;border-radius:99px;background:#eceeef;overflow:hidden;}
  .gallery-usage .bar>i{display:block;height:100%;width:0;background:var(--ui-brand);border-radius:99px;transition:width .25s;}
  .gallery-usage .lbl{white-space:nowrap;font-variant-numeric:tabular-nums;}
  .gallery-usage.full .bar>i{background:#d64545;}
  .gallery-usage.full .lbl{color:#d64545;font-weight:600;}
  .gallery-tools{display:flex;gap:8px;align-items:center;flex:0 0 auto;margin-left:auto;}
  .gallery-tools .btn{min-height:0;font-size:11px;padding:8px 12px;}
  .gallery-tools .btn[hidden]{display:none;}
  .gallery-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px;}
  .gallery-pager[hidden]{display:none;}
  .gallery-pager .btn{min-height:0;font-size:11px;padding:8px 12px;}
  .gallery-pageinfo{font-size:12px;color:#62696e;font-variant-numeric:tabular-nums;}
  .gallery-check{position:absolute;left:8px;top:8px;width:24px;height:24px;padding:0;border-radius:6px;background:rgba(255,255,255,.92);border:1.5px solid #b9c2bd;color:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;line-height:1;box-shadow:0 1px 2px rgba(20,24,27,.18);transition:background .12s,border-color .12s,color .12s;}
  .gallery-check:hover{border-color:var(--ui-brand);}
  .gallery-item.selected{border-color:var(--ui-brand);box-shadow:0 0 0 2px var(--ui-brand);}
  .gallery-item.selected .gallery-check{background:var(--ui-brand);border-color:var(--ui-brand);color:#fff;}
  .empty-state{display:grid;place-items:center;min-height:220px;color:#5d666c;font-size:13px;}
  .btn.secondary{border:1px solid #dfe2e4;background:#fff;color:#34383b;font-weight:600;}
  .btn.danger{border:1px solid #d64545;background:#d64545;color:#fff;font-weight:700;}
  .btn.danger:hover{background:#be3a3a;border-color:#be3a3a;color:#fff;}
  .btn.danger:disabled{opacity:.5;cursor:default;pointer-events:none;}
  .visual-direction{display:flex;flex-direction:column;gap:12px;}
  .visual-direction textarea{width:100%;min-height:82px;resize:vertical;border:1px solid #d9dddf;border-radius:10px;background:#fff;padding:11px 12px;font:11px/1.5 var(--inter);color:#34383b;box-shadow:0 1px 2px rgba(20,24,27,.03);}
  .visual-direction textarea:focus{outline:2px solid rgba(31,138,98,.16);border-color:#94aaa0;background:#fff;}
  .caption-field{display:flex;flex-direction:column;gap:6px;margin:-4px 0 18px;}
  .caption-field span{font-size:12px;color:#62686c;font-weight:550;}
  .caption-field textarea{width:100%;height:76px;min-height:76px;resize:vertical;border:1px solid #d9dddf;border-radius:10px;background:#fff;padding:11px 12px;font:11px/1.45 var(--inter);color:#34383b;box-shadow:0 1px 2px rgba(20,24,27,.03);}
  .caption-field textarea:focus{outline:2px solid rgba(31,138,98,.16);border-color:#94aaa0;}
  .quiet-action{display:none!important;}
  .schedule-dialog{width:min(460px,calc(100vw - 32px));padding:0;border:1px solid #d9dddf;border-radius:10px;background:#fff;color:#202326;box-shadow:0 28px 80px rgba(20,24,27,.24);}
  .schedule-dialog::backdrop{background:rgba(24,28,31,.42);backdrop-filter:blur(2px);}
  .schedule-form{display:flex;flex-direction:column;}
  .schedule-head{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #e5e7e8;}
  .schedule-head h2{font-size:14px;font-weight:650;margin:0;}
  .schedule-body{display:flex;flex-direction:column;gap:14px;padding:18px;}
  .schedule-status{border:1px solid #e2e6e5;border-radius:8px;background:#f7faf8;padding:12px;color:#4d5558;font-size:11px;line-height:1.45;}
  .schedule-status strong{display:block;color:#19211d;font-size:12px;margin-bottom:3px;}
  .schedule-grid{display:grid;grid-template-columns:1fr;gap:12px;}
  .schedule-field{display:flex;flex-direction:column;gap:6px;}
  .schedule-field span{font-size:12px;font-weight:650;color:#4d5558;}
  .schedule-field select,.schedule-field input,.schedule-field textarea{width:100%;border:1px solid #d9dddf;border-radius:7px;background:#fff;color:#24282b;padding:10px;font:12px/1.4 var(--inter);}
  .schedule-field textarea{height:92px;resize:vertical;}
  .schedule-field select:focus,.schedule-field input:focus,.schedule-field textarea:focus{outline:2px solid rgba(31,138,98,.16);border-color:#94aaa0;}
  .schedule-actions{height:64px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 18px;border-top:1px solid #e5e7e8;}
  .schedule-actions .right{display:flex;gap:8px;}
  .schedule-actions .btn{font-size:11px;border:1px solid #dfe2e4;padding:10px 14px;}
  .scheduled-list{display:flex;flex-direction:column;gap:8px;border-top:1px solid #edf0f0;padding-top:12px;}
  .scheduled-list:empty{display:none;}
  .scheduled-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #e4e8e7;border-radius:7px;padding:9px;background:#fbfcfc;}
  .scheduled-item strong{display:block;font-size:12px;color:#202625;}
  .scheduled-item span{display:block;margin-top:3px;font-size:11px;color:#6c7378;}
  .scheduled-item .scheduled-error{color:#b3441f;}
  .scheduled-item button{border:0;background:transparent;color:#5f666c;font-size:11px;font-weight:650;cursor:pointer;padding:6px;border-radius:5px;}
  .scheduled-item button:hover{background:#eef2f1;color:#18201c;}
  .scheduled-item.is-published{border-color:#bfe3cf;background:#f2fbf5;}
  .scheduled-item.is-published strong{color:#15663f;}
  .schedule-hint{margin:0;font-size:10.5px;line-height:1.4;color:#7a8285;}
  .reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
  .reference-card{position:relative;display:block;border:1px solid #d9dddf;border-radius:9px;overflow:hidden;background:#fff;cursor:pointer;box-shadow:0 1px 2px rgba(20,24,27,.04);transition:border-color .15s,box-shadow .15s,transform .15s;}
  .reference-card:hover{border-color:#b8c3bf;box-shadow:0 8px 20px rgba(20,24,27,.08);transform:translateY(-1px);}
  .reference-card input{position:absolute;opacity:0;pointer-events:none;}
  .reference-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.9);}
  .reference-card span{display:block;padding:7px;font-size:8.5px;line-height:1.25;color:#555b5f;font-weight:650;}
  .reference-card:has(input:checked){border-color:var(--ui-brand);box-shadow:0 0 0 2px rgba(31,138,98,.2),0 8px 20px rgba(20,24,27,.08);}
  .reference-card:has(input:checked)::after{content:'\2713';position:absolute;right:5px;top:5px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--ui-brand);color:#fff;font-size:10px;font-weight:700;}
  .reference-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
  .reference-actions .btn{border:1px solid #dfe2e4;font-size:9px;padding:8px 6px;}
  .custom-reference-list{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;}
  .custom-reference{position:relative;flex:0 0 54px;height:68px;border:1px solid var(--ui-brand);border-radius:4px;overflow:hidden;background:#eceeef;}
  .custom-reference img{width:100%;height:100%;object-fit:cover;}
  .custom-reference button{position:absolute;right:3px;top:3px;width:18px;height:18px;border:0;border-radius:3px;background:rgba(20,24,27,.8);color:#fff;cursor:pointer;font-size:12px;line-height:18px;}
  .reference-count{font-size:10px;color:#6c7378;}
  .subpanel{border:1px solid var(--ui-border,#dfe2e4);border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(20,24,27,.03);}
  .subpanel>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;position:relative;padding:10px 30px 10px 12px;font-size:11px;font-weight:650;color:#4b5256;}
  .subpanel>summary::-webkit-details-marker{display:none;}
  .subpanel>summary::before{display:none;}   /* neutraliza o marcador herdado de .panel summary */
  .subpanel>summary::after{content:"+";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#9aa0a4;font-size:14px;line-height:1;}
  .subpanel[open]>summary::after{content:"\2212";}
  .subpanel[open]>summary{border-bottom:1px solid var(--ui-border,#dfe2e4);}
  .subpanel>summary .reference-count{margin-left:auto;font-weight:600;}
  .subpanel>summary .reference-count:empty{display:none;}
  .subpanel-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:10px;}
  .batch-dialog{width:min(500px,calc(100vw - 32px));padding:0;border:1px solid #d9dddf;border-radius:14px;background:#fff;color:#202326;box-shadow:0 28px 80px rgba(20,24,27,.24);}
  .batch-dialog::backdrop{background:rgba(24,28,31,.4);backdrop-filter:blur(2px);}
  .batch-body{padding:20px;display:flex;flex-direction:column;gap:18px;}
  .batch-count-row{display:grid;grid-template-columns:1fr 92px;gap:16px;align-items:center;}
  .batch-count-copy strong{display:block;font-size:12px;}.batch-count-copy span{display:block;margin-top:5px;color:#6c7378;font-size:11px;line-height:1.4;}
  .batch-count-row input{width:100%;height:44px;border:1px solid #d9dddf;border-radius:9px;padding:0 10px;font-size:15px;font-weight:800;text-align:center;box-shadow:0 1px 2px rgba(20,24,27,.03);}
  .batch-count-row input:focus{outline:2px solid rgba(31,138,98,.16);border-color:#94aaa0;}
  .batch-selection{padding:13px 14px;border:1px solid #e2e8e5;border-radius:10px;background:#f7faf8;color:#555b5f;font-size:10.5px;line-height:1.6;}
  .batch-selection strong{display:block;margin-bottom:3px;color:#24282b;font-size:11px;}
  .batch-credit-warning{padding:12px 14px;border:1px solid #dcebe4;border-radius:10px;background:#f5faf7;color:#244f3b;font-size:11.5px;line-height:1.45;}
  .batch-credit-warning strong{display:block;margin-bottom:3px;color:#17251f;font-size:12px;}

  @media(max-width:980px){.app-shell{grid-template-columns:240px minmax(360px,1fr)}.brandmark{min-width:240px;}}
  @media(max-width:720px){
    .app-header{height:56px;background:#fff}.app-shell{min-height:calc(100vh - 56px)}
    .settings-pane{inset:56px 0 0;background:#fff}.workspace{min-height:calc(100vh - 56px)}
    .grid{padding:20px 12px 32px}.workspace-toolbar{height:44px;background:#fff}.frame .ctl{background:#fff;}
    .workspace-toolbar{grid-template-columns:auto 1fr auto;gap:8px}.view-switch button span{display:none}.view-switch button{padding:0 8px}
    .global-eye-group{max-width:42vw;overflow-x:auto;scrollbar-width:none;}
    .global-eye-group::-webkit-scrollbar{display:none;}
    .global-eye-label,.global-eye span:not(.ico){display:none;}
    .global-eye{padding:0 7px;}
    .grid.overview{gap:18px 10px;padding:18px 10px;}
    .script-dialog{width:100vw;height:calc(100vh - 56px);max-width:none;max-height:none;margin:56px 0 0;border:0;border-radius:0;}
  }
/* ===== AUTH GATE ===== */
#authGate{position:fixed;inset:0;z-index:100;display:none;overflow:auto;padding:0;background:#fff;font-family:"Plus Jakarta Sans",var(--inter,Arial);color:#16202e;}
body.auth-locked #authGate{display:flex;}
body.auth-locked .app-header,body.auth-locked .app-shell,body.auth-locked .toast{display:none;}
#phoneGate{position:fixed;inset:0;z-index:101;display:none;place-items:center;overflow:auto;padding:24px;background:radial-gradient(760px 460px at 74% 10%,rgba(127,216,232,.2),transparent 60%),linear-gradient(145deg,#071a22 0%,#0b2530 58%,#102f3c 100%);font-family:"Plus Jakarta Sans",var(--inter,Arial);color:#16202e;}
body.phone-gate-open #phoneGate{display:grid;}
body.phone-gate-open .app-header,body.phone-gate-open .app-shell,body.phone-gate-open .toast,body.phone-gate-open #authGate,body.phone-gate-open #homeView{display:none!important;}
.phone-gate-inner{width:min(100%,420px);display:flex;flex-direction:column;}
.phone-card{width:100%;background:#fff;border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:34px 30px;box-shadow:0 32px 90px rgba(0,0,0,.34);}
.phone-brand{display:flex;align-items:center;margin:0 0 16px;padding-left:2px;}
.phone-brand img{height:50px;width:auto;display:block;}
.phone-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;margin:0 auto 16px;background:linear-gradient(135deg,#e6fbfb,#ccf0f1);color:#0c8f8a;box-shadow:0 8px 22px rgba(12,143,138,.22);}
.phone-card h1{font-size:22px;line-height:1.2;color:#16202e;margin:0 0 8px;font-weight:800;letter-spacing:-.01em;text-align:center;}
.phone-sub{margin:0 0 22px;font-size:14px;line-height:1.5;color:#5b6570;text-align:center;}
.phone-form{display:flex;flex-direction:column;gap:12px;}
.phone-field{position:relative;display:flex;flex-direction:column;}
.phone-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9aa6ad;display:flex;pointer-events:none;}
.phone-field input{height:50px;border:1px solid #d7dcdf;border-radius:12px;background:#fff;padding:0 14px 0 42px;font-size:15px;color:#25282a;transition:border-color .12s ease,box-shadow .12s ease;}
.phone-field input::placeholder{color:#aeb6bd;}
.phone-field input:focus{outline:none;border-color:#0c8f8a;box-shadow:0 0 0 3px rgba(12,143,138,.16);}
.phone-hint{margin:2px 2px 4px;font-size:12px;line-height:1.45;color:#94a0a8;text-align:center;}
.phone-form button{height:50px;border:0;border-radius:12px;background:linear-gradient(120deg,#12a3a8 0%,#0c8f8a 55%,#0b6b73 100%);color:#fff;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 12px 26px rgba(12,143,138,.28);transition:transform .12s ease,box-shadow .12s ease;}
.phone-form button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 34px rgba(12,143,138,.34);}
.phone-form button:disabled{opacity:.62;cursor:default;box-shadow:none;}
.phone-msg{min-height:16px;font-size:12px;line-height:1.45;color:#c0392b;text-align:center;}
  /* ===== HOME (dashboard inicial) — herda o skin claro do editor (tokens --ui-*) ===== */
  #homeView{display:none;}
  body.home-view #homeView{display:block;height:calc(100vh - 60px);overflow:auto;background:var(--ui-bg);}
  body.home-view .app-shell{display:none;}
  body.home-view #chatReopen{display:none !important;}        /* não vaza o FAB "Chat" por cima da Home */
  body.home-view .account-wrap{display:flex;}                 /* mantém conta/Sair acessível na Home */
  body.auth-locked #homeView,body.onboarding-page-open #homeView,body.auth-deciding #homeView{display:none !important;}
  body.home-view .doc-title,body.home-view .save-state,body.home-view #sidebarToggle,body.home-view #mobileSettings,body.home-view #openProjects,body.home-view #openGallery,body.home-view #saveProject,body.home-view #schedulePost,body.home-view #preparePublish,body.home-view #dlAll{display:none !important;}
  body.home-view #headerHome{display:none!important;}
  body.home-view #chatBack{display:inline-flex!important;}
  #brandHome{cursor:pointer;}
  .home-wrap{max-width:1080px;margin:0 auto;padding:40px 20px 56px;}
  .home-head h1{font-size:30px;font-weight:780;letter-spacing:-.02em;color:var(--ui-text);line-height:1.1;}
  .home-sub{font-size:15px;color:var(--ui-muted);margin-top:8px;}
  .home-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:30px 0 6px;}
  .home-action{appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;gap:7px;align-items:flex-start;text-align:left;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px;padding:18px;cursor:pointer;transition:.15s;color:var(--ui-text);font-family:var(--inter);box-shadow:0 1px 2px rgba(20,24,27,.04);}
  .home-action:hover{border-color:#c7cccf;box-shadow:0 6px 20px rgba(20,24,27,.08);transform:translateY(-1px);}
  .home-action .ico{display:flex;width:24px;height:24px;color:var(--ui-brand);}
  .home-action .ico svg{width:24px;height:24px;}
  .home-action strong{font-size:15px;font-weight:680;letter-spacing:-.01em;}
  .home-action>span:last-child{font-size:12.5px;color:var(--ui-muted);line-height:1.35;}
  .home-action.primary{background:var(--ui-brand);border-color:transparent;color:#fff;}
  .home-action.primary .ico{color:#fff;}
  .home-action.primary>span:last-child{color:rgba(255,255,255,.82);}
  .home-action.primary:hover{filter:brightness(1.1);box-shadow:0 8px 24px rgba(0,69,92,.28);}
  .home-stats{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:22px 2px 8px;font-size:13px;color:var(--ui-muted);}
  .home-stat strong{color:var(--ui-text);font-weight:700;}
  .home-stat-muted{color:var(--ui-muted);}
  .home-projects-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ui-muted);margin:18px 2px 14px;}
  .home-projects-head span{letter-spacing:.08em;}
  .home-page-info{letter-spacing:0;text-transform:none;font-size:12px;color:var(--ui-muted);}
  .home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;}
  .home-card{position:relative;appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;text-align:left;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;overflow:hidden;cursor:pointer;transition:.15s;padding:0;color:var(--ui-text);font-family:var(--inter);box-shadow:0 1px 2px rgba(20,24,27,.04);}
  .home-card:hover{border-color:#c7cccf;box-shadow:0 8px 24px rgba(20,24,27,.10);transform:translateY(-2px);}
  .home-card-delete{position:absolute;right:10px;top:10px;z-index:2;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:999px;background:rgba(20,24,27,.72);color:#fff;opacity:.88;transition:.15s;cursor:pointer;backdrop-filter:blur(10px);}
  .home-card:hover .home-card-delete,.home-card:focus-within .home-card-delete{opacity:1;}
  .home-card-delete:hover{background:#c0392b;}
  .home-card-delete:disabled{opacity:.5;cursor:default;}
  .home-card-delete svg{width:16px;height:16px;}
  .home-card-thumb{display:block;width:100%;aspect-ratio:4/5;background:var(--ui-raised);overflow:hidden;}
  .home-card-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
  .home-status-badge{appearance:none;-webkit-appearance:none;position:absolute;left:10px;top:10px;z-index:2;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:999px;background:rgba(20,24,27,.72);color:#fff;cursor:pointer;backdrop-filter:blur(10px);box-shadow:0 4px 14px rgba(20,24,27,.14);}
  .home-status-badge:hover{filter:brightness(1.08);}
  .home-status-badge:disabled{opacity:.6;cursor:default;}
  .home-status-badge svg{width:14px;height:14px;}
  .home-card-meta{display:flex;flex-direction:column;gap:3px;padding:11px 13px 13px;}
  .home-card-meta strong{font-size:13.5px;font-weight:640;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .home-card-meta>span{font-size:11.5px;color:var(--ui-muted);}
  .home-empty{background:var(--ui-surface);border:1px dashed var(--ui-border);border-radius:16px;padding:34px 22px;text-align:center;color:var(--ui-muted);font-size:14px;line-height:1.5;}
  .home-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;}
  .home-skeleton{height:292px;border-radius:12px;background:linear-gradient(90deg,var(--ui-raised) 0%,#eef1f2 46%,var(--ui-raised) 100%);background-size:220% 100%;animation:homeSkeleton 1.2s ease-in-out infinite;}
  .home-pager{display:flex;justify-content:center;align-items:center;gap:10px;margin:22px 0 0;}
  .home-pager button{appearance:none;-webkit-appearance:none;border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);border-radius:10px;padding:9px 12px;font:700 12px var(--inter);cursor:pointer;}
  .home-pager button:hover:not(:disabled){border-color:#c7cccf;background:#f6f7f7;}
  .home-pager button:disabled{opacity:.45;cursor:default;}
  .home-pager span{font-size:12px;color:var(--ui-muted);}
  @keyframes homeSkeleton{0%{background-position:100% 0;}100%{background-position:-100% 0;}}
  @media(prefers-reduced-motion:reduce){.home-skeleton{animation:none;}}
  @media(max-width:720px){ body.home-view #homeView{height:auto;overflow:visible;} }
  @media(max-width:640px){ .home-wrap{padding:26px 16px 40px;} .home-head h1{font-size:24px;} .home-card-delete{opacity:1;transform:none;} }
  /* ===== Banco de ideias (Fase 2) ===== */
  .chat-ideas{margin-top:12px;border:1px solid var(--ui-border,#dfe2e4);border-radius:12px;padding:10px 12px;background:var(--ui-raised,#f6f7f7);}
  .chat-ideas-head{font-size:12px;color:var(--ui-muted,#71777c);margin-bottom:8px;}
  .chat-ideas-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
  .chat-ideas-list li{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;}
  .ci-text{font-size:13px;color:var(--ui-text,#17191b);font-weight:600;flex:1;min-width:140px;}
  .ci-actions{display:flex;gap:6px;flex-shrink:0;}
  .ci-save,.ci-make,.hi-make,.hi-del{appearance:none;-webkit-appearance:none;border:1px solid var(--ui-border,#dfe2e4);background:#fff;color:#34383b;font:600 12px var(--inter,Arial);padding:6px 10px;border-radius:8px;cursor:pointer;transition:.15s;}
  .ci-save:hover,.ci-make:hover,.hi-make:hover{border-color:#c7cccf;background:#f6f7f7;}
  .ci-save.saved{background:var(--ui-brand,#00455C);border-color:transparent;color:#fff;cursor:default;}
  .ci-save:disabled{opacity:.7;cursor:default;}
  .ci-make,.hi-make{color:var(--ui-brand,#00455C);}
  .home-ideas{margin-top:34px;padding:18px;border:1px solid rgba(207,216,220,.9);border-radius:18px;background:linear-gradient(180deg,#f7fafb 0%,#eef3f4 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.74);}
  .home-ideas .home-projects-head{margin:0 2px 14px;}
  .home-ideas-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .home-ideas-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;background:rgba(255,255,255,.8);border:1px solid rgba(215,220,223,.82);border-radius:10px;padding:12px 12px 11px;transition:background .15s,border-color .15s;}
  .home-ideas-list li:hover{background:#fff;border-color:#cfd6d9;}
  .home-ideas-empty{background:rgba(255,255,255,.64);border:1px dashed var(--ui-border,#dfe2e4);border-radius:12px;padding:16px;color:var(--ui-muted,#71777c);font-size:13px;line-height:1.5;}
  .home-ideas-empty strong{display:block;color:var(--ui-text,#17191b);font-size:14px;margin-bottom:3px;}
  .hi-text{display:flex;flex-direction:column;gap:5px;min-width:0;}
  .hi-text strong{font-size:13.5px;font-weight:680;line-height:1.25;letter-spacing:-.01em;color:var(--ui-text,#17191b);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .hi-text span{font-size:12px;line-height:1.35;color:var(--ui-muted,#71777c);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .hi-actions{display:flex;gap:6px;align-items:center;flex-shrink:0;opacity:.72;transition:opacity .15s;}
  .home-ideas-list li:hover .hi-actions{opacity:1;}
  .hi-make{padding:6px 9px;}
  .hi-del{width:30px;height:30px;display:grid;place-items:center;color:var(--ui-muted,#71777c);padding:0;font-size:15px;line-height:1;}
  .hi-del:hover{color:#c0392b;border-color:#e3b5b0;background:#fdf3f2;}
  @media(max-width:760px){ .home-ideas-list{grid-template-columns:1fr;} }
  @media(max-width:560px){ .home-ideas{padding:14px;border-radius:14px;} .home-ideas-list li{grid-template-columns:1fr;} .hi-actions{opacity:1;} }
/* enquanto o onboarding está aberto, o app (chat) fica escondido — evita o "flash" do chat antes do onboarding */
body.onboarding-page-open .app-header,body.onboarding-page-open .app-shell,body.onboarding-page-open .toast{display:none;}
body.onboarding-page-open #authGate,body.onboarding-page-open #phoneGate{display:none;}
/* Estado neutro durante a decisão de boot (nem login nem chat) — evita o "ghost" do chat piscar antes do onboarding. */
body.auth-deciding #authGate,body.auth-deciding .app-header,body.auth-deciding .app-shell,body.auth-deciding .toast{display:none;}
.auth-landing{width:100%;min-height:100vh;background:#fff;}
.auth-public-route{display:block;}
.auth-access-route{display:none;min-height:100vh;background:radial-gradient(860px 520px at 74% 12%,rgba(127,216,232,.2),transparent 60%),linear-gradient(145deg,#071a22 0%,#0b2530 58%,#102f3c 100%);padding:24px;color:#fff;}
html.auth-route-access .auth-public-route,
body.auth-access-page .auth-public-route{display:none;}
html.auth-route-access .auth-access-route,
body.auth-access-page .auth-access-route{display:grid;place-items:center;}
.auth-wrap{width:min(1180px,calc(100% - 48px));margin:0 auto;}
.auth-hero-band{position:relative;overflow:hidden;background:radial-gradient(860px 520px at 74% 12%,rgba(127,216,232,.22),transparent 60%),radial-gradient(620px 420px at 18% 18%,rgba(255,111,77,.14),transparent 56%),linear-gradient(145deg,#071a22 0%,#0b2530 54%,#102f3c 100%);color:#fff;padding:22px 0 76px;}
.auth-hero-band::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:140px;background:linear-gradient(180deg,transparent,#fff);pointer-events:none;}
.auth-nav{height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative;z-index:2;}
.auth-wordmark{display:flex;align-items:center;min-width:160px;}
.auth-wordmark img{height:54px;width:auto;display:block;}
.auth-login-link{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#e9f7fa;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:800;cursor:pointer;backdrop-filter:blur(14px);}
.auth-main{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(360px,.72fr);align-items:center;gap:64px;position:relative;z-index:2;padding:64px 0 42px;}
.auth-hero{max-width:840px;}
.auth-hero h1{font-size:68px;line-height:.94;letter-spacing:-.035em;margin:0 0 20px;color:#fff;font-weight:850;max-width:780px;}
.auth-hero p{font-size:19px;line-height:1.6;color:#b9cbd4;margin:0 0 28px;max-width:560px;}
.auth-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0;}
.auth-primary-cta,.auth-secondary-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;padding:0 18px;font-size:14px;font-weight:850;text-decoration:none;}
.auth-primary-cta{background:linear-gradient(135deg,#ffc24b,#ff6f4d);color:#16202e;box-shadow:0 18px 36px rgba(255,111,77,.24);}
.auth-secondary-cta{border:1px solid rgba(255,255,255,.22);color:#d7e8ee;background:rgba(255,255,255,.07);}
.auth-proof{display:flex;align-items:center;gap:10px;margin-top:24px;color:#b6c7cf;font-size:12px;}
.auth-proof i{display:block;position:relative;flex:0 0 36px;width:36px;height:7px;background:transparent;}
.auth-proof i::before{content:"";position:absolute;left:0;top:0;width:7px;height:7px;border-radius:50%;background:#7fd8e8;box-shadow:14px 0 0 #ff9a55,28px 0 0 rgba(255,255,255,.38);}
.auth-hero-preview{position:relative;min-height:560px;display:grid;place-items:center;isolation:isolate;}
.auth-hero-preview::before{content:"";position:absolute;inset:12% -6% 8% 12%;border-radius:999px;background:radial-gradient(circle at 50% 42%,rgba(127,216,232,.28),rgba(127,216,232,0) 66%);filter:blur(8px);z-index:-1;}
.auth-preview-phone{position:absolute;width:min(300px,46vw);aspect-ratio:4/5;border-radius:26px;overflow:hidden;background:#071a22;box-shadow:0 34px 90px rgba(0,0,0,.36);border:1px solid rgba(255,255,255,.14);}
.auth-preview-phone img{width:100%;height:100%;object-fit:cover;display:block;}
.auth-preview-phone.primary{position:relative;width:min(360px,52vw);z-index:3;transform:rotate(-2deg);}
.auth-preview-phone.secondary{right:0;top:42px;z-index:2;transform:rotate(6deg) scale(.86);opacity:.86;}
.auth-preview-phone.tertiary{left:6px;bottom:16px;z-index:1;transform:rotate(-8deg) scale(.78);opacity:.74;}
.auth-preview-caption{position:absolute;right:18px;bottom:22px;z-index:4;display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.16);background:rgba(7,26,34,.72);color:#d7e8ee;border-radius:999px;padding:10px 13px;font-size:12px;font-weight:800;backdrop-filter:blur(16px);box-shadow:0 16px 40px rgba(0,0,0,.24);}
.auth-preview-caption::before{content:"";flex:0 0 36px;width:36px;height:8px;background:radial-gradient(circle,#ff9a55 0 4px,transparent 4.5px) 0 0/8px 8px no-repeat,radial-gradient(circle,#7fd8e8 0 4px,transparent 4.5px) 14px 0/8px 8px no-repeat,radial-gradient(circle,rgba(255,255,255,.38) 0 4px,transparent 4.5px) 28px 0/8px 8px no-repeat;}
.auth-card{width:min(100%,520px);background:#fff;border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:34px;box-shadow:0 32px 90px rgba(0,0,0,.34);text-align:left;}
.auth-access-shell{width:min(100%,520px);}
.auth-access-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px;}
.auth-access-top img{height:50px;width:auto;display:block;}
.auth-back-link{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#e9f7fa;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:800;text-decoration:none;}
.auth-card h1{font-size:24px;line-height:1.15;color:#16202e;margin:0 0 8px;font-weight:800;letter-spacing:0;}
.auth-card p{max-width:none;margin:0 0 20px;font-size:13px;color:#64748b;line-height:1.55;}
.auth-google{width:100%;height:46px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #d7dcdf;background:#fff;color:#2b2f31;border-radius:10px;font-size:13.5px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px rgba(20,24,27,.06);transition:background .15s,border-color .15s,box-shadow .15s;}
.auth-google:hover{background:#f8faf9;border-color:#cbd1d4;box-shadow:0 1px 0 rgba(20,24,27,.04);}
.auth-google svg{width:17px;height:17px;}
.auth-divider{display:flex;align-items:center;gap:12px;color:#a2a8ac;font-size:11px;margin:18px 0;}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:#e8eaeb;}
.auth-email-row{display:flex;flex-direction:column;gap:9px;}
.auth-email-row[hidden]{display:none;} /* form de código OTP (app nativo) nasce oculto */
#authOtpForm{margin-top:9px;} /* respiro entre o form de e-mail e o de código (app nativo) */
.auth-email-row input{height:46px;border:1px solid #d7dcdf;border-radius:10px;background:#fff;padding:0 14px;font-size:13px;color:#25282a;}
.auth-email-row input:focus{outline:2px solid rgba(0,69,92,.18);border-color:#7aa3af;}
.auth-email-row button{height:44px;border:1px solid #d4dde0;border-radius:10px;background:#fff;color:#00455c;font-size:13px;font-weight:750;cursor:pointer;transition:background .15s,border-color .15s;}
.auth-email-row button:hover{background:#f2f8fa;border-color:#b7d0d8;}
.auth-email-row button:disabled{opacity:.55;cursor:default;}
.auth-msg{margin-top:14px;font-size:12px;line-height:1.5;min-height:16px;}
.auth-msg.ok{color:#00455c;}.auth-msg.err{color:#c0392b;}
.auth-legal{margin-top:18px;font-size:11px;line-height:1.45;color:#94a3b8;text-align:center;}
.auth-carousel-strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:18px;margin-top:18px;}
.auth-carousel-card{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#091921;box-shadow:0 30px 70px rgba(0,0,0,.36);transform:translateY(var(--lift,0)) rotate(var(--rot,0deg));}
.auth-carousel-card img{width:100%;height:100%;display:block;object-fit:cover;}
.auth-section{padding:92px 0;background:#fff;}
.auth-section.alt{background:#f5f9fa;}
.auth-section.dark{background:#0b2530;color:#fff;}
.auth-section-head{max-width:680px;margin:0 auto 42px;text-align:center;}
.auth-section-kicker{display:inline-flex;margin-bottom:12px;color:#00455c;font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;}
.auth-section.dark .auth-section-kicker{color:#7fd8e8;}
.auth-section-head h2{margin:0 0 12px;color:#16202e;font-size:42px;line-height:1.08;font-weight:850;letter-spacing:-.035em;}
.auth-section.dark .auth-section-head h2{color:#fff;}
.auth-section-head p{margin:0;color:#5c6b7a;font-size:17px;line-height:1.65;}
.auth-section.dark .auth-section-head p{color:#b9cbd4;}
.auth-bottom{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;perspective:1200px;}
.auth-metric{position:relative;overflow:hidden;border:1px solid #dbe6e9;background:#fff;border-radius:20px;padding:22px;box-shadow:0 16px 40px rgba(11,37,48,.07);transform:translateY(14px) rotateX(5deg);opacity:0;animation:authMetricIn .72s cubic-bezier(.2,.8,.2,1) forwards,authMetricFloat 5.8s ease-in-out infinite;animation-delay:var(--metric-delay,0s),calc(var(--metric-delay,0s) + .72s);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;}
.auth-metric::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0%,rgba(127,216,232,.16) 40%,rgba(255,194,75,.18) 52%,transparent 66%);transform:translateX(-120%);opacity:.75;animation:authMetricSheen 6.5s ease-in-out infinite;animation-delay:calc(var(--metric-delay,0s) + 1.2s);pointer-events:none;}
.auth-metric:nth-child(1){--metric-delay:.04s;}
.auth-metric:nth-child(2){--metric-delay:.14s;}
.auth-metric:nth-child(3){--metric-delay:.24s;}
.auth-metric:nth-child(4){--metric-delay:.34s;}
.auth-metric:hover{transform:translateY(-6px) rotateX(0deg);border-color:#c7dfe5;box-shadow:0 24px 58px rgba(11,37,48,.13);}
.auth-metric strong{display:block;color:#16202e;font-size:20px;line-height:1;margin-bottom:7px;}
.auth-metric span{display:block;color:#64748b;font-size:12px;line-height:1.4;}
@keyframes authMetricIn{to{opacity:1;transform:translateY(0) rotateX(0deg);}}
@keyframes authMetricFloat{0%,100%{translate:0 0;}50%{translate:0 -7px;}}
@keyframes authMetricSheen{0%,58%{transform:translateX(-120%);}76%,100%{transform:translateX(120%);}}
@media(prefers-reduced-motion:reduce){.auth-metric,.auth-metric::after{animation:none!important;transition:none!important;}.auth-metric{opacity:1;transform:none;}.auth-metric::after{display:none;}.auth-metric:hover{transform:none;}}
.auth-proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.auth-proof-card{border-radius:22px;overflow:hidden;background:#0b2530;box-shadow:0 20px 50px rgba(11,37,48,.15);}
.auth-proof-card img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;}
.niche-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 30px;max-width:900px;}
.niche-chip{appearance:none;border:1px solid #e6ebee;background:#fff;color:#3a4856;font-weight:600;font-size:13.5px;line-height:1;padding:9px 15px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .18s,color .18s,border-color .18s,transform .12s,box-shadow .18s;}
.niche-chip:hover{border-color:#bcd3da;color:#00455c;transform:translateY(-1px);}
.niche-chip:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(127,216,232,.5);}
.niche-chip[aria-pressed="true"]{background:#0b2530;border-color:#0b2530;color:#fff;box-shadow:0 3px 10px rgba(11,37,48,.2);}
.niche-stage{display:grid;grid-template-columns:360px 1fr;gap:50px;align-items:center;max-width:900px;margin:0 auto;}
.niche-cover{position:relative;width:100%;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:#0b2530;box-shadow:0 24px 60px rgba(11,37,48,.22);}
.niche-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .42s ease;}
.niche-cover img.show{opacity:1;}
.niche-cover::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:20px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);}
.niche-info{min-width:0;}
.niche-info-fade{transition:opacity .3s ease,transform .3s ease;}
.niche-info-fade.swap{opacity:0;transform:translateY(6px);}
.niche-eyebrow{display:inline-block;color:#00455c;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;}
.niche-name{font-size:clamp(28px,3vw,37px);font-weight:850;letter-spacing:-.03em;line-height:1.02;margin-bottom:16px;color:#16202e;}
.niche-pair{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:#f4f9fb;border:1px solid #e0eef2;border-radius:13px;padding:14px 16px;margin-bottom:14px;}
.niche-pair .tema{color:#00455c;font-weight:800;font-size:15px;}
.niche-pair .arrow{color:#9ab2bb;font-weight:800;font-size:16px;flex:0 0 auto;}
.niche-pair .ang{color:#5c6b7a;font-weight:600;font-size:14.5px;line-height:1.35;flex:1;min-width:150px;}
.niche-micro{display:flex;align-items:center;gap:9px;color:#5c6b7a;font-size:12.5px;margin-bottom:22px;}
.niche-micro .dot{width:6px;height:6px;border-radius:50%;background:#7fd8e8;box-shadow:0 0 8px rgba(127,216,232,.7);flex:0 0 auto;}
.niche-micro b{color:#16202e;font-weight:700;}.niche-endcta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:36px auto 0;max-width:900px;background:linear-gradient(135deg,#ffc24b,#ff6f4d);border-radius:18px;padding:20px 26px;box-shadow:0 16px 34px rgba(255,111,77,.28);}
.niche-endcta .etxt b{display:block;color:#16202e;font-size:18px;font-weight:800;letter-spacing:-.015em;margin-bottom:4px;}
.niche-endcta .etxt span{color:rgba(13,30,40,.76);font-size:13.5px;line-height:1.45;}
.niche-endcta a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:#0b2530;color:#fff;font-weight:850;font-size:14px;text-decoration:none;padding:0 24px;border-radius:999px;white-space:nowrap;transition:transform .14s,filter .18s;}
.niche-endcta a:hover{transform:translateY(-2px);filter:brightness(1.04);}
@media(max-width:860px){.niche-stage{grid-template-columns:1fr;gap:24px;max-width:430px}.niche-cover{max-width:300px;margin:0 auto}.niche-info{text-align:center}.niche-pair{justify-content:center}.niche-micro{justify-content:center}.niche-chips{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;padding:2px 2px 14px;margin-bottom:16px}.niche-chips::-webkit-scrollbar{display:none}.niche-chip{flex:0 0 auto}.niche-endcta{flex-direction:column;align-items:stretch;text-align:center}.niche-endcta a{justify-content:center}}
@media(prefers-reduced-motion:reduce){.niche-cover img,.niche-info-fade,.niche-chip{transition:none}}
.auth-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.auth-flow-card{border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:24px;background:rgba(255,255,255,.06);}
.auth-flow-card b{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#ffc24b,#ff6f4d);color:#16202e;font-size:15px;margin-bottom:18px;}
.auth-flow-card h3{margin:0 0 8px;color:#fff;font-size:18px;}
.auth-flow-card p{margin:0;color:#b9cbd4;font-size:14px;line-height:1.58;}
.auth-pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch;max-width:920px;margin:0 auto;}
.auth-price-card{position:relative;display:flex;flex-direction:column;border:1px solid #dbe6e9;background:#fff;border-radius:22px;padding:28px;box-shadow:0 18px 48px rgba(11,37,48,.08);}
.auth-price-card.featured{border-color:#ffc24b;box-shadow:0 24px 64px rgba(255,111,77,.16);}
.auth-price-badge{position:absolute;right:22px;top:-13px;display:inline-flex;align-items:center;min-height:26px;border-radius:999px;background:#16202e;color:#fff;padding:0 10px;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;}
.auth-price-name{margin:0 0 12px;color:#16202e;font-size:21px;line-height:1.1;font-weight:850;}
.auth-price-before{margin:0 0 5px;color:#8493a1;font-size:13px;font-weight:750;}
.auth-price-before s{color:#64748b;text-decoration-thickness:2px;text-decoration-color:#ff6f4d;}
.auth-price-value{display:flex;align-items:flex-end;gap:6px;margin:0 0 8px;color:#16202e;font-weight:850;letter-spacing:-.035em;font-size:46px;line-height:.92;}
.auth-price-value span{padding-bottom:4px;color:#64748b;font-size:14px;font-weight:750;letter-spacing:0;}
.auth-price-lead{margin:0 0 22px;color:#5c6b7a;font-size:14px;line-height:1.55;}
.auth-price-list{display:grid;gap:10px;margin:0 0 24px;padding:0;list-style:none;}
.auth-price-list li{position:relative;padding-left:22px;color:#394957;font-size:13px;line-height:1.45;}
.auth-price-list li::before{content:"";position:absolute;left:0;top:.45em;width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,#7fd8e8,#ff9a55);}
.auth-price-card .auth-primary-cta{align-self:flex-start;margin-top:auto;}
.auth-price-note{max-width:720px;margin:22px auto 0;text-align:center;color:#64748b;font-size:12px;line-height:1.55;}
.auth-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.auth-faq-item{border:1px solid #dbe6e9;background:#fff;border-radius:18px;padding:22px;box-shadow:0 14px 38px rgba(11,37,48,.06);}
.auth-faq-item h3{margin:0 0 8px;color:#16202e;font-size:17px;line-height:1.25;}
.auth-faq-item p{margin:0;color:#64748b;font-size:14px;line-height:1.58;}
.auth-final-cta{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;border-radius:28px;background:linear-gradient(135deg,#0b2530,#123746);padding:36px;color:#fff;box-shadow:0 24px 70px rgba(11,37,48,.2);}
.auth-final-cta h2{margin:0 0 10px;font-size:34px;line-height:1.08;letter-spacing:-.03em;}
.auth-final-cta p{margin:0;color:#b9cbd4;font-size:15px;line-height:1.6;max-width:650px;}
@media(max-width:900px){.auth-wrap{width:min(100% - 28px,640px)}.auth-hero-band{padding-bottom:54px}.auth-main{grid-template-columns:1fr;gap:28px;padding:28px 0}.auth-hero h1{font-size:42px}.auth-hero p{font-size:16px}.auth-bottom,.auth-proof-grid,.auth-flow,.auth-pricing-grid,.auth-faq{grid-template-columns:1fr}.auth-hero-preview{min-height:420px}.auth-preview-phone.primary{width:min(310px,78vw)}.auth-preview-phone.secondary{width:min(250px,58vw);right:2px}.auth-preview-phone.tertiary{width:min(230px,54vw)}.auth-card{max-width:460px;padding:28px}.auth-nav,.auth-access-top{height:auto}.auth-carousel-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.auth-carousel-card:nth-child(n+5){display:none}.auth-section{padding:64px 0}.auth-section-head h2{font-size:32px}.auth-price-card{padding:24px}.auth-price-value{font-size:40px}.auth-final-cta{grid-template-columns:1fr;padding:26px}.auth-final-cta h2{font-size:28px}}
/* ===== ACCOUNT / CRÉDITOS ===== */
.credit-chip{display:flex;align-items:center;gap:6px;height:36px;padding:0 11px;border-radius:8px;border:1px solid #d4e4df;background:#f8fcfb;color:#34383b;font-size:12px;font-weight:650;white-space:nowrap;}
.credit-chip svg{width:14px;height:14px;color:var(--ui-accent,#0C8F8A);}
.credit-chip.low{color:#c0392b;border-color:#e7c3bd;background:#fdf3f1;}
.credit-chip.low svg{color:#c0392b;}
.account-wrap{position:relative;display:none;align-items:center;}
body.chat-docked .account-wrap{display:flex;}   /* só no editor ("ver carrossel"): na Central de Conteúdo a sidebar já tem a conta/Sair */
.account-btn{display:flex;align-items:center;gap:7px;height:34px;padding:0 6px;border-radius:7px;border:1px solid transparent;background:transparent;color:#34383b;font-size:12px;font-weight:600;cursor:pointer;max-width:160px;}
.account-btn .account-name{display:none;}   /* header mostra só o avatar; nome/email ficam no menu */
.account-btn:hover{background:#f1f3f3;}
.account-avatar{width:24px;height:24px;border-radius:50%;background:#17251f;color:#89e2b8;display:grid;place-items:center;font-size:11px;font-weight:800;flex:none;overflow:hidden;}
.account-avatar img{width:100%;height:100%;object-fit:cover;}
.account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.account-menu{position:absolute;right:0;top:40px;min-width:200px;background:#fff;border:1px solid #e3e6e8;border-radius:8px;box-shadow:0 18px 50px rgba(20,24,27,.2);padding:8px;display:none;z-index:30;}
.account-menu.open{display:block;}
.account-menu .who{padding:8px 8px 10px;border-bottom:1px solid #eef0f1;margin-bottom:6px;}
.account-menu .who strong{display:block;font-size:12px;color:#17191b;}
.account-menu .who span{display:block;font-size:12px;color:#6c7378;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.account-menu button{width:100%;text-align:left;border:0;background:transparent;color:#34383b;font-size:12px;padding:9px 8px;border-radius:6px;cursor:pointer;}
.account-menu button:hover{background:#f1f3f3;}
@media(max-width:720px){.credit-chip span{display:none;}.account-name{display:none;}}
/* === CHAT START === */
#chatPanel{display:none;flex-direction:column;min-height:0;background:var(--ui-surface,#fff);border-left:1px solid var(--ui-border,#e3e6e8);}
body.chat-fullscreen #chatPanel,body.chat-docked #chatPanel{display:flex;}
/* TELA CHEIA: sidebar à esquerda + conversa centralizada (estilo ChatGPT). */
body.chat-fullscreen #chatPanel{position:fixed;inset:60px 0 0 280px;z-index:40;border-left:0;background:#fff;}
body.chat-fullscreen.sidebar-collapsed #chatPanel{left:0;}
/* DOCK: esconde o slide-rail e usa 3 colunas (settings|canvas|chat) p/ canvas e chat respirarem */
body.chat-docked .slide-rail{display:none;}
body.chat-docked:not(.preview-mode):not(.overview-mode) .app-shell{grid-template-columns:240px minmax(420px,1fr) 380px;}
/* chat recolhido: some a coluna do chat, canvas ocupa toda a largura, slide-rail volta */
body.chat-docked.chat-collapsed:not(.preview-mode):not(.overview-mode) .app-shell{grid-template-columns:240px minmax(420px,1fr) 184px;}
body.chat-docked.chat-collapsed:not(.preview-mode):not(.overview-mode) .slide-rail{display:flex;flex-direction:column;}
/* o sheet-backdrop (overlay dos bottom sheets, só mobile) não tem estilo no desktop e virava item
   estático do grid do .app-shell: ocupava a coluna direita e jogava a slide-rail pra uma 2ª linha,
   encurtando o canvas (slide cortado, barra flutuante caindo sobre o slide). No desktop, some. */
@media(min-width:721px){ .sheet-backdrop{display:none;} }
body.chat-docked.chat-collapsed #chatPanel{display:none;}
body.overview-mode:not(.chat-fullscreen) #chatPanel,body.preview-mode:not(.chat-fullscreen) #chatPanel{display:none;}   /* "Todos"/preview: sem coluna p/ o chat → esconder (senão quebra o grid). Em tela cheia o chat sempre vence. */
/* botão flutuante p/ reabrir o chat quando recolhido (só no editor) */
#chatReopen{display:none;}
body.chat-docked.chat-collapsed:not(.preview-mode):not(.overview-mode) #chatReopen{display:inline-flex;align-items:center;gap:6px;position:fixed;right:18px;bottom:18px;z-index:42;height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--ui-border,#e3e6e8);background:var(--ui-brand,#00455C);color:#fff;font:650 13px var(--inter,Arial);box-shadow:0 6px 20px rgba(20,24,27,.18);cursor:pointer;}
#chatReopen svg{width:16px;height:16px;}

/* ---- SIDEBAR DE CHATS (visível só nas visões de chat) ---- */
#chatSidebar{display:none;}
body.chat-fullscreen #chatSidebar{position:fixed;inset:60px auto 0 0;width:280px;z-index:41;display:flex;flex-direction:column;background:#f7f8f8;border-right:1px solid var(--ui-border,#e3e6e8);}
body.chat-fullscreen.sidebar-collapsed #chatSidebar{transform:translateX(-100%);}
.chat-sidebar-head{display:flex;align-items:center;gap:8px;padding:14px 12px 10px;}
.chat-sidebar-head .sb-brand{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#17191b;}
.chat-sidebar-head .sb-brand .ico{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:#17251f;color:#89e2b8;font-size:13px;font-weight:900;}
.sb-collapse{margin-left:auto;width:30px;height:30px;border:0;background:transparent;border-radius:6px;color:#71777c;cursor:pointer;display:grid;place-items:center;}
.sb-collapse:hover{background:#eceeef;color:#17191b;}.sb-collapse svg{width:16px;height:16px;}
.sb-new{margin:10px 12px 8px;height:40px;display:flex;align-items:center;gap:8px;justify-content:center;border:1px solid #bfded6;background:linear-gradient(180deg,#ffffff,#f2faf8);color:#0B4F53;border-radius:10px;font:700 12.5px var(--inter,Arial);cursor:pointer;transition:background .15s,border-color .15s;}
.sb-new:hover{background:#fff;border-color:#8ccdc1;box-shadow:0 4px 12px rgba(0,69,92,.08);}
.sb-new svg{width:15px;height:15px;}
.sb-link{margin:0 12px 6px;height:36px;display:flex;align-items:center;gap:9px;padding:0 12px;border:0;background:transparent;color:#3a4045;border-radius:10px;font:650 12.5px var(--inter,Arial);cursor:pointer;}
.sb-link:hover{background:#eceeef;}
.sb-link.active{background:#eceeef;color:#17251f;}
.sb-link svg{width:16px;height:16px;flex:none;}
.sb-list{flex:1;min-height:0;overflow:auto;padding:10px 10px 8px;scrollbar-width:thin;scrollbar-color:#cdd1d3 transparent;border-top:1px solid #e6e9ea;margin-top:8px;}
.sb-section{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9a9fa3;padding:4px 6px 8px;}
/* linha única e compacta (estilo ChatGPT): só o título, sem subtítulo de data */
.sb-item{position:relative;display:flex;align-items:center;gap:6px;padding:7px 6px 7px 10px;border-radius:8px;cursor:pointer;color:#3a4045;font-size:12.5px;line-height:1.25;}
.sb-item:hover{background:#edf5f2;}
.sb-item.active{background:linear-gradient(90deg,#e4f4ef,#f4faf8);color:#0B4F53;font-weight:650;box-shadow:inset 3px 0 0 var(--ui-accent);}
.sb-item-copy{min-width:0;flex:1;}
/* sem reticências: corta a frase com um fade suave na direita, como no ChatGPT */
.sb-item-copy strong{display:block;font-weight:inherit;white-space:nowrap;overflow:hidden;text-overflow:clip;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 20px),transparent);}
/* "..." (kebab) por item — abre o menu Renomear/Excluir */
.sb-kebab{flex:none;width:24px;height:24px;border:0;background:transparent;color:#9a9fa3;border-radius:6px;cursor:pointer;opacity:0;display:grid;place-items:center;}
.sb-item:hover .sb-kebab,.sb-item.active .sb-kebab,.sb-kebab[aria-expanded="true"]{opacity:1;}
.sb-kebab:hover{background:rgba(20,24,27,.08);color:#17191b;}
.sb-kebab svg{width:18px;height:18px;}
/* menu flutuante do item (compartilhado, posicionado via JS) */
.sb-item-menu{position:fixed;z-index:60;min-width:168px;background:#fff;border:1px solid var(--ui-border,#e3e6e8);border-radius:10px;box-shadow:0 14px 40px rgba(20,24,27,.18);padding:6px;display:none;}
.sb-item-menu.open{display:block;}
.sb-item-menu button{width:100%;display:flex;align-items:center;gap:9px;text-align:left;border:0;background:transparent;color:#34383b;font:600 13px var(--inter,Arial);padding:9px 10px;border-radius:7px;cursor:pointer;}
.sb-item-menu button:hover{background:#f1f3f3;}
.sb-item-menu button.danger{color:#c0392b;}
.sb-item-menu button.danger:hover{background:#fdecea;}
.sb-item-menu svg{width:16px;height:16px;flex:none;}
/* renomear inline: sem contorno — o título vira editável "no lugar", como no ChatGPT.
   o :focus/:focus-visible anula o anel verde global de acessibilidade (regra input:focus-visible). */
.sb-rename-input{flex:1;min-width:0;font:inherit;color:inherit;border:0;border-radius:0;padding:0;margin:0;background:transparent;outline:none;}
.sb-rename-input:focus,.sb-rename-input:focus-visible{outline:none;box-shadow:none;}
.sb-empty{padding:18px 10px;color:#6c7378;font-size:12px;text-align:center;}
.sb-foot{border-top:1px solid var(--ui-border,#e3e6e8);padding:8px;position:relative;}
.sb-account{width:100%;display:flex;align-items:center;gap:9px;padding:8px;border:0;background:transparent;border-radius:7px;cursor:pointer;text-align:left;color:#34383b;}
.sb-account:hover{background:#eceeef;}
.sb-account .account-avatar{width:28px;height:28px;font-size:12px;}
.sb-account .sb-account-copy{min-width:0;flex:1;}
.sb-account .sb-account-copy strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sb-account .sb-account-copy span{display:block;font-size:11px;color:#6c7378;}
.sb-account-menu{position:absolute;left:8px;right:8px;bottom:58px;background:#fff;border:1px solid #e3e6e8;border-radius:8px;box-shadow:0 14px 40px rgba(20,24,27,.18);padding:6px;display:none;z-index:5;}
.sb-account-menu.open{display:block;}
.sb-account-menu button{width:100%;text-align:left;border:0;background:transparent;color:#34383b;font-size:12px;padding:9px 8px;border-radius:6px;cursor:pointer;}
.sb-account-menu button:hover{background:#f1f3f3;}
/* hambúrguer p/ abrir/recolher a sidebar (só nas visões de chat) */
#sidebarToggle{display:none;}
/* ≡ só no mobile (overlay); no desktop a sidebar fica sempre visível, sem "recolher" */
#openProjects,#saveProject,#openGallery{display:none;}    /* projetos+galeria foram p/ a sidebar; salvar é inline */
body.chat-fullscreen #dlAll,body.chat-fullscreen #preparePublish,body.chat-fullscreen #schedulePost,body.chat-fullscreen #previewBtn{display:none;}  /* exportar/publicar/visualizar só ao ver o carrossel */
.chat-sidebar-head{display:none;}                          /* topo da sidebar só tinha o "recolher" */

/* ---- CONVERSA CENTRALIZADA (tela cheia, estilo ChatGPT) ----
   a coluna de leitura é o próprio #chatLog (760px, centralizado). assim assistente e
   usuário dividem a MESMA coluna: o align-self de cada bolha alinha dentro dela (assistente
   à esquerda preenchendo, usuário como pílula à direita) em vez de espalhar pelas bordas. */
body.chat-fullscreen #chatLog{max-width:760px;width:100%;margin-inline:auto;}
body.chat-fullscreen #chatLog>.chat-msg.assistant{max-width:100%;}
body.chat-fullscreen #chatLog>.chat-msg.user{max-width:85%;}
body.chat-fullscreen .chat-input-row{justify-content:center;}
body.chat-fullscreen .chat-input-inner{max-width:760px;}
.chat-input-inner{display:flex;align-items:flex-end;gap:8px;flex:1;background:linear-gradient(180deg,#fff,#fbfefe);border:1px solid #d4e4df;border-radius:26px;padding:7px 7px 7px 18px;box-shadow:0 2px 14px rgba(0,69,92,.06);}
.chat-input-inner:focus-within{border-color:var(--ui-accent,#0C8F8A);box-shadow:0 0 0 3px rgba(12,143,138,.12),0 8px 24px rgba(0,69,92,.10);}
  /* hero de ativação (1º acesso) */
  .chat-hero .hero-greet{font:800 22px var(--sans);color:#17191b;margin-bottom:8px;}
  .chat-hero .hero-sub{font:500 14px var(--sans);color:#3a4045;line-height:1.55;margin-bottom:14px;}
  .chat-hero .hero-season{font:700 10px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#8a9094;margin-bottom:8px;}
  .chat-hero .hero-cta{margin-top:14px;width:100%;background:var(--ui-brand,#00455C);color:#fff;border:0;border-radius:12px;padding:13px;font:700 15px var(--sans);cursor:pointer;}
  .chat-hero .hero-cta:hover{filter:brightness(1.06);}
  .chat-hero .hero-alt{display:block;margin:10px auto 0;background:none;border:0;color:#7a8088;font:600 12px var(--sans);text-decoration:underline;cursor:pointer;}
/* onboarding guiado */
.chat-onboard{background:transparent!important;border:0!important;padding:6px 0 0!important;color:#22272a;}
.chat-onboard .ob-greet{font-size:18px;font-weight:700;color:#17191b;margin-bottom:10px;}
.chat-onboard .ob-body{font-size:13.5px;line-height:1.55;color:#3a4045;}
.chat-onboard .ob-body ul{margin:8px 0 4px;padding-left:18px;}
.chat-onboard .ob-body li{margin:4px 0;}
.chat-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.chat-chip-ex{border:1px solid #d4e4df;background:#fff;color:#34383b;border-radius:999px;padding:8px 13px;font:600 12px var(--inter,Arial);cursor:pointer;transition:background .15s,border-color .15s,color .15s;}
.chat-chip-ex:hover{background:var(--ui-accent-soft,#E8F5F2);border-color:#9fd0c5;color:#0B4F53;}
/* indicador "Gerando ideias…" */
.chat-thinking{display:inline-flex;align-items:center;gap:9px;color:#71777c;font:13px var(--inter,Arial);}
.chat-thinking .dots{display:inline-flex;gap:4px;}
.chat-thinking .dots i{width:6px;height:6px;border-radius:50%;background:var(--ui-accent,#0C8F8A);display:inline-block;animation:chatBlink 1.2s infinite ease-in-out;}
.chat-thinking .dots i:nth-child(2){animation-delay:.18s;}.chat-thinking .dots i:nth-child(3){animation-delay:.36s;}
@keyframes chatBlink{0%,80%,100%{opacity:.25;transform:translateY(0);}40%{opacity:1;transform:translateY(-2px);}}

.chat-head{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--ui-border,#e3e6e8);}
.chat-collapse-btn{margin-left:auto;width:30px;height:30px;border:0;background:transparent;border-radius:6px;color:#71777c;cursor:pointer;display:grid;place-items:center;}
.chat-collapse-btn:hover{background:#eceeef;color:#17191b;}
.chat-collapse-btn svg{width:16px;height:16px;}
/* esconde o collapse na Central de Conteúdo (tela cheia) — só faz sentido no editor */
body.chat-fullscreen .chat-collapse-btn{display:none;}
.chat-chip{font:600 11px/1 var(--inter,Arial);padding:5px 9px;border-radius:999px;background:#eef0f1;color:#33383b;}
.chat-chip.pensador{background:#e6f3f7;color:#00455C;}
.chat-chip.escritor{background:var(--ui-warm-soft,#FFF0EA);color:#B64A24;}
.chat-chip.render{background:#e8f5f2;color:#0B6B63;}
#chatLog{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;}
.chat-msg{max-width:88%;padding:10px 13px;border-radius:14px;font:14px/1.5 var(--inter,Arial);white-space:pre-wrap;word-break:break-word;}
  .chat-msg.user{align-self:flex-end;background:linear-gradient(180deg,#eaf6f2,#ddeee8);color:#213b36;position:relative;padding-right:42px;box-shadow:0 1px 0 rgba(12,143,138,.12) inset;}
  .chat-msg-text{display:block;}
  .chat-edit-btn{position:absolute;top:7px;right:7px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.42);color:#3f4549;display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s;}
  .chat-msg.user:hover .chat-edit-btn,.chat-edit-btn:focus-visible{opacity:1;}
  .chat-edit-btn:hover{background:#fff;color:#17191b;}
  .chat-edit-btn svg{width:14px;height:14px;}
.chat-msg.assistant{align-self:flex-start;background:transparent;border:0;color:#22272a;padding:6px 2px;}
/* markdown renderizado (renderMarkdownSafe) dentro das bolhas do assistente.
   o assistente já vem como HTML em blocos (<p>/<ul>/<table>), então normaliza o
   white-space p/ o pre-wrap do .chat-msg não somar gaps entre as tags geradas;
   bolhas .user seguem com pre-wrap (texto puro via textContent). */
.chat-msg.assistant{white-space:normal;}
.chat-msg p{margin:0 0 8px;}.chat-msg p:last-child{margin-bottom:0;}
.chat-msg strong{font-weight:700;}.chat-msg em{font-style:italic;}
.chat-msg code{font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;background:rgba(20,24,27,.07);border:1px solid rgba(20,24,27,.08);border-radius:4px;padding:1px 5px;word-break:break-all;}
.chat-msg h3{font-size:13px;font-weight:700;margin:10px 0 6px;color:#1a1f22;}.chat-msg h3:first-child{margin-top:0;}
.chat-msg ul,.chat-msg ol{margin:6px 0 8px;padding-left:20px;}.chat-msg li{margin:2px 0;}
.chat-msg table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;margin:8px 0;font-size:12px;white-space:normal;}
.chat-msg th,.chat-msg td{border:1px solid var(--ui-border,#dfe2e4);padding:5px 8px;text-align:left;vertical-align:top;}
.chat-msg th{background:rgba(20,24,27,.05);font-weight:650;}
.chat-template-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;margin-top:12px;max-width:760px;white-space:normal;}
.chat-template-card{min-width:0;border:1px solid #dbe3e0;border-radius:8px;background:#fff;padding:8px;text-align:left;color:#24282b;cursor:pointer;display:flex;flex-direction:column;gap:7px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease;font-family:var(--sans);}
.chat-template-card:hover,.chat-template-card:focus-visible{border-color:var(--ui-accent,#0C8F8A);background:#f1fbf8;box-shadow:0 8px 20px rgba(0,69,92,.08);transform:translateY(-1px);outline:0;}
.chat-template-real{position:relative;width:100%;aspect-ratio:4/5;border-radius:7px;overflow:hidden;background:#edf2ef;box-shadow:inset 0 0 0 1px rgba(20,24,27,.08);}
.chat-template-real .slide{position:absolute;left:0;top:0;width:1080px;height:1350px;transform:scale(var(--thumb-scale,.12));transform-origin:top left;pointer-events:none;}
.chat-template-real .upload{display:none!important;}
.chat-template-real [contenteditable]{cursor:default;}
.chat-template-real [contenteditable]:hover,.chat-template-real [contenteditable]:focus{outline:none;box-shadow:none;}
.chat-template-meta{display:grid;gap:2px;}
.chat-template-meta b{font-size:12px;line-height:1.2;color:#24282b;}
.chat-template-meta span{font-size:11px;color:#68716e;line-height:1.25;}
.chat-input-row{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 16px 20px;background:#fff;}
.chat-input-row>.chat-input-inner{flex:0 0 auto;width:100%;}
.chat-input-row textarea{flex:1;resize:none;box-sizing:border-box;height:42px;min-height:42px;max-height:200px;border:0;outline:0;background:transparent;padding:10px 2px;font:15px/1.45 var(--inter,Arial);color:var(--ui-text,#17191b);}
#chatSend{flex:none;width:38px;height:38px;min-width:38px;padding:0;border-radius:50%;display:grid;place-items:center;font-size:18px;line-height:1;}
@media(max-width:980px){body.chat-docked:not(.preview-mode):not(.overview-mode) .app-shell{grid-template-columns:220px minmax(360px,1fr) 320px;}}
@media(max-width:820px){
  /* mobile: sidebar vira overlay; conversa ocupa a tela toda */
  body.chat-fullscreen #chatPanel{left:0;}
  body.chat-fullscreen #chatSidebar{transform:translateX(-100%);box-shadow:0 0 0 100vmax rgba(0,0,0,0);transition:transform .2s ease;}
  body.chat-fullscreen.sidebar-open #chatSidebar{transform:translateX(0);box-shadow:0 0 0 100vmax rgba(15,18,20,.45);}
  body.chat-fullscreen.sidebar-collapsed #chatSidebar{transform:translateX(-100%);}
  body.chat-fullscreen #sidebarToggle{display:grid;}
}
@media(max-width:720px){
  body.chat-docked .app-shell{grid-template-columns:1fr;}
  body.chat-docked #chatPanel,body.chat-fullscreen #chatPanel{position:fixed;inset:56px 0 0;z-index:40;border-left:0;}
  body.chat-fullscreen #chatSidebar{inset:56px auto 0 0;}
}
/* === CHAT END === */

/* ===================== TEMPLATE F — BRUTALISTA ===================== */
.slide.F{background:
  linear-gradient(90deg,rgba(17,17,17,.08) 0 2px,transparent 2px 100%),
  linear-gradient(180deg,rgba(17,17,17,.05) 0 2px,transparent 2px 100%),
  var(--fBg);
  background-size:72px 72px,72px 72px,auto;color:var(--fInk);
  font-family:var(--inter);display:flex;flex-direction:column;overflow:hidden;}
.slide.F.f-invertido{background:var(--fInk);color:var(--fBg);}

/* cabeçalho (capa e slide só-texto) */
.F .fhead{display:flex;justify-content:space-between;align-items:baseline;gap:24px;min-width:0;
  padding:52px 64px 22px;font-weight:850;font-size:22px;letter-spacing:0;text-transform:uppercase;
  border-bottom:8px solid currentColor;}
.F .f-brand{min-width:0;overflow-wrap:anywhere;}
.F .fcount{white-space:nowrap;}

/* faixa de imagem (slide de conteúdo) */
.F .fband{position:relative;width:100%;flex:none;overflow:hidden;
  border-bottom:10px solid currentColor;}
.F .fband.sz-grande{height:500px;}
.F .fband.sz-media{height:380px;}
.F .fband.sz-pequena{height:270px;}
.F .fband.placeholder{background:
  linear-gradient(135deg,rgba(17,17,17,.92),rgba(17,17,17,.72)),
  repeating-linear-gradient(-35deg,rgba(var(--fAccentRgb),.92) 0 18px,rgba(var(--fAccentRgb),.2) 18px 26px,transparent 26px 48px);}
.F .fband .upload{right:24px;bottom:24px;}
.F .fcounter{position:absolute;left:0;bottom:0;z-index:2;white-space:nowrap;
  background:var(--fAccent);color:var(--fInk);
  font-weight:900;font-size:24px;letter-spacing:0;padding:12px 22px;}
.slide.F.f-invertido .fcounter{background:var(--fInk);color:var(--fBg);}

/* corpo de texto */
.F .fbodywrap{flex:1;min-height:0;display:flex;flex-direction:column;
  justify-content:flex-start;padding:56px 64px 48px 96px;gap:24px;position:relative;}
.F .fbodywrap::before{content:"";position:absolute;left:64px;top:60px;bottom:54px;width:14px;background:var(--fAccent);}
.F .fhl{font-weight:900;line-height:1.02;letter-spacing:0;text-transform:none;font-size:82px;overflow-wrap:anywhere;max-width:880px;}
.F .fbody{font-weight:650;font-size:34px;line-height:1.34;margin-top:0;max-width:850px;}
.slide.F.noimg .fbodywrap{justify-content:center;padding-bottom:96px;}
.slide.F.noimg .fhl{font-size:96px;line-height:1;}

/* capa (tipo-herói) */
.F .fcover{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:40px 64px 72px;position:relative;}
.F .fcover::before{content:"";width:210px;height:26px;background:var(--fAccent);margin-bottom:38px;}
.F .fcover .fhl{font-size:116px;line-height:1;max-width:930px;}
.slide.F.hide-head.noimg .fbodywrap{padding-top:84px;}
.slide.F.hide-head .fcover{padding-top:64px;}

/* rodapé */
.F .ffooter{display:flex;justify-content:space-between;align-items:center;gap:24px;min-width:0;
  margin:0 64px;padding:18px 0 50px;border-top:6px solid currentColor;
  font-weight:850;font-size:22px;text-transform:uppercase;}
.F .f-handle,.F .f-swipe{min-width:0;overflow-wrap:anywhere;}
.F .fcta{background:var(--fAccent);color:var(--fInk);padding:12px 22px;white-space:nowrap;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;}
.slide.F.f-invertido .fcta{background:var(--fBg);color:var(--fInk);}

/* REGRA (spec §2): caixas de destaque nunca cobrem palavras de outra linha/bloco.
   contador vive na quina da faixa (sobre a imagem, fora do texto); CTA ocupa a
   própria linha do rodapé; não há destaque inline no headline (texto é livre). */

/* ===================== TEMPLATE G — CHAT ===================== */
.slide.G{font-family:var(--inter);background:var(--gBg);color:var(--gInk);overflow:hidden;}
.G .gbar{position:absolute;left:0;right:0;top:0;height:118px;background:#fff;display:flex;align-items:center;padding:0 56px;gap:14px;}
.G .gavatar{width:50px;height:50px;border-radius:50%;background:var(--gInk);display:grid;place-items:center;color:#fff;flex:none;background-size:cover;background-position:center;overflow:hidden;}
.G .gavatar svg{width:28px;height:28px;}
.G .gname{font-size:25px;font-weight:850;letter-spacing:-.02em;display:flex;align-items:center;gap:8px;}
.G .gonline{display:block;font-size:14px;font-weight:700;color:var(--gOnline);margin-top:2px;}
.G .gcanvas{position:absolute;inset:118px 54px 86px;display:flex;flex-direction:column;justify-content:center;gap:22px;}
.G .gbubble{max-width:760px;border-radius:20px;padding:30px 34px;font-weight:750;font-size:40px;line-height:1.16;box-shadow:0 12px 30px rgba(15,34,48,.12);}
.G .gbubble.white{align-self:flex-start;background:#fff;color:var(--gInk);}
.G .gbubble.dark{align-self:flex-end;background:var(--gAccent);color:#fff;}
.G .gbubble .gbody{display:block;margin-top:18px;font-size:30px;line-height:1.32;font-weight:650;color:rgba(255,255,255,.9);}
.G .gdots{align-self:flex-start;background:#fff;border-radius:999px;padding:15px 20px;display:flex;gap:10px;box-shadow:0 10px 22px rgba(15,34,48,.1);}
.G .gdots i{width:10px;height:10px;border-radius:50%;background:#C6D1DB;}
.G .gimgcard{align-self:center;width:560px;max-width:100%;border-radius:18px;background:#fff;padding:12px;box-shadow:0 15px 32px rgba(15,34,48,.14);}
.G .gimg{height:500px;border-radius:14px;background:#C8D4DF center/cover no-repeat;display:grid;place-items:center;color:#fff;font-weight:800;font-size:22px;overflow:hidden;}
.G .gimg .upload{right:20px;bottom:20px;}
.G .gcaption{font-size:21px;line-height:1.35;font-weight:650;color:var(--gMuted);margin-top:14px;}
.G .ginput{position:absolute;left:48px;right:48px;bottom:42px;height:58px;border-radius:999px;background:#fff;display:flex;align-items:center;padding:0 24px;color:var(--gMuted);font-size:24px;font-weight:700;box-shadow:0 10px 25px rgba(15,34,48,.1);}
.G .ginput::after{content:"";margin-left:auto;width:42px;height:42px;border-radius:50%;background:var(--gAccent);}
.G .gfoot{position:absolute;left:0;right:0;bottom:36px;text-align:center;color:var(--gMuted);font-size:17px;font-weight:800;}

/* ===================== TEMPLATE H — POLAROID ===================== */
.slide.H{font-family:var(--inter);background:var(--hBg);color:var(--hInk);overflow:hidden;}
.H .hbrand{position:absolute;left:66px;top:64px;display:flex;align-items:center;gap:12px;font-size:23px;font-weight:850;}
.H .hbrand svg{width:30px;height:30px;color:var(--hInk);}
.H .havatar{width:52px;height:52px;border-radius:50%;background:var(--hInk);display:grid;place-items:center;color:#fff;flex:none;background-size:cover;background-position:center;overflow:hidden;}
.H .havatar svg{width:30px;height:30px;color:#fff;}
.H .hnum{position:absolute;right:0;top:58px;background:var(--hAccent);color:#fff;border-radius:8px 0 0 8px;padding:16px 22px;font-size:22px;font-weight:900;}
.H .hbody{position:absolute;left:76px;right:76px;top:190px;bottom:120px;display:flex;flex-direction:column;justify-content:center;gap:22px;}
.H .hkicker{font-size:28px;color:var(--hAccent);line-height:1;font-weight:900;}
.H .hheadline{font-size:74px;line-height:1.04;font-weight:900;letter-spacing:-.04em;max-width:880px;}
.H .htext{font-size:34px;line-height:1.38;font-weight:560;color:var(--hBody);max-width:790px;}
.H .hmark{background:linear-gradient(180deg,transparent 45%,var(--hMark) 45%);padding:0 5px;}
.H .hpolaroid{width:720px;align-self:center;background:#fff;padding:24px 24px 64px;box-shadow:0 18px 42px rgba(66,50,32,.16);transform:rotate(-3deg);margin-top:20px;}
.H .himg{height:520px;background:#D4DEE6 center/cover no-repeat;display:grid;place-items:center;color:#fff;font-size:22px;font-weight:800;position:relative;overflow:hidden;}
.H.cover .hpolaroid{width:830px;padding:26px 26px 70px;margin-top:30px;}
.H.cover .himg{height:620px;}
.H .himg .upload{right:18px;bottom:18px;}
.H .hcaption{position:absolute;left:24px;right:24px;bottom:12px;text-align:center;color:var(--hMuted);font-family:'Caveat',cursive;font-size:34px;font-weight:600;}
.H .hfooter{position:absolute;left:66px;right:66px;bottom:58px;display:flex;justify-content:space-between;align-items:center;color:var(--hInk);font-size:20px;font-weight:850;}
/* align-self: dentro do .hbody (flex column) o inline-block e blockificado e o stretch padrao
   esticava o oval na largura toda; com flex-start ele volta a acompanhar o texto */
.H .hcta{font-size:34px;font-weight:900;display:inline-block;align-self:flex-start;border:3px solid var(--hAccent);border-radius:50%;padding:10px 28px;transform:rotate(-4deg);}

/* ===================== TEMPLATE I — MOLDURA ESCURA ===================== */
.slide.I{font-family:var(--inter);background:radial-gradient(1100px 760px at 82% -5%,var(--iBg1),var(--iBg2) 60%);color:var(--iInk);overflow:hidden;}
.I::before{content:"";position:absolute;inset:38px;border:1.5px solid rgba(255,255,255,.15);border-radius:20px;pointer-events:none;}
.I .ihead{position:absolute;top:76px;left:78px;right:78px;display:flex;justify-content:space-between;align-items:center;z-index:2;}
.I .ibrand{display:flex;align-items:center;gap:12px;font-size:27px;font-weight:850;color:var(--iInk);}
.I .ibrand svg{width:34px;height:34px;}
.I .iavatar{width:56px;height:56px;border-radius:50%;background:rgba(var(--iInkRgb),.12);display:grid;place-items:center;color:var(--iInk);flex:none;background-size:cover;background-position:center;overflow:hidden;}
.I .iavatar svg{width:32px;height:32px;}
.I .icount{font-size:24px;font-weight:800;letter-spacing:.1em;color:rgba(var(--iInkRgb),.55);}
.I .icount span{color:rgba(var(--iInkRgb),.3);}
/* left/right 78px = mesma linha do cabecalho e do rodape (estava em 110px, 32px desalinhado do @) */
.I .ibody{position:absolute;left:78px;right:78px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;}
.I .ikicker{display:flex;align-items:center;gap:14px;margin-bottom:30px;font-size:23px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:var(--iG1);}
.I .ikicker::before{content:"";width:16px;height:16px;border-radius:4px;background:linear-gradient(135deg,var(--iG1),var(--iG2));flex:none;}
.I .iheadline{font-size:70px;line-height:1.03;font-weight:900;letter-spacing:-.04em;max-width:900px;}
.I.cover .iheadline{font-size:82px;}
.I .itext{font-size:35px;line-height:1.5;font-weight:560;color:var(--iBody);max-width:820px;margin-top:34px;}
.I .iimage{height:520px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#222A33,#11151A);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;color:rgba(255,255,255,.22);font-size:28px;font-weight:700;margin-top:52px;position:relative;}
.I .iimage .upload{right:20px;bottom:20px;}
.I .ifooter{position:absolute;bottom:80px;left:78px;right:78px;display:flex;justify-content:space-between;color:var(--iInk);font-size:24px;font-weight:800;}
.I .iswipe{color:rgba(var(--iInkRgb),.45);font-weight:650;}
.I .icta{align-self:flex-start;background:linear-gradient(135deg,var(--iG1),var(--iG2));color:var(--iBg2);padding:24px 46px;border-radius:14px;font-size:31px;font-weight:900;margin-top:48px;box-shadow:0 16px 38px rgba(var(--iG2Rgb),.3);}
.I.cover .icover-img{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;}
.I.cover .icover-img.placeholder{background-image:radial-gradient(130% 90% at 50% 28%,#222A33 0%,#11151A 58%,#080b0e 100%);}
.I.cover .icover-grad{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(11,14,18,.5) 0%,rgba(11,14,18,.28) 24%,rgba(11,14,18,.5) 46%,rgba(11,14,18,.64) 60%,rgba(11,14,18,.88) 80%,rgba(11,14,18,.97) 100%);}
.I.cover .ibody,.I.cover .ifooter{z-index:1;}
/* header acima do ibody na capa: o ibody (top:0;bottom:0) cobria o cabeçalho e roubava o clique, travando a edição do nome */
.I.cover .ihead{z-index:2;}
/* Capa: texto ancorado embaixo. O degradê da capa vai de .5 no meio a .97 no rodapé — foi
   desenhado pra assentar texto ali. Centralizado, o título caia no ponto de MENOR contraste
   e ainda por cima em cima do assunto da foto. padding-bottom livra o .ifooter (bottom:80px). */
.I.cover .ibody{justify-content:flex-end;padding-bottom:150px;}
.I.cover .iheadline{text-shadow:0 2px 22px rgba(0,0,0,.45);}
.I.cover .icover-upload{right:64px;top:160px;}

/* ===================== TEMPLATE J — LIMPO ===================== */
.slide.J{font-family:var(--inter);background:var(--jBg);color:var(--jInk);overflow:hidden;}
.J .jhead{position:absolute;top:74px;left:78px;right:78px;height:86px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1.5px solid rgba(var(--jInkRgb),.12);z-index:2;}   /* acima do .jbody (que cobre o slide inteiro), senão o nome do cabeçalho não recebe clique */
.J .jbrand{display:flex;align-items:center;gap:13px;font-size:27px;font-weight:850;}
.J .javatar{width:52px;height:52px;border-radius:50%;background:var(--jInk);display:grid;place-items:center;color:#fff;flex:none;background-size:cover;background-position:center;overflow:hidden;}
.J .javatar svg{width:31px;height:31px;}
.J .jcount{font-size:24px;font-weight:800;letter-spacing:.1em;color:var(--jMuted);margin-top:6px;}
.J .jcount span{color:rgba(var(--jInkRgb),.3);}
.J .jbody{position:absolute;left:78px;right:78px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;}
.J .jkicker{display:flex;align-items:center;gap:13px;margin-bottom:28px;font-size:23px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:var(--jAccent);}
.J .jkicker::before{content:"";width:34px;height:5px;border-radius:3px;background:var(--jAccent);flex:none;}
.J .jheadline{font-family:'Fraunces',Georgia,serif;font-size:68px;line-height:1.1;font-weight:640;letter-spacing:-.012em;max-width:900px;}
.J.cover .jheadline{font-size:82px;line-height:1.06;}
.J .jtext{font-size:35px;line-height:1.5;font-weight:560;color:var(--jBody);max-width:830px;margin-top:32px;}
.J .jimage{height:520px;border-radius:18px;background:#E7EBEF center/cover no-repeat;border:1px solid #DCE1E6;display:grid;place-items:center;color:#A9B2BB;font-size:28px;font-weight:700;margin-top:52px;position:relative;overflow:hidden;}
.J .jimage .upload{right:20px;bottom:20px;}
.G .gimg.dragimg span,.H .himg.dragimg span,.I .iimage.dragimg span,.J .jimage.dragimg span{display:none;}
.gavatar.has-photo svg,.javatar.has-photo svg,.havatar.has-photo svg,.iavatar.has-photo svg{display:none;}
.J .jfooter{position:absolute;bottom:80px;left:78px;right:78px;display:flex;justify-content:space-between;color:var(--jInk);font-size:24px;font-weight:850;border-top:1px solid rgba(var(--jInkRgb),.16);padding-top:16px;}
.J .jswipe{color:var(--jMuted);font-weight:650;}
.J .jcta{align-self:flex-start;background:var(--jAccent);color:#fff;padding:24px 46px;border-radius:14px;font-size:31px;font-weight:900;margin-top:46px;box-shadow:0 14px 32px rgba(var(--jAccentRgb),.22);}
.J.cover{color:#fff;}
.J.cover .jcover-img{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;}
.J.cover .jcover-img.placeholder{background-image:radial-gradient(130% 90% at 50% 28%,#1f2b38 0%,#15202B 56%,#0a1017 100%);}
.J.cover .jcover-grad{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(8,14,20,.46) 0%,rgba(8,14,20,.26) 24%,rgba(8,14,20,.48) 46%,rgba(8,14,20,.62) 60%,rgba(8,14,20,.86) 80%,rgba(8,14,20,.97) 100%);}
.J.cover .jbody,.J.cover .jfooter{z-index:1;}
.J.cover .jheadline{text-shadow:0 2px 22px rgba(0,0,0,.45);}
.J.cover .jhead{border-bottom-color:rgba(255,255,255,.22);}
.J.cover .jkicker{color:#fff;}
.J.cover .jkicker::before{background:#fff;}
.J.cover .jheadline{color:#fff;}
.J.cover .jcount{color:rgba(255,255,255,.72);}
.J.cover .jcount span{color:rgba(255,255,255,.42);}
.J.cover .jfooter{color:#fff;}
.J.cover .jswipe{color:rgba(255,255,255,.7);}
.J.cover .javatar{background-color:rgba(255,255,255,.16);}   /* longhand: não reseta background-size:cover, senão a foto do avatar renderiza em tamanho natural (círculo escuro) */
.J.cover .jcover-upload{right:64px;top:160px;}

/* ===================== TEMPLATE K — IMAGEM EDITORIAL ===================== */
.slide.K{font-family:var(--inter);background:var(--kBg);color:var(--kInk);overflow:hidden;}
.K .khead{position:absolute;top:58px;left:70px;right:70px;display:flex;align-items:center;justify-content:space-between;gap:24px;z-index:4;}
.K .kbrand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:850;letter-spacing:-.02em;color:var(--kInk);}
.K .kavatar{width:48px;height:48px;border-radius:50%;background:var(--kDark);display:grid;place-items:center;color:#fff;flex:none;background-size:cover;background-position:center;overflow:hidden;}
.K .kavatar svg{width:28px;height:28px;}
.K .kmark{font-size:18px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:var(--kAccent);}
.K .kcover-img{position:absolute;left:70px;right:70px;top:142px;height:650px;border-radius:32px;background:#D6DFE4 center/cover no-repeat;overflow:hidden;box-shadow:0 28px 70px rgba(20,24,27,.16);}
.K .kcover-img.placeholder{background-image:radial-gradient(120% 90% at 50% 28%,#dbe5eb 0%,#c6d3dc 54%,#aabac6 100%);}
.K .kcover-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.12));pointer-events:none;}
.K .kcover-img .upload,.K .kimage .upload{right:22px;bottom:22px;}
.K .kcontent{position:absolute;left:70px;right:70px;top:838px;bottom:106px;display:flex;flex-direction:column;justify-content:center;padding:42px 50px;background:#fff;border:1px solid rgba(20,24,27,.08);border-radius:30px;box-shadow:0 20px 48px rgba(20,24,27,.10);}
.K .kkicker{font-size:20px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--kAccent);margin-bottom:24px;}
.K .kheadline{font-size:72px;line-height:1.02;font-weight:900;letter-spacing:-.045em;max-width:900px;color:var(--kInk);}
.K .ktext{font-size:31px;line-height:1.42;font-weight:560;color:var(--kBody);max-width:820px;margin-top:24px;}
.K .kfooter{position:absolute;left:74px;right:74px;bottom:48px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:22px;font-weight:850;color:var(--kInk);}
.K .kswipe{color:var(--kMuted);font-weight:700;}
.K.content .kcontent{top:170px;bottom:112px;}
.K.content .kimage{height:520px;margin-top:34px;border-radius:26px;background:#D6DFE4 center/cover no-repeat;overflow:hidden;position:relative;box-shadow:0 20px 46px rgba(20,24,27,.12);}
.K.content .kimage.sz-media{height:420px;}
/* degraus de tamanho que o select "Imagem" grava — I/J/H/L não tinham NENHUM (o select era no-op) */
.I .iimage.sz-media{height:420px;} .I .iimage.sz-pequena{height:320px;}
.J .jimage.sz-media{height:420px;} .J .jimage.sz-pequena{height:320px;}
.H .hpolaroid.sz-media{width:640px;} .H .hpolaroid.sz-pequena{width:500px;}
.K.content .kimage.sz-pequena{height:300px;}
.K.content .kimage.placeholder{background-image:radial-gradient(120% 90% at 50% 28%,#dbe5eb 0%,#c6d3dc 54%,#aabac6 100%);}
.K.content.noimg .kimage{display:none;}
.K.content.noimg .kcontent{justify-content:center;}
.K.content.kv-feature .kcontent{top:150px;bottom:108px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;justify-content:flex-end;}
.K.content.kv-feature .kimage{order:-1;height:610px;margin:0 0 36px;border-radius:34px;}
.K.content.kv-feature .kkicker,.K.content.kv-feature .kheadline,.K.content.kv-feature .ktext{max-width:830px;}
.K.content.kv-feature .kkicker{margin:0 0 18px;}
.K.content.kv-feature .kheadline{font-size:64px;}
.K.content.kv-side .kcontent{top:178px;bottom:122px;display:grid;grid-template-columns:.92fr .78fr;gap:42px;align-items:center;padding:50px;}
.K.content.kv-side .kimage{grid-column:2;grid-row:1 / span 4;margin:0;height:720px;order:2;border-radius:30px;}
.K.content.kv-side .kkicker,.K.content.kv-side .kheadline,.K.content.kv-side .ktext,.K.content.kv-side .kcta{grid-column:1;max-width:100%;}
.K.content.kv-side .kkicker{align-self:end;margin-bottom:0;}
.K.content.kv-side .kheadline,.K.content.kv-side .ktext{align-self:start;}
.K.content.kv-side .kheadline{font-size:62px;}
.K.content.kv-poster .kcontent{left:92px;right:92px;top:196px;bottom:132px;align-items:center;text-align:center;padding:54px 62px;}
.K.content.kv-poster .kimage{order:-1;width:74%;height:430px;margin:0 0 38px;border-radius:999px;}
.K.content.kv-poster .kkicker{margin-bottom:18px;}
.K.content.kv-poster .kheadline{max-width:760px;font-size:66px;}
.K.content.kv-poster .ktext{max-width:720px;}
.K .kcta{align-self:flex-start;margin-top:34px;background:var(--kDark);color:#fff;border-radius:999px;padding:20px 34px;font-size:26px;font-weight:900;}
.K.content.kv-poster .kcta{align-self:center;}

/* ===================== TEMPLATE L — CAPA SPLIT ===================== */
.slide.L{font-family:var(--inter);background:var(--lBg);color:var(--lInk);overflow:hidden;}
.L::before{content:"";position:absolute;inset:0;background:radial-gradient(780px 600px at 18% 8%,rgba(var(--lGlow2Rgb),.28),transparent 62%),radial-gradient(860px 760px at 96% 82%,rgba(var(--lGlowRgb),.18),transparent 64%);pointer-events:none;}
.L .lhead{position:absolute;top:62px;left:70px;right:70px;display:flex;align-items:center;justify-content:space-between;gap:24px;z-index:4;}
.L .lbrand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:850;letter-spacing:-.02em;color:var(--lInk);}
.L .lavatar{width:48px;height:48px;border-radius:50%;background:rgba(var(--lInkRgb),.12);display:grid;place-items:center;color:var(--lInk);flex:none;background-size:cover;background-position:center;overflow:hidden;}
.L .lavatar svg{width:28px;height:28px;}
.L .lmark{font-size:18px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--lAccent);}
.L .lgrid{position:absolute;left:70px;right:70px;top:160px;bottom:112px;display:grid;grid-template-columns:1.02fr .82fr;gap:44px;align-items:center;}
.L .lcopy{min-width:0;}
.L .lkicker{display:inline-flex;margin-bottom:28px;border:1px solid rgba(var(--lAccentRgb),.32);border-radius:999px;padding:12px 18px;color:var(--lAccent);font-size:19px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}
.L .lheadline{font-size:78px;line-height:1.01;font-weight:900;letter-spacing:-.055em;max-width:620px;color:var(--lInk);}
.L.cover .lheadline{font-size:86px;}
.L .ltext{font-size:31px;line-height:1.42;font-weight:560;color:var(--lBody);max-width:570px;margin-top:28px;}
/* template Capa Split (L) sem imagem: texto ocupa a largura toda (sem coluna vazia à direita) */
.L .lgrid.lgrid-full{grid-template-columns:1fr;}
.lgrid.lgrid-flip{grid-template-columns:.82fr 1.02fr;}
.lgrid-flip .lcopy{order:2;}
.lgrid-flip .limage-wrap{order:1;}
.L .lgrid-full .lheadline{max-width:none;}
.L .lgrid-full .ltext{max-width:900px;}
.L .limage-wrap{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:0;}
.L .limage{width:100%;height:min(780px,100%);border-radius:34px;background:#263642 center/cover no-repeat;overflow:hidden;position:relative;box-shadow:0 34px 82px rgba(0,0,0,.32);transform:rotate(2.5deg);}
.L .limage.placeholder{background-image:radial-gradient(120% 90% at 50% 28%,#40515d 0%,#263642 58%,#15202a 100%);}
.L .limage::before{content:"";position:absolute;inset:18px;border:1.5px solid rgba(255,255,255,.18);border-radius:24px;pointer-events:none;z-index:2;}
.L .limage .upload{right:24px;bottom:24px;}
.L .lfooter{position:absolute;left:74px;right:74px;bottom:50px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:22px;font-weight:850;color:var(--lInk);}
.L .lswipe{color:rgba(var(--lInkRgb),.58);font-weight:700;}
.L.content .lgrid{grid-template-columns:1fr;gap:30px;align-items:start;top:160px;bottom:120px;}
.L.content .lheadline{max-width:850px;font-size:70px;}
.L.content .ltext{max-width:850px;}
.L.content .limage{height:500px;transform:none;border-radius:28px;}
.L.content .limage.sz-media{height:390px;}
.L.content .limage.sz-pequena{height:280px;}
.L.content.noimg .limage-wrap{display:none;}
.L.content.lv-split .lgrid{grid-template-columns:.85fr 1fr;gap:52px;align-items:center;}
.L.content.lv-split .lcopy{order:2;}
.L.content.lv-split .limage-wrap{order:1;}
.L.content.lv-split .limage{height:760px;transform:rotate(-2deg);border-radius:34px;}
.L.content.lv-split .lheadline{font-size:64px;max-width:570px;}
.L.content.lv-band .lgrid{grid-template-columns:1fr;grid-template-rows:minmax(0,560px) auto;gap:38px;align-items:stretch;top:150px;}
.L.content.lv-band .lcopy{align-self:start;max-width:820px;}
.L.content.lv-band .limage-wrap{order:-1;align-items:stretch;}
.L.content.lv-band .limage{height:100%;transform:none;border-radius:30px;}
.L.content.lv-band .lheadline{font-size:62px;max-width:760px;}
.L.content.lv-card .lgrid{grid-template-columns:1fr;align-items:center;justify-items:center;text-align:center;top:174px;bottom:132px;}
.L.content.lv-card .lcopy{max-width:780px;}
.L.content.lv-card .limage-wrap{width:72%;height:430px;order:-1;}
.L.content.lv-card .limage{height:100%;transform:rotate(1.5deg);border-radius:999px;}
.L.content.lv-card .lheadline{font-size:68px;max-width:760px;}
.L.content.lv-card .ltext{max-width:720px;margin-left:auto;margin-right:auto;}
.L .lcta{width:fit-content;align-self:flex-start;margin-top:40px;background:var(--lAccent);color:var(--lBg);border-radius:999px;padding:20px 34px;font-size:26px;font-weight:900;}
.L.content.lv-card .lcta{align-self:center;}
.kavatar.has-photo svg,.lavatar.has-photo svg{display:none;}
/* ===== Brand Kit (Minha marca) ===== */
.bk-dialog{border:0;border-radius:14px;padding:0;max-width:640px;width:92vw;inset:0;margin:auto;height:fit-content;max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 24px 70px rgba(0,0,0,.3);}
.bk-dialog::backdrop{background:rgba(10,12,14,.45);}
.bk-form{padding:22px 22px 18px;display:flex;flex-direction:column;gap:14px;font-family:var(--sans);color:#1c1f22;}
.bk-form h3{margin:0;font-size:18px;font-weight:750;}
.bk-form .bk-sub{margin:0;font-size:12px;color:#8a9095;}
.bk-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:650;color:#565d62;}
.bk-form input[type=text],.bk-form textarea,.bk-form select{font:500 12.5px/1.35 var(--sans);color:#252a2e;padding:8px 10px;border:1px solid #d7dbde;border-radius:8px;background:#fff;}
.bk-form textarea{resize:vertical;min-height:52px;line-height:1.36;}
.bk-form input::placeholder,.bk-form textarea::placeholder{color:#a8afb4;font-weight:450;}
.bk-identity{display:flex;flex-direction:column;gap:10px;}
.bk-handle-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;}
.bk-handle-row .btn{height:38px;margin-bottom:0;}
.bk-refresh-status{display:none;align-items:center;gap:9px;border:1px solid #dcebe4;background:#f5faf7;color:#315f4d;border-radius:10px;padding:9px 11px;font-size:11.5px;font-weight:650;}
.bk-refresh-status.show{display:flex;}
.bk-refresh-status i{width:14px;height:14px;border-radius:50%;border:2px solid #c7ddd4;border-top-color:#00455C;animation:bkSpin .75s linear infinite;flex:none;}
.bk-refresh-status.done i{animation:none;border-color:#2f9b67;background:#2f9b67;box-shadow:inset 0 0 0 3px #fff;}
.bk-refresh-status.warn{border-color:#f0d1c6;background:#fff7f3;color:#9a4f32;}
.bk-refresh-status.warn i{animation:none;border-color:#d46d43;background:#d46d43;box-shadow:inset 0 0 0 3px #fff;}
@keyframes bkSpin{to{transform:rotate(360deg);}}
.bk-avatar{display:flex;align-items:center;gap:12px;}
.bk-avatar i{width:48px;height:48px;border-radius:50%;background:#e7ebee center/cover no-repeat;display:inline-block;flex:none;border:1px solid #d7dbde;}
.bk-profile{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.bk-profile label:first-child,.bk-profile label:last-child{grid-column:1/-1;}
.bk-palette{display:grid;gap:10px;border-top:1px solid #edf0f0;padding-top:12px;}
.bk-primary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;}
.bk-primary-row input[type=color]{width:46px;height:38px;padding:2px;border:1px solid #d7dbde;border-radius:9px;background:#fff;cursor:pointer;}
.bk-derived{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.bk-derived span{width:30px;height:30px;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(20,24,27,.12);}
.bk-derived small{font-size:12px;color:#6c7378;}
.bk-advanced{border:1px solid #edf0f0;border-radius:10px;padding:9px 10px;background:#fbfcfc;}
.bk-advanced summary{cursor:pointer;font-size:12px;font-weight:700;color:#5e666b;}
.bk-colors .colors{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;}
.bk-colors .swatch{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;padding:0;width:auto;height:auto;}
.bk-colors .swatch input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:46px;height:46px;border:1px solid #d7dbde;border-radius:12px;padding:0;background:none;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.06);}
.bk-colors .swatch input[type=color]::-webkit-color-swatch-wrapper{padding:0;}
.bk-colors .swatch input[type=color]::-webkit-color-swatch{border:none;border-radius:11px;}
.bk-colors .swatch input[type=color]::-moz-color-swatch{border:none;border-radius:11px;}
.bk-colors .swatch span{font-size:12px;color:#5f666c;text-align:center;max-width:72px;line-height:1.2;}
.bk-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px;}
/* ===== Contextos ===== */
.ctx-form{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.ctx-form input[type=text],.ctx-form textarea{font:inherit;padding:8px 10px;border:1px solid #d7dbde;border-radius:8px;}
.ctx-form textarea{resize:vertical;}
.ctx-form-actions{display:flex;justify-content:flex-end;gap:8px;}
#contextsList .project-row{grid-template-columns:minmax(0,1fr) auto;}
#contextsList .project-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#6c7378;font-size:12px;}
.chat-chip-ctx{border-color:#cdb4f0;background:#f6f0ff;color:#5b3da8;}
.chat-chip-ctx:hover{background:#efe6ff;border-color:#b794ec;}
/* ===== Onboarding de ativação ===== */
.onb-page{position:fixed;inset:0;z-index:120;display:grid;align-content:start;justify-items:center;gap:12px;background:linear-gradient(135deg,#f7faf9 0%,#eef4f2 55%,#e8efec 100%);padding:28px 24px;overflow:auto;}
.onb-page[hidden]{display:none;}
.onb-topbar{width:min(1040px,100%);display:flex;align-items:center;justify-content:space-between;margin:10px 0 14px;}
.onb-brand{display:flex;justify-content:flex-start;}
.onb-brand img{height:30px;width:auto;display:block;}
body.onboarding-page-open{overflow:hidden;}
/* o scroll fica no .onb-body — se rolasse aqui, a barra passava por cima dos cantos arredondados */
.onb-form{width:min(1040px,100%);max-height:calc(100dvh - 148px);padding:0;display:flex;flex-direction:column;font-family:var(--sans);color:#1c1f22;background:#fff;border:1px solid #e2e8e6;border-radius:18px;box-shadow:0 24px 70px rgba(20,24,27,.12);overflow:hidden;}
.onb-hero{flex:none;display:block;padding:28px 32px 20px;background:#fbfdfc;border-bottom:1px solid #edf1ef;}
.onb-kicker{margin-bottom:10px;color:#00455C;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.onb-form h3{margin:0;font-size:25px;letter-spacing:0;line-height:1.15;}
.onb-form .onb-sub{margin:10px 0 0;font-size:14px;line-height:1.5;color:#6b7177;max-width:680px;}
.onb-form .onb-season{margin-top:6px;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#9aa0a5;}
.onb-steps{width:min(1040px,100%);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;font-family:var(--sans);}
.onb-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;align-items:center;color:#596164;font-size:12px;line-height:1.28;border:1px solid rgba(0,69,92,.1);background:rgba(255,255,255,.62);text-align:left;font-family:var(--sans);padding:10px 11px;border-radius:14px;box-shadow:0 10px 30px rgba(20,24,27,.06);backdrop-filter:blur(14px);cursor:default;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;}
.onb-step.visited{cursor:pointer;}
.onb-step.active{border-color:rgba(0,69,92,.28);background:#fff;box-shadow:0 16px 42px rgba(0,69,92,.12);transform:translateY(-1px);}
.onb-step.active b{background:#00455C;color:#fff;}
.onb-step.active strong{color:#00455C;}
.onb-step.visited:not(.active):hover{background:#fff;border-color:rgba(0,69,92,.22);box-shadow:0 14px 36px rgba(20,24,27,.09);transform:translateY(-1px);}
.onb-step.visited:not(.active):hover strong{color:#00455C;}
.onb-step:disabled{opacity:.52;}
.onb-step b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8f3ef;color:#00455C;font-size:12px;}
.onb-step strong{display:block;color:#24282b;font-size:12px;margin-bottom:2px;}
.onb-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px 32px 28px;display:flex;flex-direction:column;gap:14px;}
.onb-form[data-onb-stage="start"] .onb-map,.onb-form[data-onb-stage="start"] .onb-wizard{display:none;}
.onb-form[data-onb-stage="map"] .onb-start,.onb-form[data-onb-stage="map"] .onb-wizard{display:none;}
.onb-form[data-onb-stage="wizard"] .onb-start,.onb-form[data-onb-stage="wizard"] .onb-map{display:none!important;}
.onb-form #onbInput{font:14px var(--sans);padding:11px 13px;border:1px solid #d7dbde;border-radius:12px;resize:vertical;min-height:54px;transition:border-color .12s ease,box-shadow .12s ease;}
.onb-field{display:flex;flex-direction:column;gap:6px;}
.onb-field label{font-size:12px;font-weight:700;color:#30363a;}
.onb-field input,.onb-field textarea{font:14px/1.35 var(--sans);padding:11px 13px;border:1px solid #d7dbde;border-radius:12px;background:#fff;color:#1c1f22;transition:border-color .12s ease,box-shadow .12s ease;}
.onb-field input{height:44px;}
.onb-field textarea{resize:vertical;min-height:70px;}
.onb-field input:focus,.onb-field textarea:focus,.onb-form #onbInput:focus{outline:none;border-color:#0c8f8a;box-shadow:0 0 0 3px rgba(12,143,138,.16);}
.onb-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;}
.onb-actions{display:flex;gap:10px;align-items:center;margin-top:4px;}
.onb-actions .onb-cta{flex:1;margin-top:0;}
.onb-back{align-self:flex-start;border:1px solid #d7e3df;border-radius:999px;padding:8px 12px;background:#fff;color:#52605d;font:800 12px var(--sans);cursor:pointer;margin-bottom:10px;}
.onb-back:hover{background:#f5faf8;border-color:#b9d7cf;color:#00455C;}
.onb-skip{border:1px solid #d7e3df;border-radius:10px;padding:13px 16px;background:#fff;color:#52605d;font:700 14px var(--sans);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease;}
.onb-skip:hover{background:#f5faf8;border-color:#b9d7cf;color:#00455C;}
.onb-skip:disabled{opacity:.58;cursor:default;}
.onb-exit{border:0;border-radius:0;padding:4px 0;background:transparent;color:#7b8885;font:650 12px var(--sans);cursor:pointer;opacity:.72;transition:opacity .18s ease,color .18s ease;}
.onb-exit:hover{opacity:1;color:#00455C;}
.onb-wizard{margin-top:16px;padding-top:18px;border-top:1px solid #edf0f0;}
.onb-wizard[hidden]{display:none;}
.onb-wizard-progress{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.onb-wizard-progress span{border:1px solid #dde7e4;border-radius:999px;padding:6px 10px;background:#fff;color:#6b7471;font-size:11px;font-weight:800;}
.onb-wizard-progress span.active{border-color:#00455C;background:#e8f4f1;color:#00455C;}
.onb-panel{display:none;}
.onb-panel.open{display:block;}
.onb-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;}
.onb-panel-head .onb-back{margin:0;flex:none;}
.onb-panel .onb-panel-head p{margin:4px 0 0;}
.onb-panel h4{margin:0 0 4px;font-size:18px;line-height:1.2;color:#202529;}
.onb-panel p{margin:0 0 14px;color:#6b7177;font-size:13px;line-height:1.45;}
.onb-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;}
.onb-choice{border:1px solid #dbe3e0;border-radius:12px;padding:12px;background:#fff;color:#2c3235;text-align:left;font:700 13px/1.35 var(--sans);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;}
.onb-choice:hover,.onb-choice.selected{border-color:#0C8F8A;background:#f1fbf8;box-shadow:0 8px 20px rgba(0,69,92,.08);}
.onb-template-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px;}
.onb-template{min-height:242px;border:1px solid #dbe3e0;border-radius:12px;background:#fff;padding:9px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;}
.onb-template:hover,.onb-template.selected{border-color:#0C8F8A;background:#f1fbf8;box-shadow:0 8px 20px rgba(0,69,92,.08);}
.onb-template-real{position:relative;width:100%;aspect-ratio:4/5;border-radius:8px;overflow:hidden;background:#edf2ef;box-shadow:inset 0 0 0 1px rgba(20,24,27,.08);}
.onb-template-real .slide{position:absolute;left:0;top:0;width:1080px;height:1350px;transform:scale(var(--thumb-scale,.12));transform-origin:top left;pointer-events:none;}
.onb-template-real .upload{display:none!important;}
.onb-template-real [contenteditable]{cursor:default;}
.onb-template-real [contenteditable]:hover,.onb-template-real [contenteditable]:focus{outline:none;box-shadow:none;}
.onb-template>b{font-size:12px;line-height:1.2;color:#24282b;}
.onb-template>span:not(.onb-template-real){font-size:11px;color:#68716e;line-height:1.25;}
.onb-color-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;}
.onb-color{width:46px;height:46px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #d5ddda,0 8px 18px rgba(20,24,27,.12);cursor:pointer;}
.onb-color.selected{box-shadow:0 0 0 3px #00455C,0 10px 20px rgba(0,69,92,.2);}
.onb-avatar-row{display:flex;align-items:center;gap:14px;margin:4px 0 14px;}
.onb-avatar-preview{flex:none;width:56px;height:56px;border-radius:50%;background:#eef4f2 center/cover no-repeat;box-shadow:inset 0 0 0 1px rgba(20,24,27,.1);}
.onb-avatar-info{flex:1;min-width:0;}
.onb-avatar-btn{border:1px solid #cfdad6;background:#fff;color:#16251f;border-radius:9px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer;font-family:var(--sans);}
.onb-avatar-btn:hover{border-color:#0C8F8A;background:#f1fbf8;}
.onb-avatar-hint{font-size:12px;color:#68716e;line-height:1.35;margin:6px 0 0;}
.onb-palette{display:flex;align-items:center;gap:7px;margin:-2px 0 14px;flex-wrap:wrap;}
.onb-palette:empty{display:none;}
.onb-pal-swatch{width:24px;height:24px;border-radius:7px;box-shadow:inset 0 0 0 1px rgba(20,24,27,.12);}
.onb-pal-label{font-size:12px;color:#68716e;margin-left:4px;}
.onb-custom-color{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:3px solid #fff;background:conic-gradient(from 20deg,#0C8F8A,#D86A28,#314B91,#7B2FF2,#16251F,#0C8F8A);box-shadow:0 0 0 1px #d5ddda,0 8px 18px rgba(20,24,27,.12);cursor:pointer;}
.onb-custom-color.selected{box-shadow:0 0 0 3px #00455C,0 10px 20px rgba(0,69,92,.2);}
.onb-custom-color input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.onb-custom-color span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:#00455C;font-size:18px;font-weight:900;line-height:1;box-shadow:0 2px 8px rgba(20,24,27,.18);pointer-events:none;}
.onb-brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
.onb-preview-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-bottom:12px;}
.onb-preview-card{position:relative;min-height:250px;border-radius:12px;padding:12px;color:#17251f;background:#fbfdfc;display:flex;flex-direction:column;gap:9px;box-shadow:0 12px 28px rgba(20,24,27,.14);overflow:hidden;}
.onb-preview-image{position:relative;height:78px;border-radius:9px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--onb-accent,#0C8F8A) 18%,#f6faf8),color-mix(in srgb,var(--onb-accent,#0C8F8A) 64%,#22303a));border:1px solid rgba(20,24,27,.08);flex:none;}
.onb-preview-image::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 28% 28%,rgba(255,255,255,.52),transparent 28%),linear-gradient(120deg,transparent 0 46%,rgba(255,255,255,.24) 47% 58%,transparent 59%);}
.onb-preview-image i{position:absolute;left:10px;right:34%;bottom:10px;height:7px;border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 12px 0 rgba(255,255,255,.38);}
.onb-preview-card b{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.04em;opacity:.68;}
.onb-preview-card strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:16px;line-height:1.08;}
.onb-preview-card span{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.35;opacity:.82;}
.onb-preview-card.tpl-J{background:#fbfdfc;color:#17251f;}
.onb-preview-card.tpl-J::after{content:"";position:absolute;right:12px;bottom:12px;width:26px;height:26px;border-radius:50%;background:var(--onb-accent,#0C8F8A);opacity:.9;}
.onb-preview-card.tpl-B{background:#f7f3ea;color:#16202e;border:1px solid #e5ddd0;}
.onb-preview-card.tpl-B .onb-preview-image{background:linear-gradient(135deg,#e2ece6,var(--onb-accent,#0C8F8A));}
.onb-preview-card.tpl-B::after{content:"";position:absolute;left:12px;right:12px;bottom:10px;height:3px;background:var(--onb-accent,#0C8F8A);opacity:.8;}
.onb-preview-card.tpl-F{background:#101010;color:#f4ff00;border:2px solid #f4ff00;border-radius:4px;text-transform:uppercase;}
.onb-preview-card.tpl-F .onb-preview-image{border-radius:2px;background:linear-gradient(135deg,#f4ff00,#4e5600);}
.onb-preview-card.tpl-F span{color:#fff;opacity:.82;text-transform:none;}
.onb-preview-card.tpl-H{background:#f8f3eb;color:#2d261e;}
.onb-preview-card.tpl-H .onb-preview-image{width:74%;height:92px;margin:0 auto 2px;border:7px solid #fff;border-bottom-width:18px;border-radius:3px;box-shadow:0 8px 18px rgba(45,38,30,.18);transform:rotate(-2deg);}
.onb-preview-card.tpl-I{background:#101820;color:#fff;border-radius:16px;padding:14px;}
.onb-preview-card.tpl-I .onb-preview-image{height:96px;border-radius:12px;background:linear-gradient(135deg,#1d2f56,var(--onb-accent,#314B91));}
.onb-preview-card.tpl-I b{color:#ffc24b;opacity:1;}
.onb-preview-lock{border:1px dashed #d7e1de;border-radius:10px;padding:12px;color:#6c7572;background:#fbfdfc;font-size:12px;line-height:1.4;margin-bottom:14px;}
/* Miniatura = slide real no template escolhido; clique abre o lightbox navegável (como o concorrente) */
.onb-preview-card{cursor:pointer;min-height:0;gap:8px;transition:transform .15s ease,box-shadow .15s ease;}
.onb-preview-kicker{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#7a8480;}
.onb-sample-loading{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:56px 16px;color:#52605d;font-size:14px;font-weight:600;text-align:center;}
.onb-sample-spinner{width:34px;height:34px;border-radius:50%;border:3px solid #e2e8e6;border-top-color:#0C8F8A;animation:onb-spin .8s linear infinite;}
@keyframes onb-spin{to{transform:rotate(360deg);}}
.onb-preview-real{position:relative;width:100%;aspect-ratio:4/5;border-radius:10px;overflow:hidden;background:#edf2ef;box-shadow:inset 0 0 0 1px rgba(20,24,27,.08);}
.onb-preview-real .slide{position:absolute;left:0;top:0;width:1080px;height:1350px;transform:scale(var(--thumb-scale,.12));transform-origin:top left;pointer-events:none;}
.onb-preview-real .upload{display:none!important;}
.onb-preview-real [contenteditable]{cursor:default;}
.onb-preview-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(20,24,27,.22);}
.onb-preview-card:focus-visible{outline:2px solid var(--onb-accent,#0C8F8A);outline-offset:2px;}
.onb-carousel-dialog{border:none;background:transparent;padding:0;margin:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;overflow:hidden;}
.onb-carousel-dialog::backdrop{background:rgba(12,16,18,.74);backdrop-filter:blur(7px);}
.onb-carousel-wrap{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;}
.onb-carousel-stage{position:relative;width:min(86vw,68.8vh);aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 30px 90px rgba(0,0,0,.55);container-type:inline-size;}
.onb-carousel-stage .slide{position:absolute;left:0;top:0;width:1080px;height:1350px;transform:scale(var(--slide-scale,.4));transform-origin:top left;}
.onb-carousel-close{position:absolute;top:14px;right:14px;z-index:12;width:42px;height:42px;border-radius:50%;border:none;background:rgba(20,24,27,.55);color:#fff;font-size:17px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);}
.onb-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:12;width:46px;height:46px;border-radius:50%;border:none;background:rgba(20,24,27,.55);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);transition:opacity .15s,background .15s;}
.onb-carousel-arrow:hover{background:rgba(20,24,27,.82);}
.onb-carousel-arrow.prev{left:12px;}
.onb-carousel-arrow.next{right:12px;}
.onb-carousel-arrow[disabled]{opacity:.28;cursor:default;}
.onb-carousel-dots{position:absolute;left:0;right:0;bottom:16px;z-index:12;display:flex;gap:7px;justify-content:center;pointer-events:none;}
.onb-carousel-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.42);transition:width .18s,background .18s;}
.onb-carousel-dots i.on{background:#fff;width:22px;border-radius:4px;}
.onb-map{display:none;margin-top:10px;padding-top:18px;border-top:1px solid #edf0f0;}
.onb-map.open{display:block;}
.onb-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
.onb-map-head strong{display:block;font-size:17px;}
.onb-map-head span{display:block;margin-top:4px;color:#7a8285;font-size:12px;line-height:1.4;}
#onbConfidence{white-space:nowrap;border:1px solid #e1e7e4;border-radius:999px;padding:5px 10px;color:#66706e;background:#fbfdfc;}
.onb-status{font-size:12px;line-height:1.45;color:#66706e;background:#f4f8f6;border:1px solid #ddeae5;border-radius:10px;padding:10px 12px;}
.onb-status.warn{background:#fff8ec;border-color:#f0dcc0;color:#775528;}
.onb-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.onb-map-grid .wide{grid-column:1/-1;}
.onb-map-grid textarea{min-height:76px;}
.onb-cta{position:relative;margin-top:6px;border:0;border-radius:12px;padding:14px 18px;background:linear-gradient(120deg,#12a3a8 0%,#0c8f8a 55%,#0b6b73 100%);color:#fff;font:800 15px var(--sans);cursor:pointer;overflow:hidden;box-shadow:0 12px 26px rgba(12,143,138,.28);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;}
.onb-cta::before{content:"";position:absolute;inset:-45% -20%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.34) 48%,transparent 68%);transform:translateX(-120%) rotate(12deg);pointer-events:none;}
.onb-cta:hover{filter:saturate(1.06) brightness(1.03);box-shadow:0 16px 34px rgba(12,143,138,.34);transform:translateY(-1px);}
.onb-cta:hover::before{animation:onb-scan 1.15s ease;}
.onb-cta:disabled:not(.is-loading){opacity:.62;cursor:default;transform:none;box-shadow:0 8px 22px rgba(12,143,138,.16);}
.onb-cta.is-loading{cursor:progress;pointer-events:none;opacity:1;filter:saturate(1.08) brightness(1.02);box-shadow:0 16px 36px rgba(0,143,138,.25),0 0 0 1px rgba(255,255,255,.3) inset;}
.onb-cta.is-loading::before{animation:onb-scan 1.2s ease-in-out infinite;}
#onbUseMap,#onbPreviewPlans{display:block;width:100%;margin-top:14px;}
.onb-regen{display:block;width:100%;margin-top:10px;padding:12px 14px;border-radius:12px;border:1px solid #dbe3e0;background:#fff;color:#24282b;font-weight:600;font-size:13px;cursor:pointer;}
.onb-regen:hover:not(:disabled){border-color:#0C8F8A;background:#f1fbf8;}
.onb-regen:disabled{opacity:.5;cursor:not-allowed;}
@keyframes onb-scan{0%{transform:translateX(-120%) rotate(12deg);}100%{transform:translateX(120%) rotate(12deg);}}
@media(prefers-reduced-motion:reduce){.onb-cta,.onb-cta::before{animation:none!important;transition:none!important;}.onb-cta:hover{transform:none;}}
.onb-foot{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding-top:8px;}
.onb-link{background:none;border:0;color:#6b7177;font-size:12px;text-decoration:underline;cursor:pointer;padding:4px;}
@media(max-width:920px){.onb-map-grid{grid-template-columns:1fr 1fr;}.onb-template-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.onb-preview-grid{grid-template-columns:repeat(3,minmax(120px,1fr));}}
@media(max-width:720px){.onb-page{align-content:start;padding:20px 14px;}.onb-form{border-radius:14px;}.onb-hero,.onb-body{padding:22px 18px;}.onb-steps{display:flex;overflow-x:auto;gap:8px;padding-bottom:4px;scrollbar-width:none;}.onb-steps::-webkit-scrollbar{display:none;}.onb-step{min-width:160px;}.onb-panel-head{display:block;}.onb-panel-head .onb-back{margin-top:12px;}.onb-row,.onb-map-grid,.onb-choice-grid,.onb-brand-grid,.onb-template-grid,.onb-preview-grid{grid-template-columns:1fr;}.onb-actions{flex-direction:column;align-items:stretch;}}

/* ===== 2026-07 UX — fila de imagens: retry por slide, estado na régua, toast com ação ===== */
.frame .gen-retry{display:none;}
.frame.is-error .gen-retry{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:46px;left:50%;transform:translateX(-50%);z-index:23;font:700 12px var(--sans);color:#fff;background:#b3402a;border:0;border-radius:999px;padding:8px 16px;min-height:34px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.28);transition:background .15s;}
.frame.is-error .gen-retry:hover{background:#9a3624;}
.frame.is-error .gen-retry:focus-visible{outline:2px solid #fff;outline-offset:2px;}
.slide-nav-item{position:relative;}
.slide-nav-item.is-queued::after,.slide-nav-item.is-generating::after,.slide-nav-item.is-error::after{content:"";position:absolute;top:7px;right:7px;width:9px;height:9px;border-radius:50%;z-index:3;box-shadow:0 0 0 2px #fff;}
.slide-nav-item.is-queued::after{background:#aab4bc;}
.slide-nav-item.is-generating::after{background:#6a5cff;animation:genDotPulse 1.2s ease-in-out infinite;}
.slide-nav-item.is-error::after{background:#c53a2b;}
@keyframes genDotPulse{50%{opacity:.35;}}
@media(prefers-reduced-motion:reduce){.slide-nav-item.is-generating::after{animation:none;}}
.toast{display:flex;align-items:center;gap:10px;max-width:min(520px,calc(100vw - 32px));text-align:left;}
.toast.has-action{pointer-events:auto;}
.toast .toast-text{flex:1 1 auto;}
.toast .toast-action{flex:0 0 auto;border:0;border-radius:6px;padding:6px 10px;min-height:30px;font:700 12px var(--sans);cursor:pointer;background:rgba(255,255,255,.16);color:inherit;text-decoration:underline;text-underline-offset:2px;}
.toast .toast-action:hover{background:rgba(255,255,255,.28);}
.toast .toast-close{flex:0 0 auto;border:0;background:transparent;color:inherit;opacity:.75;font:700 13px var(--sans);cursor:pointer;padding:6px;min-width:30px;min-height:30px;border-radius:6px;}
.toast .toast-close:hover{opacity:1;background:rgba(255,255,255,.14);}
/* autosave honesto: variante de erro do indicador do header */
.save-state.save-error{color:#b3402a;font-weight:700;}
.save-state.save-error::before{background:#c53a2b;box-shadow:0 0 0 3px rgba(197,58,43,.14);}
/* saldo em linguagem do usuário: "≈ N img" ao lado do número de créditos */
.credit-chip .credit-approx{color:inherit;opacity:.72;font-size:11px;font-weight:600;white-space:nowrap;}
@media(max-width:720px){.credit-chip .credit-approx{display:none;}}
/* ===== 2026-07 a11y/mobile ===== */
/* foco visível de volta onde era removido sem substituto (só teclado, via :focus-visible) */
.sb-rename-input:focus-visible{outline:2px solid var(--ui-accent);outline-offset:1px;}
.chat-template-real [contenteditable]:focus-visible,.onb-template-real [contenteditable]:focus-visible{outline:2px dashed rgba(12,143,138,.75);outline-offset:2px;box-shadow:none;}
/* alvos de toque: em telas touch os controles do app crescem (não afeta desktop/mouse) */
@media(pointer:coarse){
  .app-header{--header-control-h:44px;height:64px;}   /* toque: mantém alvo de 44px (desktop usa 38px) */
  .icon-btn{width:42px;height:42px;}
  .btn{min-height:42px;}
  .gallery-tools .btn,.gallery-pager .btn{min-height:36px;}
  .frame select,.frame .eye{height:42px;font-size:12px;}
  .slide-nav-item{min-height:44px;}
  .sb-kebab{min-width:36px;min-height:36px;}
  .account-btn{min-height:42px;}
  .dialog-close{min-width:40px;min-height:40px;}
  .view-switch button,.global-eye,.zoom-control button{min-height:40px;}
  .toast .toast-action,.toast .toast-close{min-height:38px;min-width:38px;}
}

/* ===== migrado do index.html (2 blocos <style> inline; HTML é no-store, CSS é cacheável) ===== */
.ig-manage{display:flex;flex-direction:column;gap:14px;padding:4px 2px;}
.ig-status{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:#f7f8f8;border-radius:8px;}
.ig-status strong{font-size:14px;color:#202326;}
.ig-status span{font-size:13px;color:#6f7579;}
.ig-accounts{display:flex;flex-direction:column;gap:8px;}
.ig-account{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:1px solid #e6e8e8;border-radius:8px;flex-wrap:wrap;}
.ig-account-handle{font-weight:600;color:#202326;}
.ig-account-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.ig-hint{font-size:13px;color:#6f7579;margin:0;line-height:1.45;}
.ig-actions{display:flex;justify-content:flex-end;}
.credit-chip{cursor:pointer;}
/* o scroll fica no .plans-body — o overflow:auto padrão do <dialog> desenhava a barra por cima dos cantos arredondados */
.plans-dialog{border:0;border-radius:18px;padding:0;max-width:444px;width:92vw;inset:0;margin:auto;height:fit-content;max-height:calc(100dvh - 40px);box-shadow:0 24px 70px rgba(20,24,27,.28);overflow:hidden;}
.plans-dialog[open]{display:flex;flex-direction:column;}
.plans-dialog .script-dialog-head{flex:none;}
.plans-dialog::backdrop{background:rgba(15,20,18,.45);}
.plans-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:18px 26px 22px;}
.plans-sub{margin:0 0 12px;font-size:13.5px;color:#5d676d;line-height:1.45;}
.plans-status{margin-top:13px;text-align:center;font-size:12px;color:#6c7378;line-height:1.6;}
.plans-status .ps-warn{color:#c0392b;font-weight:600;}
.plans-status /* Saída do trial sem saldo: ação principal, acima do "Cancelar" (que fica discreto e em texto). */
.ps-activate{display:block;width:100%;margin:8px 0 10px;padding:11px 14px;border:0;border-radius:10px;
  background:linear-gradient(135deg,#0C8F8A,#00455C);color:#fff;font:800 13px var(--sans);cursor:pointer;
  box-shadow:0 8px 20px rgba(0,69,92,.18);transition:filter .15s ease;}
.ps-activate:hover{filter:brightness(1.07);}
.ps-activate:disabled{opacity:.7;cursor:default;}
.ps-cancel{border:0;background:none;color:#c0392b;font-size:12.5px;font-weight:600;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px;}
.plans-status .ps-cancel:hover{color:#a32f25;}
.plan-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.plan-cards[hidden]{display:none;}
.plan-card.current{border-color:#bfe3d2;background:#f5faf7;cursor:default;}
.plan-current-mk{margin-top:9px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#00455C;}
.plan-card{position:relative;text-align:left;border:1px solid #e1e6e8;background:#fff;border-radius:14px;padding:18px;cursor:default;display:flex;flex-direction:column;min-height:206px;transition:border-color .15s,box-shadow .15s;}
.plan-action{margin-top:auto;width:100%;height:42px;border:0;border-radius:10px;background:#17251f;color:#fff;font:750 13px var(--inter,Arial);cursor:pointer;transition:filter .15s;}
.plan-action:hover{filter:brightness(1.14);}
.plan-card.current .plan-action{display:none;}
.plan-card.featured{border-color:#cfd4d6;}
.plan-badge{position:absolute;top:-8px;right:11px;background:#17251f;color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:20px;}
.plan-name{font-size:14px;font-weight:800;color:#17191b;}
.plan-price{font-size:30px;font-weight:850;color:#17251f;margin:8px 0 6px;letter-spacing:-.04em;}
.plan-price span{font-size:12px;font-weight:650;color:#6c7378;letter-spacing:0;}
.plan-credits{min-height:38px;margin-bottom:16px;font-size:12.5px;color:#606b72;line-height:1.45;}
.plan-detail{display:none;}
.plans-free-note{display:flex;align-items:center;gap:8px;margin:0 0 15px;border:1px solid #dcebe4;background:#f5faf7;color:#214c39;border-radius:12px;padding:10px 12px;font-size:12.5px;font-weight:750;line-height:1.35;}
/* sem isto o display:flex acima vence o atributo [hidden] e o aviso nunca some */
.plans-free-note[hidden]{display:none;}
.plans-pay{margin-top:4px;}
.plans-pay #paymentElement{margin-bottom:14px;}
.plans-error{color:#c0392b;font-size:12.5px;min-height:16px;margin-bottom:10px;}
.plans-pay .btn.primary{width:100%;justify-content:center;height:44px;font-size:14px;}
#plansBackToCards{width:100%;height:36px;margin-top:8px;background:transparent;border:0;color:#71777c;font-size:12.5px;cursor:pointer;}
#plansBackToCards:hover{color:#17191b;}
.plans-dialog.mandatory .dialog-close{display:none;}
/* Suporte no paywall: quem trava por dúvida de cobrança some sem perguntar. Discreto (não
   compete com o CTA do plano), mas sempre visível — inclusive no paywall obrigatório. */
.plans-support{display:block;width:100%;margin:14px 0 0;padding:9px 12px;background:#f5faf7;border:1px solid #dcebe4;border-radius:10px;color:#214c39;font:700 12.5px var(--sans);cursor:pointer;transition:background .15s ease,border-color .15s ease;}
.plans-support:hover{background:#ecf6f1;border-color:#bcdcd0;}
.onb-plans-exit{display:none;margin:16px auto 2px;background:none;border:0;color:#7b8a86;font:600 13px var(--sans);cursor:pointer;text-decoration:underline;}
.onb-plans-exit:hover{color:#00455C;}
.plans-dialog.mandatory .onb-plans-exit{display:block;}
.confirm-dialog{border:1px solid #dce1e2;border-radius:16px;padding:0;max-width:380px;width:92vw;inset:0;margin:auto;height:fit-content;box-shadow:0 24px 70px rgba(20,24,27,.28);}
.confirm-dialog::backdrop{background:rgba(15,20,18,.45);}
.confirm-body{padding:20px 20px 16px;}
.confirm-body strong{display:block;font-size:14.5px;color:#17191b;margin-bottom:7px;}
.confirm-body p{font-size:12.5px;line-height:1.55;color:#51585d;margin:0 0 18px;}
.confirm-actions{display:flex;justify-content:flex-end;gap:8px;}
.confirm-actions .btn{font-size:12.5px;border:1px solid #dfe2e4;padding:9px 16px;border-radius:9px;}
.confirm-actions .btn.primary{border-color:#17251f;}
.confirm-dialog.danger .confirm-actions .btn.primary{background:#c0392b;border-color:#c0392b;color:#fff;}
.imgdir-dialog{border:1px solid #dce1e2;border-radius:16px;padding:0;max-width:430px;width:92vw;inset:0;margin:auto;height:fit-content;box-shadow:0 24px 70px rgba(20,24,27,.28);}
.imgdir-dialog::backdrop{background:rgba(15,20,18,.45);}
.imgdir-body{padding:20px 20px 16px;}
.imgdir-body strong{display:block;font-size:14.5px;color:#17191b;margin-bottom:6px;}
.imgdir-body p{font-size:12.5px;line-height:1.5;color:#71777c;margin:0 0 12px;}
.imgdir-note{border:1px solid #dcebe4;background:#f5faf7;color:#3f6252;border-radius:10px;padding:10px 12px;margin:0 0 12px;font-size:12px;line-height:1.45;}
.imgdir-body textarea{width:100%;min-height:86px;resize:vertical;border:1px solid #d9dddf;border-radius:10px;background:#fbfcfc;padding:11px 12px;font:13px/1.5 var(--inter,Arial);color:#25282a;box-shadow:0 1px 2px rgba(20,24,27,.03);}
.imgdir-body textarea:focus{outline:2px solid rgba(31,138,98,.16);border-color:#94aaa0;background:#fff;}
.imgdir-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;}
.imgdir-actions .btn{font-size:12.5px;border:1px solid #dfe2e4;padding:9px 16px;border-radius:9px;}
/* O chip "Trocar imagem" SOBRE a foto saiu de cena: o botao "Trocar imagem" da barra (menu
   galeria/IA/upload) assumiu. Ficam so o "Gerar imagem" de slide vazio (gen-slot, convite de
   preencher) e o chip do 2o slot (data-slot=2, layout Duas Imagens — a barra nao cuida dele).
   display:none e nao remocao: addGenerateButtons ancora os gen-slots nesses botoes. */
.slide .upload:not(.gen-slot):not([data-slot="2"]){display:none!important;}
/* menu "Trocar imagem": 3 caminhos num lugar so */
.imgmenu-dialog{border:0;border-radius:16px;padding:0;margin:auto;box-shadow:0 24px 70px rgba(20,24,27,.3);max-width:430px;width:calc(100vw - 48px);}
.imgmenu-dialog::backdrop{background:rgba(15,22,26,.45);}
.imgmenu-body{padding:22px;display:flex;flex-direction:column;gap:14px;font-family:var(--inter);}
.imgmenu-body>strong{font-size:16.5px;color:#17251f;}
.imgmenu-options{display:flex;flex-direction:column;gap:8px;}
.imgmenu-opt{appearance:none;text-align:left;background:#fff;border:1px solid #dfe2e4;border-radius:12px;padding:13px 15px;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:border-color .15s,background .15s;}
.imgmenu-opt:hover{border-color:#1f8a62;background:#f4faf7;}
.imgmenu-opt b{font-size:13.5px;color:#17251f;}
.imgmenu-opt span{font-size:12px;color:#5c666c;line-height:1.4;}
.imgmenu-actions{display:flex;justify-content:flex-end;}
.imgmenu-actions .btn{font-size:12.5px;border:1px solid #dfe2e4;padding:9px 16px;border-radius:9px;}
.imgdir-actions .btn.primary{border-color:#17251f;}
/* ===== menu "Publicar" no header ===== */
.publish-wrap{position:relative;display:inline-flex;}
#publishMenuBtn{display:inline-flex;align-items:center;gap:6px;}
#publishMenuBtn svg{width:14px;height:14px;}
.publish-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:80;display:none;flex-direction:column;gap:2px;min-width:220px;padding:6px;background:#fff;border:1px solid var(--ui-border);border-radius:10px;box-shadow:0 14px 40px rgba(20,24,27,.18);}
.publish-menu.open{display:flex;}
.publish-menu .btn{display:flex;width:100%;justify-content:flex-start;text-align:left;border:0!important;background:transparent!important;color:var(--ui-text)!important;box-shadow:none!important;font-weight:600;border-radius:7px;padding:10px 12px;}
.publish-menu .btn:hover{background:#eef2f1!important;}
.publish-menu .btn.ready{color:#1f8a62!important;}
body.home-view .publish-wrap,body.chat-fullscreen .publish-wrap{display:none;}
/* drag & drop de arquivo no slide */
.frame.drop-target .stage{outline:3px dashed var(--ui-accent);outline-offset:4px;}
/* ===== landing 2026-07: proof honesto, footer legal, CTA flutuante ===== */
.auth-proof svg{flex:0 0 16px;width:16px;height:16px;color:#7fd8e8;}
.auth-footer{background:#0b2530;color:#b6c7cf;padding:34px 0 26px;}
.auth-footer-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.auth-footer-logo{height:26px;width:auto;}
.auth-footer-links{display:flex;gap:22px;flex-wrap:wrap;}
.auth-footer-links a{color:#d7e8ee;text-decoration:none;font-size:13px;min-height:44px;display:inline-flex;align-items:center;}
.auth-footer-links a:hover{text-decoration:underline;text-underline-offset:3px;}
.auth-footer-copy{margin:14px 0 0;font-size:12px;color:#8fa4ac;}
/* ===== chat 2026-07: aprovação em 1 clique + contador de slides no composer ===== */
/* ===== seleção direta: clique seleciona, arrasto move, 2º clique edita ===== */
/* hover sutil só como convite — nada de contorno em tudo o tempo todo */
.frame .slide [data-drag]:hover{ outline:1px dashed rgba(90,150,255,.4); outline-offset:2px; }
.frame .slide [data-drag].sel-outline{ outline:2px solid #2f7bff; outline-offset:2px; cursor:move; }
.frame .slide [data-drag].moving{ outline:2px solid #2f7bff; outline-offset:2px; opacity:.92; }
/* alças de redimensionar (imagem selecionada): tamanho em px da arte compensando a escala */
.slide .rsz{position:absolute;width:26px;height:26px;background:#fff;border:3px solid #2f7bff;border-radius:50%;z-index:90;}
.slide .rsz[data-corner="nw"]{left:-13px;top:-13px;cursor:nwse-resize;}
.slide .rsz[data-corner="ne"]{right:-13px;top:-13px;cursor:nesw-resize;}
.slide .rsz[data-corner="sw"]{left:-13px;bottom:-13px;cursor:nesw-resize;}
.slide .rsz[data-corner="se"]{right:-13px;bottom:-13px;cursor:nwse-resize;}
/* selo L×A da imagem selecionada (px da arte); fonte compensa a escala do palco via JS */
.slide .size-badge{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:92;
  pointer-events:none;background:rgba(15,20,24,.82);color:#fff;font-family:var(--inter);
  font-weight:800;line-height:1;padding:.35em .65em;border-radius:.5em;white-space:nowrap;}
/* durante o ARRASTO (só durante) o texto não pode ser selecionável */
.frame .slide.dragging-el, .frame .slide.dragging-el *{ user-select:none !important; -webkit-user-select:none !important; }
/* guias de alinhamento do arrasto (estilo Canva): existem só durante o gesto */
.slide .move-guide{ position:absolute; z-index:999; pointer-events:none; background:#ff2d8f; }
.slide .move-guide-v{ width:2px; top:0; bottom:0; }
.slide .move-guide-h{ height:2px; left:0; right:0; }
/* medidas de distância (px da arte) durante o arrasto — linha + etiqueta, como no Canva */
.slide .move-measure{ position:absolute; z-index:999; pointer-events:none; background:#ff2d8f; opacity:.85; }
.slide .move-measure-h{ height:2px; }
.slide .move-measure-v{ width:2px; }
.slide .move-measure-label{ position:absolute; z-index:1000; pointer-events:none;
  background:#ff2d8f; color:#fff; font-family:var(--inter); font-weight:800; line-height:1;
  padding:.28em .5em; border-radius:.45em; transform:translate(-50%,-50%); white-space:nowrap; }
/* mini-barra flutuante do elemento selecionado */
#selToolbar{ position:fixed; z-index:1200; display:flex; align-items:center; gap:2px;
  background:#17251f; color:#fff; border-radius:10px; padding:4px 6px;
  box-shadow:0 10px 30px rgba(20,24,27,.28); font:600 12px var(--inter); }
#selToolbar[hidden]{ display:none; }
#selToolbar .sel-label{ padding:4px 8px; opacity:.75; font-weight:700; white-space:nowrap; }
#selToolbar button{ appearance:none; display:inline-flex; align-items:center; gap:5px;
  background:transparent; border:0; color:#fff; font:600 12px var(--inter);
  padding:6px 9px; border-radius:7px; cursor:pointer; white-space:nowrap; }
#selToolbar button:hover{ background:rgba(255,255,255,.14); }
#selToolbar button svg{ width:14px; height:14px; }

/* desmentido de [[EDIT]] recusado: fica na bolha, não some como o toast */
.chat-edit-warning{margin-top:10px;padding:9px 12px;border-radius:10px;border:1px solid #f0d3ac;background:#fdf6ea;color:#7a4b12;font:600 12.5px/1.45 var(--inter);}
.chat-quick-replies{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.chat-quick-reply{border:1px solid #d7dddf;background:#fff;color:#202326;font:650 12.5px var(--inter);padding:9px 14px;border-radius:999px;cursor:pointer;min-height:38px;transition:background .15s,filter .15s;}
.chat-quick-reply:hover{background:#eef2f1;}
.chat-quick-reply.primary{background:#17251f;border-color:#17251f;color:#fff;}
.chat-quick-reply.primary:hover{filter:brightness(1.18);background:#17251f;}
/* Barra do contador de slides: só aparece na fase de ESCRITA/render (quando o número molda o
   copy); some no brainstorm. Fica acima do input, alinhada com a mesma coluna de 760px. */
.chat-slidebar{width:100%;display:flex;justify-content:flex-start;padding:0 6px 2px;}
.chat-slidebar[hidden]{display:none;}
body.chat-fullscreen .chat-slidebar{max-width:760px;margin-inline:auto;}
.chat-slidecount{display:inline-flex;align-items:center;gap:2px;border:1px solid #dfe2e4;background:#fff;border-radius:999px;padding:2px;color:#5f666c;}
.chat-slidecount button{border:0;background:transparent;width:30px;height:30px;min-height:30px;border-radius:50%;font:700 15px var(--inter);color:#5f666c;cursor:pointer;transition:background .15s;}
.chat-slidecount button:hover{background:#eef2f1;color:#202326;}
.chat-slidecount label{display:inline-flex;align-items:center;gap:4px;font:650 12px var(--inter);cursor:text;}
.chat-slidecount input{width:26px;border:0;outline:0;background:transparent;text-align:center;font:700 13px var(--inter);color:#202326;appearance:textfield;-moz-appearance:textfield;}
.chat-slidecount input::-webkit-outer-spin-button,.chat-slidecount input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
@media(pointer:coarse){.chat-slidecount button{width:38px;height:38px;min-height:38px;}}

/* ===== App nativo (Capacitor): com viewport-fit=cover a página desenha sob o notch/home
   indicator — compensa as safe areas via --native-top (0 na web; env() no app; e um valor
   manual permite SIMULAR o notch no browser). Painéis fixos (chat/drawer/config) usam o
   mesmo offset — senão cobrem o header, que foi o bug do header sumido na Central. ===== */
body{--native-top:0px;}
body.is-native{--native-top:env(safe-area-inset-top);}
body.is-native .app-header{padding-top:var(--native-top);height:calc(60px + var(--native-top));}
body.is-native.chat-fullscreen #chatPanel{top:calc(60px + var(--native-top));}
body.is-native.chat-fullscreen #chatSidebar{top:calc(60px + var(--native-top));}
@media (max-width:820px){
  body.is-native .app-header{height:calc(56px + var(--native-top));}
  body.is-native.chat-fullscreen #chatPanel{top:calc(56px + var(--native-top));}
  body.is-native.chat-fullscreen #chatSidebar{top:calc(56px + var(--native-top));}
  body.is-native .settings-pane{top:calc(56px + var(--native-top));}
  /* painel Design abre SOBRE o chat em tela cheia (z 30 < 40 deixava ele atrás — botão parecia morto) */
  body.chat-fullscreen .settings-pane.open{z-index:45;}
}

/* ===== Editor no mobile: a barra de controles do slide (.ctl) tinha nowrap e 526px de
   conteudo num frame de 319px -> botoes sobrepostos e cortados. Vira um bloco abaixo do
   slide, quebrando em linhas, sem flutuar por cima da arte. ===== */
@media (max-width:720px){
  .frame.active .ctl{position:static;left:auto;bottom:auto;transform:none;width:100%;max-width:100%;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;padding:10px;background:#fff;border:1px solid var(--ui-border);box-shadow:none;backdrop-filter:none;}
  .frame .ctl-selects,.frame .ctl-actions{flex-wrap:wrap;justify-content:center;flex:1 1 100%;min-width:0;}
  .frame .ctl-selects select{flex:1 1 auto;max-width:100%;}
  .frame .ctl-actions .btn{flex:1 1 auto;}
  .frame .ctl-spacer{display:none;}
  .frame .ctl .btn.dl{flex:1 1 100%;}
}

/* ===== Header do editor no mobile: com Publicar+creditos+avatar, o botao de texto
   'Central de Conteudo' (148px) estourava a largura e cortava creditos/avatar. Vira icone
   de alternar (title mantem a acessibilidade). ===== */
@media (max-width:720px){
  #chatBack{width:40px;min-width:40px;padding:0;overflow:hidden;text-indent:-999px;white-space:nowrap;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2334383b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3 4 7l4 4'/%3E%3Cpath d='M4 7h16'/%3E%3Cpath d='m16 21 4-4-4-4'/%3E%3Cpath d='M20 17H4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:20px;}
}
body.is-native #authGate{padding-bottom:env(safe-area-inset-bottom);} /* sem padding-top: a seção escura interna já cobre a safe area; padding revelaria o bg branco do gate */

/* ===== Home no mobile: ações compactas (primário inteiro, secundários lado a lado) —
   sem isso cada cartão vira largura total e a home é só rolagem vertical ===== */
@media (max-width:720px){
  .home-actions{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 6px;}
  .home-action{padding:14px;gap:5px;}
  .home-action.primary{grid-column:1 / -1;}
  .home-action>span:last-child{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .home-grid{grid-template-columns:1fr 1fr;gap:10px;}
}

/* ===== Header no mobile: o brandmark de 240px+ empurrava Início/Conversas/créditos pra fora
   da tela (chip de créditos renderizava em x=398 numa tela de 375). Logo enxuto, tudo cabe. ===== */
@media (max-width:720px){
  .app-header{gap:8px;padding:0 10px;}
  .brandmark{min-width:0;flex-shrink:1;overflow:hidden;}
  .brandmark-logo{width:96px;height:auto;}
  .header-actions{gap:6px;}
  #chatBack{font-size:12.5px;padding:0 10px;white-space:nowrap;}
  /* Banco de ideias antes de Seus carrosséis: o grid de carrosséis é longo e as ideias sumiam */
  .home-wrap{display:flex;flex-direction:column;}
  .home-ideas{order:4;}
  .home-projects{order:5;}
}

/* ============================================================================
   EDITOR MOBILE — estilo app (iteração 1): ferramentas na barra inferior
   flutuante ao alcance do polegar; slide no meio; topo enxuto.
   Tudo atrás de max-width:720px — desktop intocado.
   ============================================================================ */
@media (max-width:720px){
  /* barra flutuante SÓ no editor (chat-collapsed/docked); escondida na Central, Conversas, home, sheets */
  .workspace-toolbar{display:none;}
  /* barra SÓ na visão do slide (chat-collapsed); some quando o chat está expandido, na
     Central, Conversas, sheets, prévia */
  body.chat-collapsed:not(.sidebar-open):not(.sheet-open):not(.preview-mode) .workspace-toolbar{
    position:fixed;left:10px;right:10px;top:auto;bottom:calc(10px + env(safe-area-inset-bottom));height:auto;min-height:0;width:auto;z-index:44;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:rgba(255,255,255,.55);backdrop-filter:blur(30px) saturate(1.9);-webkit-backdrop-filter:blur(30px) saturate(1.9);box-shadow:0 12px 40px rgba(20,24,27,.16),0 1px 2px rgba(20,24,27,.06),inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(20,24,27,.04);grid-template-columns:none;}
  .workspace-toolbar .slide-context{display:none;}                 /* o rótulo CAPA já aparece acima do slide */
  .global-eye-trigger{display:none;}              /* grupo migra pro painel Design */
  .workspace-toolbar .global-eye-group{display:none;}              /* realocado pro painel Design (via JS) */
  .workspace-toolbar .view-switch{flex:0 0 auto;}
  .workspace-toolbar .toolbar-actions{flex:1 1 auto;display:flex;justify-content:space-evenly;align-items:center;gap:0;overflow:visible;}
  .workspace-toolbar .toolbar-sheet-btn,.workspace-toolbar .toolbar-preview,.workspace-toolbar .toolbar-polish-btn{width:46px;min-height:44px;padding:0;border-radius:999px;}
  .workspace-toolbar .toolbar-sheet-btn:active,.workspace-toolbar .toolbar-preview:active,.workspace-toolbar .toolbar-polish-btn:active{background:rgba(20,24,27,.08);}
  /* seletor Individual/Todos em pilula de vidro, coerente com a barra */
  .workspace-toolbar .view-switch{background:rgba(20,24,27,.07);border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:3px;box-shadow:none;gap:2px;}
  .workspace-toolbar .view-switch button{border-radius:999px;width:42px;justify-content:center;padding:0;}
  .workspace-toolbar .view-switch button.active{background:rgba(255,255,255,.95);box-shadow:0 1px 4px rgba(20,24,27,.16);}
  .workspace-toolbar .toolbar-preview span{display:none;}          /* barra estilo Instagram: só ícones */
  #chatReopen{display:none !important;}                             /* redundante com o ⇄ (alternar) do topo */
  .grid{padding-bottom:calc(90px + env(safe-area-inset-bottom)) !important;} /* respiro pra barra flutuante */
  /* toggles Global realocados pro painel Design */
  #settingsPane .global-eye-group{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px;max-width:none;overflow:visible;}
  #settingsPane .global-eye-label{width:100%;font-size:12px;color:var(--ui-muted);margin-bottom:2px;}
  #settingsPane .global-eye span:not(.ico){display:inline;}
}

@media (max-width:720px){
  /* Rail de slides HORIZONTAL (estilo Keynote) — elimina a coluna de 10 miniaturas
     empilhadas que fazia o editor "virar uma barra de rolagem". */
  .slide-rail{padding:8px 0 4px;background:transparent;border:0;box-shadow:none;}
  .rail-head{padding:0 14px 6px;}
  .slide-nav{flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:8px;padding:2px 12px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .slide-nav::-webkit-scrollbar{display:none;}
  .slide-nav-item{flex:0 0 auto;width:74px;scroll-snap-align:start;}
  /* respiro no fim do scroll (o body é o scroller no editor) pra tool strip flutuante não cobrir conteúdo */
  body.chat-collapsed,body.chat-docked{padding-bottom:calc(104px + env(safe-area-inset-bottom));}
}

@media (max-width:720px){
  /* (1) Header: só o símbolo (o logotipo completo era engolido no editor cheio) */
  .brandmark-logo{display:none;}
  .brandmark{width:34px;min-width:34px;height:34px;padding:0;background:url("/assets/brand/content-simbolo-faisca.svg") no-repeat center/contain;flex:0 0 auto;}
  /* (2) Painel Design cobre TODO o chrome do editor (barra flutuante z44 vazava por cima) */
  .settings-pane.open{z-index:50;}
  /* (3) Setas ‹ › redundantes: a navegação é tocar na miniatura do rail */
  .slide-arrow{display:none !important;}
}

/* ============================================================================
   EDITOR TOUCH-FIRST (mobile) — swipe entre slides + page dots. desktop intocado.
   ============================================================================ */
.slide-dots{display:none;}
@media (max-width:720px){
  /* dots SÓ no editor (mesma regra da barra); escondidos na Central, Conversas, home, sheets */
  .slide-dots{display:none;}
  body.chat-collapsed:not(.sidebar-open):not(.sheet-open):not(.preview-mode):not(.overview-mode) .slide-dots{display:flex;justify-content:center;align-items:center;gap:7px;position:fixed;left:0;right:0;
    bottom:calc(84px + env(safe-area-inset-bottom));z-index:43;pointer-events:auto;padding:6px 0;}
  .slide-dot{width:7px;height:7px;border-radius:999px;border:0;padding:0;background:rgba(20,24,27,.24);
    transition:width .2s ease,background .2s ease;cursor:pointer;}
  .slide-dot.active{width:22px;background:var(--ui-brand,#00455C);}
  /* rail de miniaturas sai no mobile — dots + swipe + visão "Todos" cobrem a navegação */
  .slide-rail{display:none !important;}
  /* animação de entrada ao trocar de slide por swipe */
  @keyframes swipeInLeft{from{opacity:.5;transform:translateX(26px)}to{opacity:1;transform:none}}
  @keyframes swipeInRight{from{opacity:.5;transform:translateX(-26px)}to{opacity:1;transform:none}}
  .frame.active.swipe-in-left{animation:swipeInLeft .26s cubic-bezier(.22,.61,.36,1);}
  .frame.active.swipe-in-right{animation:swipeInRight .26s cubic-bezier(.22,.61,.36,1);}
  /* com o rail fora, o respiro do scroll pode diminuir (dots ficam acima da barra) */
  body.chat-collapsed,body.chat-docked{padding-bottom:calc(120px + env(safe-area-inset-bottom));}
}

@media (max-width:720px){
  /* Painel Design como BOTTOM SHEET (touch-first): sobe de baixo, alça, backdrop, scroll próprio */
  .settings-pane{display:block !important;position:fixed !important;left:0 !important;right:0 !important;
    bottom:0 !important;top:auto !important;height:auto !important;max-height:86vh !important;
    width:auto !important;border:0 !important;border-radius:22px 22px 0 0 !important;
    box-shadow:0 -12px 44px rgba(20,24,27,.30) !important;background:#fff !important;
    transform:translateY(101%);transition:transform .33s cubic-bezier(.22,.61,.36,1);
    z-index:60 !important;padding:18px 16px calc(28px + env(safe-area-inset-bottom)) !important;
    overflow-y:auto;-webkit-overflow-scrolling:touch;visibility:hidden;}
  .settings-pane.open{transform:translateY(0);visibility:visible;}
  .settings-pane::before{content:"";position:sticky;top:0;display:block;width:40px;height:5px;
    margin:-4px auto 14px;border-radius:999px;background:rgba(20,24,27,.16);}
  .sheet-backdrop{position:fixed;inset:0;z-index:55;background:rgba(12,15,17,.44);
    opacity:0;visibility:hidden;transition:opacity .28s ease;}
  .sheet-backdrop.show{opacity:1;visibility:visible;}
  body.sheet-open{overflow:hidden;}
}

@media (max-width:720px){
  /* ===== .ctl (ações de imagem do slide) vira BOTTOM SHEET — sai do fluxo, abre no botão "Imagem".
     Antes flutuava no meio e colidia com os dots. ===== */
  .frame.active .ctl{position:fixed !important;left:0 !important;right:0 !important;bottom:0 !important;top:auto !important;
    width:auto !important;max-width:100% !important;max-height:80vh;margin:0 !important;
    border-radius:22px 22px 0 0 !important;border:0 !important;background:#fff !important;
    box-shadow:0 -12px 44px rgba(20,24,27,.30) !important;
    padding:18px 14px calc(24px + env(safe-area-inset-bottom)) !important;
    z-index:60;transform:translateY(101%);transition:transform .33s cubic-bezier(.22,.61,.36,1);
    visibility:hidden;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;overflow-y:auto;backdrop-filter:none !important;}
  body.img-open .frame.active .ctl{transform:translateY(0);visibility:visible;}
  .frame.active .ctl::before{content:"";display:block;width:40px;height:5px;flex:0 0 100%;order:-1;
    margin:-4px auto 10px;border-radius:999px;background:rgba(20,24,27,.16);}
  /* botões touch da barra inferior (Imagem / Design) — visíveis só no mobile */
  .toolbar-sheet-btn{display:inline-flex;flex-direction:column;align-items:center;gap:2px;background:transparent;border:0;
    color:#2b3033;font:600 10px var(--inter,Arial);cursor:pointer;padding:2px 8px;min-height:42px;justify-content:center;}
  /* Barra estilo Instagram: só ícones, sem rótulo, tudo centrado */
  .workspace-toolbar .toolbar-preview,.workspace-toolbar .toolbar-polish-btn{height:auto;min-height:44px;
    flex-direction:column;justify-content:center;gap:0;border:0;background:transparent;box-shadow:none;border-radius:999px;
    padding:2px 10px;color:#2b3033;}
  .toolbar-sheet-btn span,.workspace-toolbar .toolbar-polish-btn span{display:none;}
  .toolbar-sheet-btn{gap:0;padding:2px 10px;min-height:44px;}
  .workspace-toolbar .toolbar-preview svg,.workspace-toolbar .toolbar-polish-btn svg,.toolbar-sheet-btn svg{width:24px;height:24px;}
  .toolbar-sheet-btn svg{width:22px;height:22px;}
  /* zoom sai da barra (fit-to-width; pinch fica pra iteração seguinte) e Design sai do header (foi pra barra) */
  .workspace-toolbar .zoom-control{display:none;}
  #mobileSettings{display:none;}
  /* .ctl fora do fluxo: respiro só pra slide + dots + barra */
  body.chat-collapsed,body.chat-docked{padding-bottom:calc(96px + env(safe-area-inset-bottom)) !important;}
}

@media (max-width:720px){
  /* ===== Editor: área do slide ocupa a altura VISÍVEL (entre header e barra inferior) e
     centraliza o slide; sem scroll de página. Corrige o mar de cinza em volta do card.
     Só em single view (overview mantém scroll). ===== */
  body.chat-collapsed:not(.overview-mode) .workspace,
  body.chat-docked:not(.overview-mode) .workspace{
    height:calc(100vh - 56px - var(--native-top) - 104px - env(safe-area-inset-bottom)) !important;
    min-height:0 !important;overflow:hidden !important;}
  body.chat-collapsed:not(.overview-mode) .grid,
  body.chat-docked:not(.overview-mode) .grid{
    height:100% !important;overflow:hidden !important;padding:4px 0 0 !important;justify-content:center !important;}
  body.chat-collapsed:not(.overview-mode),
  body.chat-docked:not(.overview-mode){padding-bottom:0 !important;}
  /* "Sair da prévia" respeita a safe area (colidia com a barra de status) */
  .preview-exit{top:calc(10px + var(--native-top)) !important;}
}

@media (max-width:720px){
  /* (1) trava o scroll de página no editor single — slide fica travado no centro, sem barra de rolagem */
  body.chat-collapsed:not(.overview-mode):not(.sheet-open),
  body.chat-docked:not(.overview-mode):not(.sheet-open){overflow:hidden !important;}
  /* (3) "Sair da prévia": pílula grande e acessível no rodapé-centro (a barra some na prévia) */
  .preview-exit{top:auto !important;bottom:calc(22px + env(safe-area-inset-bottom)) !important;left:50% !important;right:auto !important;transform:translateX(-50%);height:50px;padding:0 26px;font-size:15px;border-radius:999px;box-shadow:0 10px 34px rgba(20,24,27,.30);}
  .preview-exit kbd{display:none;}
  /* (4) menu Publicar cabe na tela e fica acima de tudo */
  .publish-menu{right:0;min-width:190px;max-width:calc(100vw - 20px);z-index:90;}
}

@media (max-width:720px){
  /* app-shell descontava só 56px (ignorava a safe area do notch) e vazava ~59px -> gerava scroll.
     Agora desconta o header REAL (56 + safe-area-top via --native-top). */
  body.is-native .app-shell{min-height:calc(100vh - 56px - var(--native-top)) !important;}
}

@media (max-width:720px){
  /* editor single: capa a ALTURA do app-shell na área visível e clipa o excedente
     (chat colapsado etc). Barra/dots/sheets são position:fixed -> não são clipados. */
  body.is-native.chat-collapsed:not(.overview-mode) .app-shell,
  body.is-native.chat-docked:not(.overview-mode) .app-shell{
    height:calc(100vh - 56px - var(--native-top)) !important;min-height:0 !important;overflow:hidden !important;}
}

/* ===== Banco de ideias colapsável (home) ===== */
.home-ideas .home-ideas-toggle{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;cursor:pointer;font:inherit;color:inherit;text-align:left;}
.home-ideas .home-ideas-toggle>span:first-child{flex:1 1 auto;}
.home-ideas .home-ideas-toggle::after{content:"";flex:0 0 auto;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease;opacity:.45;margin-left:4px;}
.home-ideas.collapsed .home-ideas-toggle::after{transform:rotate(-45deg);}
.home-ideas.collapsed .home-ideas-list,.home-ideas.collapsed .home-pager{display:none;}

@media (max-width:720px){
  /* Drawer de Conversas cobre a tela inteira (some a faixa escura do header acima dele) */
  body.is-native.chat-fullscreen #chatSidebar{top:0 !important;padding-top:calc(var(--native-top) + 14px);}
}

@media (max-width:720px){
  /* (1) Créditos: mostrar o NÚMERO no mobile (antes só o ícone aparecia) */
  #creditChip #creditCount{display:inline !important;font-weight:700;font-size:13px;}
  .credit-chip{gap:5px;padding:0 10px;width:auto;min-width:0;}
  /* (2) Enquadrar imagem vira BOTTOM SHEET com fundo leve — a imagem fica visível e atualiza ao vivo */
  .image-adjust-dialog{position:fixed !important;top:auto !important;bottom:0 !important;left:0 !important;right:0 !important;
    margin:0 !important;width:100% !important;max-width:100% !important;max-height:56vh !important;
    border:0 !important;border-radius:22px 22px 0 0 !important;box-shadow:0 -12px 44px rgba(20,24,27,.30) !important;
    padding-bottom:calc(14px + env(safe-area-inset-bottom)) !important;}
  .image-adjust-dialog::backdrop{background:rgba(12,15,17,.12);}   /* leve: dá pra ver a foto atrás */
}

@media (max-width:720px){
  /* Enquadrar: sliders em 2 colunas (2x2) + Filtro em largura total -> sheet mais curto, mais slide visível */
  .image-adjust-dialog .image-adjust-body{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;}
  .image-adjust-dialog .image-adjust-body .adjust-field:last-child{grid-column:1 / -1;}
}

/* Banco de ideias: botão fechar (a seção é escondida por padrão; o card da home mostra/oculta) */
.home-ideas-close{margin-left:auto;flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border:0;background:transparent;color:var(--ui-muted);font-size:20px;line-height:1;cursor:pointer;border-radius:8px;}
.home-ideas-close:hover{background:rgba(20,24,27,.06);color:var(--ui-text);}

/* ===== Header escuro no mobile (marca) — desktop segue claro ===== */
@media (max-width:720px){
  /* header = a cor do card "Criar carrossel" (o hero), não o botão de setas */
  .app-header{background:var(--ui-brand,#00455C) !important;border-bottom:1px solid rgba(255,255,255,.10) !important;color:#eef4f5;}
  .brandmark{background-image:url("/assets/brand/content-simbolo-ciano.svg") !important;}
  /* botões de ícone: contraste translúcido sobre o teal (background-COLOR, senão o shorthand
     reseta o background-repeat e o ícone das setas vira uma grade repetida) */
  .header-home,#chatBack,.header-actions .icon-btn{background-color:rgba(255,255,255,.12) !important;border:1px solid rgba(255,255,255,.24) !important;color:#fff !important;}
  .header-home svg,.header-actions .icon-btn svg{stroke:#fff;}
  /* ícone das setas menor (estava desproporcional) */
  #chatBack{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3 4 7l4 4'/%3E%3Cpath d='M4 7h16'/%3E%3Cpath d='m16 21 4-4-4-4'/%3E%3Cpath d='M20 17H4'/%3E%3C/svg%3E") !important;background-size:15px !important;}
  .credit-chip{background:rgba(255,255,255,.10) !important;border:1px solid rgba(255,255,255,.22) !important;color:#fff !important;}
  .credit-chip #creditCount,.credit-chip svg{color:#fff;stroke:#fff;}
  #publishMenuBtn{box-shadow:0 0 0 1px rgba(255,255,255,.14);}
  .account-btn{color:#fff;width:42px;height:42px;min-height:42px;padding:0;justify-content:center;
    background:rgba(255,255,255,.12) !important;border:1px solid rgba(255,255,255,.24) !important;border-radius:10px;}
  .account-btn .account-avatar{width:100%;height:100%;border-radius:9px;font-size:13px;background:transparent;color:#fff;}
  .account-btn .account-avatar img{border-radius:9px;}
}

@media (max-width:720px){
  /* slide não-interativo quando o chat o cobre (Central/chat expandido) — evita foco/cursor
     perdido de um editável do slide atrás do chat */
  body.chat-fullscreen .grid,
  body.chat-docked:not(.chat-collapsed) .grid{pointer-events:none;}
}

/* ===== Tom do título: "Destaque" pinta a headline com a cor de destaque do template ===== */
/* cada template tem a sua (o Brand Kit repinta todas); os que não têm caem no --accent global */
.slide.B{--title-accent:var(--bAccent);}
.slide.D{--title-accent:var(--dG1);}
.slide.E{--title-accent:var(--eG3);}
.slide.F{--title-accent:var(--fAccent);}
.slide.title-accent .headline,.slide.title-accent .cover-title,.slide.title-accent .bhl,
.slide.title-accent .headlineD,.slide.title-accent .ehl,.slide.title-accent .fhl,
.slide.title-accent .gtitle,.slide.title-accent .hheadline,.slide.title-accent .iheadline,
.slide.title-accent .jheadline,.slide.title-accent .kheadline,.slide.title-accent .lheadline{
  color:var(--title-accent,var(--accent)) !important;
}

/* Editorial sem imagem: a sobra vertical ia toda pro rodape. Centraliza por padrao e permite
   escolher topo/rodape (controle "Texto:" aparece so quando a imagem esta oculta). */
.slide.B.panel.noimg.tp-centro{justify-content:center;}
.slide.B.panel.noimg.tp-topo{justify-content:flex-start;}
.slide.B.panel.noimg.tp-rodape{justify-content:flex-end;}
