/* BeeLabs · Editor engine — edicao total, media, gravacao por cliente, export.
   Adiciona-se por cima do styles.css e dos estilos de cada documento. */

/* ---------- Toolbar ---------- */
.bl-toolbar{
  position:fixed; top:14px; right:14px; z-index:1000;
  display:flex; flex-wrap:wrap; gap:6px; align-items:center;
  max-width:min(94vw,900px);
  background:var(--midnight-ink,#0A1628); color:var(--bone-white,#FAFAF7);
  padding:8px 10px; border-radius:14px;
  font-family:var(--font-mono,ui-monospace,monospace);
  font-size:10px; letter-spacing:.04em; text-transform:uppercase;
  box-shadow:0 8px 24px rgba(10,22,40,.28);
}
.bl-toolbar button{
  background:transparent; color:inherit; border:0; font:inherit;
  text-transform:inherit; letter-spacing:inherit;
  padding:6px 10px; border-radius:999px; cursor:pointer; white-space:nowrap;
}
.bl-toolbar button:hover{ background:rgba(250,250,247,.10); }
.bl-toolbar button.primary{ background:var(--lab-orange,#F97316); color:var(--midnight-ink,#0A1628); }
.bl-toolbar button.primary:hover{ background:#FFA049; }
.bl-toolbar button.bl-on{ background:var(--lab-orange,#F97316); color:var(--midnight-ink,#0A1628); }
.bl-toolbar .bl-client{
  background:rgba(250,250,247,.08); color:inherit;
  border:0.5px solid rgba(250,250,247,.20); font:inherit;
  text-transform:none; letter-spacing:0; padding:6px 8px; border-radius:8px;
  max-width:180px; cursor:pointer;
}
.bl-toolbar .bl-client option{ color:#0A1628; }
.bl-toolbar .bl-sep{ width:1px; align-self:stretch; background:rgba(250,250,247,.16); margin:0 2px; }
.bl-toolbar .bl-status{ min-width:84px; color:rgba(250,250,247,.6); text-transform:none; letter-spacing:0; transition:color .2s; }
.bl-toolbar .bl-status.ok{ color:#3FBF86; }
@media (max-width:680px){ .bl-toolbar{ left:8px; right:8px; max-width:none; justify-content:center; } }

/* ---------- Edicao inline ---------- */
body.edit-mode [contenteditable="true"]{ outline:none; }
body.edit-mode [contenteditable="true"]:hover{ background:rgba(249,115,22,.07); border-radius:3px; }
body.edit-mode [contenteditable="true"]:focus{ background:rgba(249,115,22,.12); border-radius:3px; box-shadow:0 0 0 1px var(--lab-orange,#F97316); }
body.edit-mode .bl-media{ cursor:default; }

/* ---------- Media (imagens / video) ---------- */
.bl-media{ position:relative; }
.bl-media>.bl-media-layer{ position:absolute; inset:0; z-index:0; overflow:hidden; border-radius:inherit; }
.bl-media>.bl-media-layer img,
.bl-media>.bl-media-layer video{ width:100%; height:100%; object-fit:cover; display:block; }
.bl-media>*:not(.bl-media-layer){ position:relative; z-index:2; }
.bl-media.has-media>.bl-media-layer::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(10,22,40,.10) 0%, rgba(10,22,40,.18) 45%, rgba(10,22,40,.62) 100%);
}
.bl-media.has-media .headline,
.bl-media.has-media .meta-tile,
.bl-media.has-media .icon-fmt,
.bl-media.has-media .num-tile,
.bl-media.has-media .ttl,
.bl-media.has-media .top span{ color:#fff !important; text-shadow:0 1px 10px rgba(0,0,0,.55); }
.bl-media .bl-play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:3;
  width:36px; height:36px; border-radius:50%;
  background:rgba(10,22,40,.55); color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:13px; pointer-events:none;
}
.bl-media-btn,.bl-media-rm{
  position:absolute; z-index:6; cursor:pointer; border:0;
  font-family:var(--font-mono,ui-monospace,monospace); letter-spacing:.04em;
}
.bl-media-btn{ left:8px; bottom:8px; font-size:10px; border-radius:999px; padding:5px 10px;
  background:var(--lab-orange,#F97316); color:#0A1628; }
.bl-media-rm{ right:8px; top:8px; width:24px; height:24px; padding:0; border-radius:999px;
  background:rgba(10,22,40,.82); color:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; }
body:not(.edit-mode) .bl-media-btn,
body:not(.edit-mode) .bl-media-rm{ display:none; }

/* ---------- Controlos de pagina ---------- */
.bl-pagebar{ position:absolute; top:7px; left:7px; z-index:40; display:flex; gap:6px; }
.bl-pagebar button{
  font-family:var(--font-mono,ui-monospace,monospace); font-size:10px; letter-spacing:.04em;
  border:0; border-radius:999px; padding:5px 9px; cursor:pointer;
  background:rgba(10,22,40,.82); color:#fff;
}
.bl-pagebar button:hover{ background:var(--lab-orange,#F97316); color:#0A1628; }
body:not(.edit-mode) .bl-pagebar{ display:none; }

/* ---------- Grelha do calendario (add / remove caixas) ---------- */
body.edit-mode table.cal td:not(.empty){ position:relative; }
.bl-dayadd{
  position:absolute; right:4px; bottom:4px; z-index:6;
  width:19px; height:19px; padding:0; border:0; border-radius:50%;
  background:var(--lab-orange,#F97316); color:#0A1628; font-size:12px; line-height:1; cursor:pointer;
  opacity:0; transition:opacity .15s;
}
body.edit-mode table.cal td:not(.empty):hover .bl-dayadd{ opacity:1; }
.post-chip{ position:relative; }
.bl-chipdel{
  position:absolute; top:2px; right:2px; z-index:7;
  width:15px; height:15px; padding:0; border:0; border-radius:50%;
  background:rgba(10,22,40,.78); color:#fff; font-size:9px; line-height:1; cursor:pointer;
  display:none; align-items:center; justify-content:center;
}
body.edit-mode .post-chip:hover .bl-chipdel{ display:flex; }

/* barra de mês/ano da grelha */
.bl-calbar{ display:flex; align-items:center; gap:8px; margin-bottom:10px; flex-wrap:wrap;
  font-family:var(--font-mono,ui-monospace,monospace); font-size:10px; letter-spacing:.04em; text-transform:uppercase; color:var(--slate-grey,#475569); }
.bl-calbar select,.bl-calbar input{ font-family:var(--font-op,system-ui,sans-serif); font-size:12px; text-transform:none; letter-spacing:0;
  padding:4px 7px; border:0.5px solid var(--mist-grey,#E5E7EB); border-radius:7px; background:#fff; color:var(--midnight-ink,#0A1628); }
.bl-calbar input{ width:66px; }
.bl-calbar button{ font-family:var(--font-mono,ui-monospace,monospace); font-size:10px; letter-spacing:.04em; text-transform:uppercase;
  padding:6px 12px; border:0; border-radius:999px; background:var(--midnight-ink,#0A1628); color:#fff; cursor:pointer; }
.bl-calbar button:hover{ background:var(--lab-orange,#F97316); color:#0A1628; }
body:not(.edit-mode) .bl-calbar{ display:none; }

/* barra do feed-preview (gerar / + tile) */
.bl-feedbar{ display:flex; align-items:center; gap:8px; margin-bottom:10px; flex-wrap:wrap; }
.bl-feedbar button{ font-family:var(--font-mono,ui-monospace,monospace); font-size:10px; letter-spacing:.04em; text-transform:uppercase;
  padding:6px 12px; border:0; border-radius:999px; background:var(--midnight-ink,#0A1628); color:#fff; cursor:pointer; }
.bl-feedbar button:hover{ background:var(--lab-orange,#F97316); color:#0A1628; }
body:not(.edit-mode) .bl-feedbar{ display:none; }

/* apagar tile do feed (canto superior esquerdo, para nao colidir com o remover-media) */
.bl-tiledel{
  position:absolute; top:8px; left:8px; z-index:6;
  width:24px; height:24px; padding:0; border:0; border-radius:999px;
  background:rgba(10,22,40,.82); color:#fff; font-size:12px; line-height:1; cursor:pointer;
  display:none; align-items:center; justify-content:center;
}
body.edit-mode .ig-tile:hover .bl-tiledel{ display:flex; }

/* ---------- Campos internos (só a operadora vê, nunca o cliente) ---------- */
body:not(.edit-mode) .bl-internal,
.bl-readonly .bl-internal{ display:none !important; }
@media print{ .bl-internal{ display:none !important; } }
body.edit-mode .bl-internal{ position:relative; outline:1px dashed rgba(249,115,22,.55); outline-offset:4px; border-radius:2px; }
body.edit-mode .bl-internal::after{
  content:"INTERNO · não vai para o cliente"; position:absolute; top:-8px; left:6px; z-index:8;
  background:var(--lab-orange,#F97316); color:#0A1628;
  font-family:var(--font-mono,ui-monospace,monospace); font-size:8px; letter-spacing:.04em; text-transform:uppercase;
  padding:1px 6px; border-radius:6px; pointer-events:none;
}

/* ---------- Hint flutuante ---------- */
.bl-hint{
  position:fixed; left:14px; bottom:14px; z-index:1000; max-width:300px;
  background:var(--deep-navy,#0F2742); color:var(--bone-white,#FAFAF7);
  border:0.5px solid rgba(250,250,247,.14); border-radius:12px; padding:12px 14px;
  font-family:var(--font-op,system-ui,sans-serif); font-size:12px; line-height:1.5;
  box-shadow:0 8px 24px rgba(10,22,40,.28);
}
.bl-hint b{ color:var(--lab-orange,#F97316); }
.bl-hint .x{ position:absolute; top:8px; right:10px; cursor:pointer; color:rgba(250,250,247,.5); }

/* ---------- Card de detalhe da ideia (clicar num dia do calendário) ---------- */
.post-chip .chip-toggle{ display:none; }
.chip-open{ position:absolute; inset:0; z-index:3; cursor:pointer; }
body.edit-mode .chip-open{ display:none; }   /* em edição clica-se para editar o título; o detalhe abre no ⋯ */
.post-chip{ cursor:pointer; }
body.edit-mode .post-chip{ cursor:text; }

.chip-more{
  position:absolute; top:2px; left:2px; z-index:8; width:16px; height:16px; padding:0;
  display:none; align-items:center; justify-content:center; cursor:pointer;
  border-radius:999px; background:rgba(10,22,40,.78); color:#fff; font-size:11px; line-height:1;
  font-family:var(--font-mono,ui-monospace,monospace);
}
body.edit-mode .post-chip:hover .chip-more{ display:flex; }

.chip-modal{ display:none; }
.chip-toggle:checked ~ .chip-modal{
  display:flex; position:fixed; inset:0; z-index:1200; align-items:center; justify-content:center; padding:20px;
}
.chip-bg{ position:absolute; inset:0; background:rgba(10,22,40,.55); cursor:pointer; }
.chip-card{
  position:relative; z-index:1; width:min(520px,94vw); max-height:86vh; overflow:auto;
  background:var(--bone-white,#FAFAF7); color:var(--midnight-ink,#0A1628);
  border-radius:16px; padding:26px 26px 22px; box-shadow:0 24px 60px rgba(10,22,40,.42);
  text-align:left; font-family:var(--font-op,system-ui,sans-serif);
}
.chip-x{ position:absolute; top:14px; right:16px; cursor:pointer; color:var(--slate-grey,#475569); font-family:var(--font-mono,ui-monospace,monospace); font-size:13px; }
.cd-kicker{ font-family:var(--font-mono,ui-monospace,monospace); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--lab-orange,#F97316); margin-bottom:14px; }
.cd-row{ display:grid; grid-template-columns:96px 1fr; gap:12px; align-items:baseline; padding:9px 0; border-bottom:.5px solid var(--mist-grey,#E5E7EB); }
.cd-block{ padding:11px 0; border-bottom:.5px solid var(--mist-grey,#E5E7EB); }
.cd-row:last-child, .cd-block:last-child{ border-bottom:0; }
.cd-lbl{ font-family:var(--font-mono,ui-monospace,monospace); font-size:9px; letter-spacing:.06em; text-transform:uppercase; color:var(--slate-grey,#475569); }
.cd-block .cd-lbl{ display:block; margin-bottom:5px; }
.cd-val{ font-family:var(--font-op,system-ui,sans-serif); font-size:14px; line-height:1.55; color:var(--midnight-ink,#0A1628); letter-spacing:-.01em; min-height:1em; outline:none; }
.cd-copy{ white-space:pre-wrap; }
.cd-val:empty::before{ content:attr(data-ph); color:var(--slate-grey,#475569); opacity:.5; }
body.edit-mode .cd-val:hover{ background:rgba(249,115,22,.07); border-radius:3px; }
body.edit-mode .cd-val:focus{ background:rgba(249,115,22,.12); border-radius:3px; box-shadow:0 0 0 1px var(--lab-orange,#F97316); }
/* na vista do cliente, esconder linhas vazias */
.bl-readonly .cd-row:has(> .cd-val:empty){ display:none; }
.bl-readonly .cd-block:has(> .cd-val:empty){ display:none; }
@media print{ .chip-modal{ display:none !important; } }

/* ---------- Caixa do link do cliente ---------- */
.bl-linkbox{ position:fixed; left:50%; top:64px; transform:translateX(-50%); z-index:1100; width:min(92vw,460px);
  background:var(--deep-navy,#0F2742); color:var(--bone-white,#FAFAF7); border:0.5px solid rgba(250,250,247,.16);
  border-radius:14px; padding:16px 18px; box-shadow:0 18px 50px rgba(10,22,40,.42);
  font-family:var(--font-op,system-ui,sans-serif); }
.bl-linkbox-h{ display:flex; justify-content:space-between; align-items:center; font-weight:600; font-size:15px; letter-spacing:-.01em; }
.bl-linkbox-h .x{ cursor:pointer; color:rgba(250,250,247,.55); }
.bl-linkbox-who{ font-family:var(--font-mono,ui-monospace,monospace); font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--lab-orange,#F97316); margin-top:6px; }
.bl-linkbox-sub{ font-size:12px; color:rgba(250,250,247,.72); margin:6px 0 12px; line-height:1.5; }
.bl-linkbox-url{ width:100%; box-sizing:border-box; font-family:var(--font-mono,ui-monospace,monospace); font-size:12px;
  padding:9px 10px; border-radius:8px; border:0; background:rgba(10,22,40,.6); color:var(--bone-white,#FAFAF7); }
.bl-linkbox-actions{ display:flex; gap:8px; margin-top:10px; }
.bl-linkbox-actions button{ font-family:var(--font-mono,ui-monospace,monospace); font-size:11px; letter-spacing:.04em; text-transform:uppercase;
  padding:8px 14px; border:0; border-radius:999px; cursor:pointer; background:rgba(250,250,247,.1); color:#fff; }
.bl-linkbox-actions button.primary{ background:var(--lab-orange,#F97316); color:#0A1628; }
.bl-linkbox-actions button:hover{ filter:brightness(1.08); }

/* ---------- Print / read-only ---------- */
@media print{
  .bl-toolbar,.bl-ui,.bl-hint{ display:none !important; }
  html,body{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .bl-media-layer video,.bl-play{ display:none !important; }
  .has-poster>.bl-media-layer{ background-image:var(--poster); background-size:cover; background-position:center; }
}
.bl-readonly .bl-toolbar,.bl-readonly .bl-ui,.bl-readonly .bl-hint{ display:none !important; }
.bl-readonly{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
