/* ============================================================
   Halley, casca fiel ao Flow real (sistema1x10/public/flow/index.html
   e sistema1x10/public/painel.html), Fase 2 (retomada apos feedback da
   Laise: "quero a mesma id visual do app flow.. a opcao de trocar de
   empresa no topo.. o painel lateral.. tal qual").

   A tentativa anterior (commit c5fb726) aplicava o tema "obsidian glass"
   (DI-003-wlb §9) em toda a superficie e um tab-bar generico no topo, sem
   sidebar, nao correspondia ao Flow real. O Flow real usa sidebar ESCURA
   (var(--dark), que e --wlb-ink) + area principal CLARA (--wlb-beige de
   fundo, --wlb-white nos cards/top-bar). Esta folha reconstroi a casca
   nesse padrao. Os tokens de marca (§2), espacamento (§3b) e tokens de
   produto (§8) vem de DI-003-wlb; os tokens --cs-*/--glass-*/--card-shadow
   (§9, premium) ficam restritos a modal e toast (unicas superficies desta
   fase que pedem overlay/vidro), nao a casca inteira.
   Fonte da verdade da paleta: WeWiki/Wiki equipe/Diretrizes/DI-003-wlb.md.
   ============================================================ */

@font-face{font-family:'Lufga';src:url('../fonts/lufga-regular.otf');font-weight:400;font-display:swap}
@font-face{font-family:'Lufga';src:url('../fonts/lufga-italic.otf');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Lufga';src:url('../fonts/lufga-medium.otf');font-weight:500;font-display:swap}
@font-face{font-family:'Lufga';src:url('../fonts/lufga-semibold.otf');font-weight:600;font-display:swap}
@font-face{font-family:'Lufga';src:url('../fonts/lufga-bold.otf');font-weight:700;font-display:swap}
@font-face{font-family:'Lufga';src:url('../fonts/lufga-extra-bold.otf');font-weight:800;font-display:swap}
@font-face{font-family:'Lufga';src:url('../fonts/lufga-black.otf');font-weight:900;font-display:swap}
@font-face{font-family:'Chalkiez';src:url('../fonts/Chalkiez-Regular.otf');font-display:swap}

:root{
  /* ===== DI-003-wlb §2, paleta de marca (fonte da verdade) ===== */
  --wlb-orange:#D97559; --wlb-orange-deep:#B85C42; --wlb-orange-soft:#F2B39A;
  --wlb-lilac:#C7A5F3; --wlb-lilac-mid:#9B7BC7; --wlb-lilac-deep:#6B3FA0; --wlb-lilac-soft:#E4D4FA;
  --wlb-ink:#1E1B2E; --wlb-beige:#F5EFE8; --wlb-white:#FFFCF8;
  --wlb-ink-on-dark:#F3ECFB; --wlb-mist:#C8BFE0; --wlb-orange-ink:#A8472E;

  /* ===== DI-003-wlb §3b, escala de espaçamento base-4 ===== */
  --space-xs:4px; --space-sm:8px; --space-md:16px; --space-lg:24px; --space-xl:32px; --space-2xl:48px;

  /* ===== DI-003-wlb §8, tokens de produto (claro; a casca do Flow é clara na área principal) ===== */
  --cta-bg:var(--wlb-orange-ink); --cta-fg:#FFFFFF; --cta-hover:#8F3B26;
  --error-fg:var(--wlb-orange-ink); --error-border:var(--wlb-orange-deep);
  --focus-ring:var(--wlb-orange-ink); --focus-ring-offset:2px;
  --done-fg:var(--wlb-orange-ink);
  --track-atividades:var(--wlb-orange-ink); --track-conteudos:var(--wlb-lilac-deep); --track-weagents:var(--wlb-ink);

  /* ===== Extensão desta tela: cor de marca de terceiros para badge de
     lançamento (WLC/WLH), lida direto de DI-003-wlc §2 e DI-003-wlh §2:
     não inventa cor nova, só torna os primários dessas duas marcas
     disponíveis aqui porque um lançamento do Halley pode ser de qualquer
     marca da Laise. Sinalizar para a Iris formalizar um token
     inter-marca se mais apps precisarem disto. ===== */
  --wlc-imperial-red:#DB3A3D;
  --wlh-coral:#E74041;

  /* ===== Extensão desta tela: texto secundário e borda sobre fundo claro.
     O muted legado do Flow (#7A7388) não alcançava WCAG AA nas superfícies
     claras do Halley. Este tom acompanha o papel --text-secondary e mantém
     contraste mesmo nos usos existentes com leve redução de opacidade. ===== */
  --halley-muted-on-light:#4A435E;
  --halley-ink-rgb:30,27,46;
  --halley-border-on-light:1px solid rgba(30,27,46,.08);
  --halley-shadow-sm:0 2px 6px rgba(30,27,46,.06);
  --halley-shadow-md:0 8px 24px rgba(30,27,46,.12);

  /* ===== DI-003-wlb §9.3/§9.5, glow e vidro (só usados em modal/toast,
     as duas únicas superfícies "flutuantes" desta fase) ===== */
  --cs-glow-rgb:217,117,89; --cs-glow-2-rgb:155,123,199;
  --cs-surface:#181428; --cs-surface-2:#1E1B2E;
  --cs-ink:#F5EFE8; --cs-ink-2:#BDB6CC; --cs-ink-3:#8E86A0;
  --cs-line:rgba(255,252,248,.10); --cs-line-strong:rgba(255,252,248,.20);
  --card-shadow:0 30px 60px -24px rgba(0,0,0,.7);
  --glass-fill:rgba(24,20,40,.7);
  --glass-blur:blur(18px) saturate(125%);
  --glass-border:1px solid rgba(155,123,199,.25);

  /* ===== Fase 5, semaforo de conversao (paginas.md 5.6): verde/ambar/vermelho
     literais, unica excecao a regra "so laranja e lilas" da Fase 3 (linha
     ~400 abaixo). Justificativa: a Formacao pede explicitamente o semaforo
     de tres zonas (abaixo do minimo, entre minimo e ideal, acima do ideal)
     contra a meta de conversao, e laranja ja significa "feito/positivo" em
     outro lugar da UI (mc-check, cr-gravado): reusa-lo aqui pra "ruim" ou
     "medio" contradiria o resto do app. Tons escolhidos para contraste AA
     sobre --wlb-white e --wlb-beige. ===== */
  --halley-good-ink:#1B7A3D; --halley-good-bg:rgba(27,122,61,.14);
  --halley-medio-ink:#8A5A00; --halley-medio-bg:rgba(138,90,0,.14);
  --halley-ruim-ink:#B42318; --halley-ruim-bg:rgba(180,35,24,.13);

  /* ===== Extensões estruturais desta tela (--halley-*) ===== */
  --halley-fs-2xs:10px; --halley-fs-xs:11px; --halley-fs-sm:12.5px; --halley-fs-base:14px; --halley-fs-md:15px;
  --halley-fs-lg:17px; --halley-fs-xl:24px; --halley-fs-2xl:34px;
  --halley-radius-sm:8px; --halley-radius-md:12px; --halley-radius-lg:20px; --halley-radius-pill:999px;
  --halley-duration-fast:150ms; --halley-duration-base:250ms;
  --halley-sidebar-w:272px; --halley-topbar-h:52px; --halley-ptabs-h:44px;

  /* Papéis semânticos. A casca inteira consome estes papéis; a assinatura
     visual pode continuar fiel à marca mesmo quando a cor de assinatura não
     tem contraste suficiente para ser um CTA pequeno. */
  --surface-canvas:#F5EFE8; --surface-raised:#FFFCF8; --surface-dark:#1E1B2E;
  --surface-soft:#EEE5DB; --text-primary:#1E1B2E; --text-secondary:#4A435E;
  --text-on-dark:#F3ECFB; --text-on-dark-muted:#C9C2D4;
  --border-subtle:rgba(30,27,46,.10); --brand-signature:#D97559;
  --action-primary:#A8472E; --action-hover:#8F3B26; --action-on-primary:#FFFFFF;
  --accent-primary:#6B3FA0; --accent-soft:#E4D4FA; --display-accent:#9B7BC7;
  --brand-action:var(--accent-primary);
  --shadow-rgb:30,27,46; --radius-card:14px; --radius-modal:20px;
  --ease-premium:cubic-bezier(.22,1,.36,1);
}

html[data-brand="wlb"]{
  color-scheme:light;
}
html[data-brand="wlc"]{
  --surface-canvas:#F3E8D5; --surface-raised:#FBF8F2; --surface-dark:#1B2A5E;
  --surface-soft:#E9DFC9; --text-primary:#1B2A5E; --text-secondary:#435782;
  --text-on-dark:#F7F3EA; --text-on-dark-muted:#CCD6ED;
  --border-subtle:rgba(27,42,94,.12); --brand-signature:#DB3A3D;
  --action-primary:#C93033; --action-hover:#A82327; --action-on-primary:#FFFFFF;
  --accent-primary:#1E55B5; --accent-soft:#CFE7E3; --display-accent:#1E55B5;
  --focus-ring:#1E55B5; --shadow-rgb:27,42,94; --radius-card:20px; --radius-modal:28px;
  --wlb-orange:#DB3A3D; --wlb-orange-deep:#A82327; --wlb-orange-soft:#F4B3AD;
  --wlb-orange-ink:#A82327; --wlb-lilac:#A5D6D1; --wlb-lilac-mid:#1E55B5;
  --wlb-lilac-deep:#17458F; --wlb-lilac-soft:#CFE7E3; --wlb-ink:#1B2A5E;
  --wlb-beige:#F3E8D5; --wlb-white:#FBF8F2; --wlb-ink-on-dark:#F7F3EA;
  --wlb-mist:#CCD6ED; --cta-bg:#C93033; --cta-hover:#A82327;
  --halley-muted-on-light:#435782; --halley-ink-rgb:27,42,94;
  --halley-border-on-light:1px solid rgba(27,42,94,.12);
}
html[data-brand="wlh"]{
  --surface-canvas:#F5EFE8; --surface-raised:#FFFFFF; --surface-dark:#242258;
  --surface-soft:#EAE3DA; --text-primary:#242258; --text-secondary:#555274;
  --text-on-dark:#FFFFFF; --text-on-dark-muted:#D5D4E7;
  --border-subtle:rgba(36,34,88,.12); --brand-signature:#E74041;
  --action-primary:#C72D30; --action-hover:#A92326; --action-on-primary:#FFFFFF;
  --accent-primary:#027071; --accent-soft:#C6E8E6; --display-accent:#027071;
  --focus-ring:#027071; --shadow-rgb:36,34,88; --radius-card:20px; --radius-modal:28px;
  --wlb-orange:#E74041; --wlb-orange-deep:#A92326; --wlb-orange-soft:#F6B5B4;
  --wlb-orange-ink:#A92326; --wlb-lilac:#9FD9D8; --wlb-lilac-mid:#027071;
  --wlb-lilac-deep:#00595A; --wlb-lilac-soft:#C6E8E6; --wlb-ink:#242258;
  --wlb-beige:#F5EFE8; --wlb-white:#FFFFFF; --wlb-ink-on-dark:#FFFFFF;
  --wlb-mist:#D5D4E7; --cta-bg:#C72D30; --cta-hover:#A92326;
  --halley-muted-on-light:#555274; --halley-ink-rgb:36,34,88;
  --halley-border-on-light:1px solid rgba(36,34,88,.12);
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
body{
  font-family:'Lufga',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  -webkit-font-smoothing:antialiased; line-height:1.5;
}
h1,h2,h3,h4{font-family:'Lufga',sans-serif; font-weight:800; letter-spacing:-.01em; margin:0}
p{margin:0}
button{font-family:inherit}
a{color:var(--wlb-orange-ink)}
.chalk{font-family:'Chalkiez',cursive; font-weight:400; color:var(--wlb-lilac-mid); letter-spacing:0}

/* utilitário de acessibilidade */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{
  position:absolute; left:12px; top:-48px; z-index:200;
  background:var(--wlb-orange-ink); color:#fff; font-weight:700;
  padding:10px 16px; border-radius:var(--halley-radius-sm); text-decoration:none;
  transition:top var(--halley-duration-fast) ease;
}
.skip-link:focus{top:12px}
:focus-visible{outline:2px solid var(--focus-ring); outline-offset:var(--focus-ring-offset); border-radius:6px}

/* ============================================================
   HOME (equivalente a painel.html), sidebar ESCURA própria (nav
   Dashboard/Lançamentos/Métricas/Histórico) + área principal CLARA
   com troca de view sem reload, fiel à estrutura real do painel.html
   do Flow (sistema1x10): trocador de marca no topo do painel, título +
   tagline chalk, busca, seção NAVEGAÇÃO. Sem "Mercado", "Meu
   conhecimento", "Inbox", "Planejamento", "Rotinas" nem "Pilares de
   marca": são conceitos do pipeline de conteúdo do Flow, sem
   equivalente no domínio de lançamentos (confirmado pela Laise,
   correção pós-feedback 2026-07-30). O item que abre o workspace não é
   um nav-item fixo: é o próprio ato de abrir/criar um lançamento na
   view Lançamentos.
   ============================================================ */
body.home{background:var(--wlb-beige); color:var(--wlb-ink); height:100%; overflow:hidden}
.home-shell{display:flex; height:100vh; max-width:100vw; overflow-x:hidden}

/* ── sidebar da Home (usa .brand-switcher/.brand-btn/.sb-title/.sb-sub
   já definidos na seção WORKSPACE abaixo, mesmo componente visual) ── */
.sidebar-home{width:var(--halley-sidebar-w); flex-shrink:0; background:var(--wlb-ink); display:flex; flex-direction:column; overflow-y:auto; border-right:1px solid rgba(255,255,255,.05)}
.sidebar-home .sb-head{padding:20px 18px 14px; border-bottom:1px solid rgba(255,255,255,.07); flex-shrink:0}

.sb-search-wrap{position:relative; padding:13px 18px; border-bottom:1px solid rgba(255,255,255,.05); flex-shrink:0}
.sb-search-wrap svg{position:absolute; left:30px; top:50%; transform:translateY(-50%); opacity:.5; pointer-events:none}
.sb-search-input{width:100%; padding:8px 10px 8px 32px; border-radius:7px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); color:#fff; font-size:12px; font-family:'Lufga',sans-serif}
.sb-search-input::placeholder{color:rgba(255,252,248,.35)}
.sb-search-input:focus{outline:none; border-color:var(--wlb-orange)}

.sb-nav{padding:8px 10px 16px; flex:1; overflow-y:auto}
.sb-nav .sb-label{padding:14px 10px 8px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.2em; color:rgba(255,252,248,.35)}
.nav-item{
  display:flex; align-items:center; gap:10px; width:100%; text-align:left; padding:10px;
  border-radius:8px; border:none; border-left:3px solid transparent; background:none;
  color:rgba(255,252,248,.65); font-size:13px; font-weight:600; font-family:'Lufga',sans-serif;
  transition:background var(--halley-duration-fast), color var(--halley-duration-fast); cursor:pointer;
}
.nav-item svg{flex-shrink:0; opacity:.85}
.nav-item .count{margin-left:auto; font-size:10.5px; font-weight:700; background:rgba(255,252,248,.08); border-radius:var(--halley-radius-pill); padding:2px 8px; color:rgba(255,252,248,.65)}
.nav-item:hover{background:rgba(255,255,255,.05); color:var(--wlb-white)}
.nav-item.active{background:rgba(217,117,89,.16); border-left-color:var(--wlb-orange); color:var(--wlb-white); border-radius:0 8px 8px 0}
.nav-item.active .count{background:rgba(217,117,89,.24); color:var(--wlb-orange-soft)}

/* ── área principal da Home: troca de view sem reload (mesmo padrão
   view/view.active do painel.html real) ── */
.main-home{flex:1; overflow-y:auto; min-width:0}
.view{display:none; padding:var(--space-2xl) var(--space-xl) 64px; max-width:1180px; margin:0 auto}
.view.active{display:block; animation:halley-view-fade .25s ease}
@keyframes halley-view-fade{from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none}}

.conn-pill{display:inline-flex; align-items:center; gap:6px; padding:5px 11px; border-radius:var(--halley-radius-pill); font-size:var(--halley-fs-2xs); font-weight:700; letter-spacing:.04em; border:1px solid rgba(30,27,46,.14); color:var(--halley-muted-on-light); white-space:nowrap}
.conn-pill .dot{width:6px; height:6px; border-radius:50%; background:var(--halley-muted-on-light)}

.view-head{margin-bottom:var(--space-lg); display:flex; justify-content:space-between; align-items:flex-end; gap:var(--space-md); flex-wrap:wrap}
.view-head .eyebrow{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.22em; color:var(--wlb-orange-ink)}
.view-head h1{font-weight:900; font-size:clamp(26px,3.2vw,38px); letter-spacing:-.02em; line-height:.98; margin-top:6px}
.view-head h1 .chalk{font-size:1.1em}
.view-head .lead{color:var(--wlb-ink); opacity:.72; font-size:var(--halley-fs-base); margin-top:8px; max-width:60ch}

.stats-row{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-md); margin-bottom:var(--space-lg)}
.stat-card{background:var(--wlb-white); border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); padding:14px 16px; box-shadow:var(--halley-shadow-sm)}
.stat-num{font-weight:900; font-size:26px; letter-spacing:-.03em; color:var(--wlb-ink)}
.stat-num.orange{color:var(--wlb-orange-ink)}
.stat-num.lilac{color:var(--wlb-lilac-deep)}
.stat-label{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light); margin-top:2px}

.dash-grid{display:grid; grid-template-columns:1.4fr 1fr; gap:var(--space-md); align-items:start}
.card{background:var(--wlb-white); border:var(--halley-border-on-light); border-radius:var(--halley-radius-lg); padding:var(--space-lg); box-shadow:var(--halley-shadow-sm)}
.card + .card{margin-top:var(--space-md)}
.card h3{font-weight:800; font-size:var(--halley-fs-lg); letter-spacing:-.01em; margin-bottom:var(--space-md)}
.card .card-eyebrow{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.22em; color:var(--halley-muted-on-light); margin-bottom:4px}

.launch-list{display:flex; flex-direction:column; gap:var(--space-sm)}
.launch-row{
  display:flex; align-items:center; gap:var(--space-sm); padding:11px 12px; border-radius:var(--halley-radius-sm);
  border:var(--halley-border-on-light); background:var(--wlb-beige); text-align:left; width:100%; cursor:pointer;
  transition:background var(--halley-duration-fast), border-color var(--halley-duration-fast);
}
.launch-row:hover{background:#EFE3D5; border-color:rgba(30,27,46,.16)}
.launch-row .marca-pill{flex-shrink:0}
.launch-row .info{flex:1; min-width:0}
.launch-row .nome{font-weight:700; font-size:var(--halley-fs-base); color:var(--wlb-ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.launch-row .meta{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light); margin-top:2px}
.launch-row .go{flex-shrink:0; color:var(--wlb-orange-ink); font-weight:700; font-size:var(--halley-fs-sm)}
.launch-empty{padding:var(--space-lg) var(--space-md); text-align:center; color:var(--halley-muted-on-light); font-size:var(--halley-fs-sm); line-height:1.6}
.launch-empty .chalk{display:block; font-size:20px; margin-bottom:6px}

/* ============================================================
   VIEW LANÇAMENTOS, galeria completa (grid de cards), distinta do
   preview de 6 no Dashboard (.launch-list acima).
   ============================================================ */
.launch-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:var(--space-md)}
.launch-card{
  display:flex; flex-direction:column; gap:var(--space-sm); text-align:left; width:100%; cursor:pointer;
  background:var(--wlb-white); border:var(--halley-border-on-light); border-radius:var(--halley-radius-md);
  padding:var(--space-md); box-shadow:var(--halley-shadow-sm);
  transition:transform var(--halley-duration-fast), box-shadow var(--halley-duration-fast), border-color var(--halley-duration-fast);
}
.launch-card:hover{transform:translateY(-2px); box-shadow:var(--halley-shadow-md); border-color:rgba(30,27,46,.16)}
.launch-card .lc-top{display:flex; align-items:center; justify-content:space-between; gap:8px}
.launch-card .status-badge{font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:2px 8px; border-radius:var(--halley-radius-pill); background:rgba(30,27,46,.06); color:var(--halley-muted-on-light); white-space:nowrap}
.launch-card .nome{font-weight:800; font-size:var(--halley-fs-md); color:var(--wlb-ink); line-height:1.3}
.launch-card .meta{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light)}
.launch-card .marco{font-size:var(--halley-fs-xs); font-weight:700; color:var(--wlb-orange-ink)}
.launch-card .go{align-self:flex-end; color:var(--wlb-orange-ink); font-weight:700; font-size:var(--halley-fs-xs)}

.view-actions{display:flex; align-items:center; gap:var(--space-sm)}
.btn-primary-sm{
  display:inline-flex; align-items:center; gap:6px; padding:9px 16px; border-radius:var(--halley-radius-sm);
  border:none; background:var(--cta-bg); color:var(--cta-fg); font-weight:700; font-size:var(--halley-fs-sm);
  cursor:pointer; transition:background var(--halley-duration-fast); white-space:nowrap;
}
.btn-primary-sm:hover{background:var(--cta-hover)}

.cta-card{display:flex; flex-direction:column; gap:var(--space-sm)}
.cta-card p{color:var(--wlb-ink); opacity:.72; font-size:var(--halley-fs-sm); line-height:1.6}
.btn-primary-lg{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%;
  padding:13px 16px; border-radius:var(--halley-radius-sm); border:none; background:var(--cta-bg); color:var(--cta-fg);
  font-weight:700; font-size:var(--halley-fs-base); cursor:pointer; transition:background var(--halley-duration-fast);
}
.btn-primary-lg:hover{background:var(--cta-hover)}

.placeholder-note{
  margin-top:var(--space-sm); font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light); font-style:italic;
}

/* ============================================================
   MARCA PILL, cor por marca, usado no Home e no sidebar do Workspace.
   ============================================================ */
.marca-pill{
  display:inline-flex; align-items:center; gap:5px; font-weight:700; font-size:var(--halley-fs-2xs);
  letter-spacing:.05em; text-transform:uppercase; padding:2px 8px; border-radius:var(--halley-radius-pill);
}
.marca-pill.wlb{background:rgba(217,117,89,.14); color:var(--wlb-orange-ink)}
.marca-pill.wlc{background:rgba(219,58,61,.14); color:var(--wlc-imperial-red)}
.marca-pill.wlh{background:rgba(231,64,65,.14); color:var(--wlh-coral)}
/* variante compacta (só dot), usada dentro da sidebar escura */
.marca-dot{width:8px; height:8px; border-radius:50%; flex-shrink:0}
.marca-dot.wlb{background:var(--wlb-orange)}
.marca-dot.wlc{background:var(--wlc-imperial-red)}
.marca-dot.wlh{background:var(--wlh-coral)}

/* ============================================================
   WORKSPACE, shell fiel a flow/index.html: .shell (flex) = .sidebar
   (272px, escura) + .main (clara, flex 1).
   ============================================================ */
body.workspace{height:100%; overflow:hidden; background:var(--wlb-beige); color:var(--wlb-ink)}
.shell{display:flex; height:100vh; max-width:100vw; overflow-x:hidden}

/* ── SIDEBAR ── */
.sidebar{width:var(--halley-sidebar-w); flex-shrink:0; background:var(--wlb-ink); display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.05)}

.sb-head{padding:20px 18px 14px; border-bottom:1px solid rgba(255,255,255,.07); flex-shrink:0}
.brand-switcher{display:flex; gap:4px; margin-bottom:13px}
.brand-btn{
  font-family:'Lufga',sans-serif; font-weight:700; font-size:10.5px; padding:4px 11px; border-radius:var(--halley-radius-pill);
  border:1.5px solid rgba(255,255,255,.1); background:transparent; color:rgba(255,252,248,.35); cursor:pointer;
  transition:all var(--halley-duration-fast); letter-spacing:.05em;
}
.brand-btn:hover{color:rgba(255,252,248,.7); border-color:rgba(255,255,255,.2)}
.brand-btn.active{background:var(--wlb-orange); border-color:var(--wlb-orange); color:#fff}
.sb-title{font-weight:900; font-size:17px; letter-spacing:-.02em; line-height:1.15; color:var(--wlb-white)}
.sb-title .chalk{font-size:1em; color:var(--wlb-lilac)}
.sb-sub{font-size:11px; color:rgba(255,252,248,.32); margin-top:5px; line-height:1.45}

.sb-inbox-head{padding:12px 18px; border-bottom:1px solid rgba(255,255,255,.05); flex-shrink:0; display:flex; flex-direction:column; gap:8px}
.sb-inbox-label{font-weight:800; font-size:9.5px; letter-spacing:.15em; text-transform:uppercase; color:var(--wlb-orange)}
.sb-search{width:100%; padding:7px 10px; border-radius:7px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); color:#fff; font-size:12px; font-family:'Lufga',sans-serif}
.sb-search::placeholder{color:rgba(255,252,248,.35)}

.sb-scroll{flex:1; overflow-y:auto; padding:8px 0 12px}
.sb-scroll::-webkit-scrollbar{width:3px}
.sb-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1); border-radius:2px}
.sidebar-empty{padding:24px 18px; font-size:12px; color:rgba(255,252,248,.35); text-align:center; line-height:1.6}

.lc-item{display:flex; align-items:flex-start; gap:9px; padding:11px 18px; cursor:pointer; transition:background var(--halley-duration-fast); position:relative; border:none; width:100%; text-align:left; background:none; color:inherit}
.lc-item:hover{background:rgba(255,255,255,.05)}
.lc-item.active{background:rgba(217,117,89,.14)}
.lc-item.active::before{content:''; position:absolute; left:0; top:6px; bottom:6px; width:3px; background:var(--wlb-orange); border-radius:0 2px 2px 0}
.lc-item .marca-dot{margin-top:4px}
.lc-text{flex:1; min-width:0}
.lc-nome{font-weight:600; font-size:12.5px; color:rgba(255,252,248,.65); line-height:1.35; word-wrap:break-word}
.lc-item.active .lc-nome{color:var(--wlb-white); font-weight:700}
.lc-meta{display:flex; align-items:center; gap:6px; margin-top:4px; flex-wrap:wrap}
.lc-tipo{font-size:9.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:rgba(255,252,248,.35)}
.lc-marco{font-weight:700; font-size:9px; letter-spacing:.03em; padding:2px 6px; border-radius:3px; background:rgba(255,255,255,.08); color:rgba(255,252,248,.5)}
.lc-item.active .lc-marco{background:rgba(217,117,89,.25); color:var(--wlb-orange-soft)}

.sb-foot{border-top:1px solid rgba(255,255,255,.07); padding:12px 18px; flex-shrink:0; display:flex; flex-direction:column; gap:8px}
.btn-new-lancamento{
  display:flex; align-items:center; justify-content:center; gap:7px; width:100%; padding:10px 12px;
  background:var(--wlb-orange); border:none; border-radius:8px; font-family:'Lufga',sans-serif; font-weight:700;
  font-size:12px; color:#fff; cursor:pointer; transition:background var(--halley-duration-fast); letter-spacing:.02em;
}
.btn-new-lancamento:hover{background:var(--wlb-orange-deep)}
.sb-user{display:flex; align-items:center; justify-content:center; font-size:10.5px; color:rgba(255,252,248,.3)}

/* ── MAIN ── */
.main{flex:1; display:flex; flex-direction:column; min-width:0}

.top-bar{background:var(--wlb-white); border-bottom:var(--halley-border-on-light); padding:0 26px; min-height:var(--halley-topbar-h); display:flex; align-items:center; gap:12px; flex-shrink:0}
.tb-meta{display:flex; align-items:center; gap:8px; flex:1; min-width:0; overflow:hidden}
.tb-marca{font-weight:700; font-size:10px; letter-spacing:.08em; border-radius:5px; padding:3px 8px; flex-shrink:0}
.tb-sep{color:rgba(30,27,46,.2); flex-shrink:0}
.tb-title{font-weight:700; font-size:13.5px; color:var(--wlb-ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.tb-status{font-size:11px; color:var(--halley-muted-on-light); flex-shrink:0}
.tb-empty{font-size:12px; color:var(--halley-muted-on-light); font-style:italic}
.tb-back{
  flex-shrink:0; display:inline-flex; align-items:center; gap:5px; font-family:'Lufga',sans-serif; font-weight:700;
  font-size:11.5px; color:var(--wlb-ink); background:rgba(30,27,46,.05); border:1px solid rgba(30,27,46,.12);
  border-radius:var(--halley-radius-pill); padding:5px 12px; cursor:pointer; text-decoration:none;
}
.tb-back:hover{background:rgba(30,27,46,.1)}

.btn-atualizar{
  flex-shrink:0; display:inline-flex; align-items:center; gap:6px; font-family:'Lufga',sans-serif; font-weight:700;
  font-size:11.5px; color:var(--wlb-ink); background:rgba(30,27,46,.05); border:1px solid rgba(30,27,46,.12);
  border-radius:var(--halley-radius-pill); padding:5px 12px; cursor:pointer;
}
.btn-atualizar:hover{background:rgba(30,27,46,.1)}
.btn-atualizar:disabled{opacity:.6; cursor:default}
.btn-atualizar .ui-icon{width:14px; height:14px}
.btn-atualizar.girando .ui-icon{animation:halley-girar .8s linear infinite}
@keyframes halley-girar{to{transform:rotate(360deg)}}

.ptabs{background:var(--wlb-white); border-bottom:var(--halley-border-on-light); padding:0 26px; display:flex; align-items:center; flex-shrink:0; overflow-x:auto; gap:0}
.ptabs::-webkit-scrollbar{height:0}
.ptab{
  display:flex; align-items:center; gap:6px; padding:11px 14px; font-weight:600; font-size:12px;
  color:var(--halley-muted-on-light); cursor:pointer; border:none; background:none; border-bottom:2px solid transparent;
  transition:color var(--halley-duration-fast); white-space:nowrap; font-family:'Lufga',sans-serif;
}
.ptab:hover{color:var(--wlb-ink)}
.ptab[aria-selected="true"]{color:var(--wlb-orange-ink); border-bottom-color:var(--wlb-orange-ink)}
.ptab .ptab-badge{font-weight:700; font-size:9.5px; background:rgba(30,27,46,.07); color:var(--halley-muted-on-light); border-radius:10px; padding:1px 6px}
.ptab[aria-selected="true"] .ptab-badge{background:rgba(217,117,89,.14); color:var(--wlb-orange-ink)}

.content{flex:1; overflow-y:auto; padding:26px 26px 48px}
.content::-webkit-scrollbar{width:4px}
.content::-webkit-scrollbar-thumb{background:rgba(30,27,46,.14); border-radius:2px}
.content[hidden]{display:none}

.content-placeholder{max-width:640px; margin:32px auto 0; text-align:center; background:var(--wlb-white); border:var(--halley-border-on-light); border-radius:var(--halley-radius-lg); box-shadow:var(--halley-shadow-sm); padding:44px 36px}
.content-placeholder .ph-emoji{display:inline-grid; place-items:center; width:52px; height:52px; margin-bottom:var(--space-md); color:var(--brand-action); background:var(--accent-soft); border-radius:50%}
.content-placeholder .ph-emoji svg{width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round}
.content-placeholder h1{font-size:var(--halley-fs-xl); margin-bottom:var(--space-sm)}
.content-placeholder .ph-copy{color:var(--wlb-ink); opacity:.72; font-size:var(--halley-fs-base); line-height:1.6; margin-bottom:var(--space-lg)}
.content-placeholder .ph-phase{
  display:inline-flex; align-items:center; gap:8px; font-size:var(--halley-fs-2xs); font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:var(--wlb-lilac-deep);
  background:rgba(155,123,199,.12); border:1px solid rgba(155,123,199,.3); padding:8px 16px; border-radius:var(--halley-radius-pill);
}
.content-placeholder .ph-empty-launch{margin-top:var(--space-md); font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light); border-top:1px solid rgba(30,27,46,.08); padding-top:var(--space-md)}

.empty-state{display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; gap:14px; text-align:center; padding:40px}
/* Bug real (achado nesta fase): [hidden] é UA-stylesheet; qualquer regra de
   autor que fixe display na mesma classe (.empty-state{display:flex} acima)
   vence o [hidden] por origem de cascata, mesmo com especificidade igual:
   o elemento continuava visível mesmo com o atributo hidden presente. Sem
   esta regra explícita, alternar entre o estado vazio e o painel de aba
   trava com os dois visíveis ao mesmo tempo. */
.empty-state[hidden]{display:none}
.empty-icon{display:grid; place-items:center; width:58px; height:58px; color:var(--brand-action); background:var(--accent-soft); border:1px solid color-mix(in srgb,var(--brand-action) 22%,transparent); border-radius:50%}
.empty-icon svg{width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round}
.empty-title{font-weight:700; font-size:16px; color:var(--wlb-ink); opacity:.55}
.empty-sub{font-size:13px; color:var(--halley-muted-on-light); max-width:320px; line-height:1.5}

/* ============================================================
   MODAL: overlay que usa a camada premium §9 (glass/glow) por ser
   flutuante, não parte da casca clara. Na Fase 3 ele deixou de ser
   placeholder e passou a hospedar o formulário de 2 passos de novo
   lançamento, montado em js/novo-lancamento.js.
   ============================================================ */
.modal-overlay{position:fixed; inset:0; background:rgba(6,5,12,.6); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; z-index:100; padding:var(--space-lg)}
.modal-overlay[hidden]{display:none}
.modal-card{width:100%; max-width:460px; background:var(--wlb-white); border:var(--halley-border-on-light); border-radius:var(--halley-radius-lg); box-shadow:var(--halley-shadow-md); padding:var(--space-xl); color:var(--wlb-ink)}
.modal-card h2{font-size:var(--halley-fs-lg); margin-bottom:var(--space-sm)}
.modal-card p{color:var(--wlb-ink); opacity:.72; font-size:var(--halley-fs-base); line-height:1.6; margin-bottom:var(--space-lg)}
.modal-actions{display:flex; justify-content:flex-end; gap:var(--space-sm)}
.btn{padding:9px 18px; border-radius:var(--halley-radius-sm); font-weight:700; font-size:var(--halley-fs-sm); cursor:pointer; border:1px solid rgba(30,27,46,.16); background:none; color:var(--wlb-ink)}
.btn:hover{border-color:var(--wlb-orange-ink)}

/* ============================================================
   TOASTS, mesma lógica anterior, mantidos em tema escuro (flutuante
   sobre qualquer página, Home ou Workspace).
   ============================================================ */
.toast-region{position:fixed; right:var(--space-lg); bottom:var(--space-lg); z-index:200; display:flex; flex-direction:column; gap:var(--space-sm); max-width:340px}
.toast{
  display:flex; align-items:flex-start; gap:10px; padding:13px 16px; background:var(--cs-surface);
  border:1px solid var(--cs-line-strong); border-radius:var(--halley-radius-md); box-shadow:var(--card-shadow);
  font-size:var(--halley-fs-sm); color:var(--cs-ink); animation:halley-toast-in var(--halley-duration-base) ease;
}
.toast .icon{flex-shrink:0; font-size:16px; line-height:1}
.toast .icon svg,.toast .fechar svg,.status-icon svg{display:block; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round}
.toast .fechar svg{width:16px; height:16px}
.status-icon{display:inline-flex; flex:0 0 auto}
.toast.toast-sucesso{border-color:rgba(var(--cs-glow-rgb),.4)}
.toast.toast-sucesso .icon{color:var(--wlb-orange)}
.toast.toast-aviso{border-color:rgba(217,117,89,.35)}
.toast.toast-aviso .icon{color:var(--wlb-orange-soft)}
.toast.toast-erro{border-color:rgba(184,92,66,.5)}
.toast.toast-erro .icon{color:var(--wlb-orange-deep)}
.toast .msg strong{display:block; font-weight:700; margin-bottom:2px}
.toast .fechar{margin-left:auto; background:none; border:none; color:var(--cs-ink-3); cursor:pointer; font-size:14px; padding:2px}
@keyframes halley-toast-in{from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none}}

/* ============================================================
   FASE 3, FORMULARIOS, FILTROS, CHECKLIST E LINHA DO TEMPO
   Tudo abaixo usa os mesmos tokens de DI-003-wlb ja declarados no :root.
   Nenhuma cor nova: os estados semanticos (feito, alerta, exemplo) reusam
   laranja e lilas da paleta, com contraste AA sobre fundo claro.
   ============================================================ */

/* ── Campos de formulario (usados no modal e nas abas) ── */
.campo{display:flex; flex-direction:column; gap:5px; margin-bottom:var(--space-md)}
.campo-rotulo{font-size:var(--halley-fs-xs); font-weight:700; letter-spacing:.02em; color:var(--wlb-ink); opacity:.78}
.campo input[type="text"],.campo input[type="url"],.campo input[type="number"],.campo input[type="date"],
.campo select,.campo textarea,
.pesquisa-card input,.pesquisa-card select,.pesquisa-card textarea,
.filtro select,.combo-linha input{
  font-family:'Lufga',sans-serif; font-size:var(--halley-fs-base); color:var(--wlb-ink);
  background:var(--wlb-white); border:1px solid rgba(30,27,46,.16); border-radius:var(--halley-radius-sm);
  padding:9px 11px; width:100%; min-height:38px; transition:border-color var(--halley-duration-fast);
}
.campo textarea,.pesquisa-card textarea{
  min-height:44px; resize:none; overflow:hidden; line-height:1.5;
}
.campo input:hover,.campo select:hover,.campo textarea:hover{border-color:rgba(30,27,46,.3)}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none; border-color:var(--wlb-orange-ink); box-shadow:0 0 0 3px rgba(217,117,89,.18)}
.campo input:disabled,.campo select:disabled,.campo textarea:disabled{background:rgba(30,27,46,.04); color:var(--halley-muted-on-light); cursor:not-allowed}
.campo-ajuda{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light); line-height:1.45}

/* Ajuda contextual: o icone fica discreto, mas sua area interativa chega a
   44px. O popover vive no body para nao ser cortado por cards e modais. */
.campo-rotulo,
.filtro-rotulo,
.aba-head h1,
.bloco-head h2,
.sub-bloco-head h3,
.est-subbloco > h3{
  position:relative;
}
.halley-campo-rotulo-linha{
  display:inline-flex; align-items:center; align-self:flex-start; max-width:100%;
}
.halley-info-btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; min-height:22px; min-block-size:22px; margin-left:6px; padding:0; vertical-align:middle; flex:0 0 auto;
  border:1px solid rgba(var(--halley-ink-rgb),.22); border-radius:50%;
  background:var(--surface-soft); color:var(--text-secondary); cursor:help;
  font:inherit; line-height:1; opacity:.82;
  transition:color var(--halley-duration-fast), background var(--halley-duration-fast), border-color var(--halley-duration-fast), transform var(--halley-duration-fast);
}
.halley-info-btn::after{content:''; position:absolute; inset:-11px; border-radius:50%}
.halley-info-btn svg{display:block; width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; pointer-events:none}
.filtro-rotulo .halley-info-btn,
.filtro > .halley-campo-rotulo-linha > .halley-info-btn{width:18px; height:18px; min-height:18px; min-block-size:18px; margin-left:5px}
.filtro-rotulo .halley-info-btn svg,
.filtro > .halley-campo-rotulo-linha > .halley-info-btn svg{width:13px; height:13px}
.halley-info-btn:hover,
.halley-info-btn:focus-visible,
.halley-info-btn[aria-expanded="true"]{
  color:var(--wlb-white); background:var(--wlb-orange-ink); border-color:var(--wlb-orange-ink); opacity:1; transform:translateY(-1px);
}
.halley-info-btn:focus-visible{outline:2px solid var(--focus-ring); outline-offset:3px}
.halley-info-secao{width:24px; height:24px; min-height:24px; min-block-size:24px; margin-left:8px; transform:translateY(-1px)}
.halley-info-secao:hover,
.halley-info-secao:focus-visible,
.halley-info-secao[aria-expanded="true"]{transform:translateY(-2px)}
.halley-help-popover{
  position:fixed; z-index:1600; width:max-content; max-width:min(340px,calc(100vw - 24px));
  padding:13px 15px; border:1px solid rgba(255,255,255,.14); border-radius:12px;
  background:var(--wlb-ink); color:var(--wlb-ink-on-dark); box-shadow:var(--card-shadow);
  font-family:'Lufga',sans-serif; font-size:14px; line-height:1.5; letter-spacing:0;
  pointer-events:none; opacity:1; transform:translateY(0);
  animation:halley-help-in var(--halley-duration-fast) ease-out;
}
.halley-help-popover[hidden]{display:none}
.halley-help-title{display:block; margin-bottom:4px; color:var(--wlb-white); font-size:13px; line-height:1.35}
.halley-help-text{display:block; max-width:58ch; color:var(--wlb-ink-on-dark); opacity:.92; font-weight:500}
@keyframes halley-help-in{from{opacity:0; transform:translateY(4px)} to{opacity:1; transform:translateY(0)}}
.campo-aviso{
  font-size:var(--halley-fs-sm); line-height:1.5; color:var(--wlb-lilac-deep); background:rgba(155,123,199,.1);
  border-left:3px solid var(--wlb-lilac-mid); border-radius:0 var(--halley-radius-sm) var(--halley-radius-sm) 0;
  padding:10px 14px; margin-bottom:var(--space-md);
}
.campo-aviso.ruim{color:var(--wlb-orange-ink); background:rgba(217,117,89,.12); border-left-color:var(--wlb-orange-deep)}
.campo-linha-2{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-md)}
.campo-linha-3{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-md)}
.campo-linha-4{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-md)}
.campo-fieldset{border:none; padding:0; margin:0 0 var(--space-md)}
.campo-fieldset legend{padding:0; margin-bottom:6px}
.campo-grupo{border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); padding:var(--space-md); margin-bottom:var(--space-md)}

.checkbox-nuvem,.radio-nuvem{display:flex; flex-wrap:wrap; gap:7px}
.chk-pill{
  display:inline-flex; align-items:center; gap:6px; cursor:pointer; user-select:none;
  border:1px solid rgba(30,27,46,.16); border-radius:var(--halley-radius-pill); padding:7px 13px; min-height:34px;
  font-size:var(--halley-fs-sm); font-weight:600; color:var(--halley-muted-on-light); background:var(--wlb-white);
  transition:all var(--halley-duration-fast);
}
.chk-pill input{position:absolute; opacity:0; width:1px; height:1px}
.chk-pill:hover{border-color:rgba(30,27,46,.32); color:var(--wlb-ink)}
.chk-pill.sel{background:rgba(217,117,89,.14); border-color:var(--wlb-orange-ink); color:var(--wlb-orange-ink)}
.chk-pill.oculto{display:none}
.chk-pill:focus-within{outline:2px solid var(--focus-ring); outline-offset:2px}

.radio-linha{display:flex; align-items:center; gap:9px; cursor:pointer; font-size:var(--halley-fs-base); font-weight:600; margin-bottom:var(--space-sm); min-height:32px}
.radio-linha.desabilitado{opacity:.45; cursor:not-allowed}
.radio-linha.sel{color:var(--wlb-orange-ink)}

/* ── Medidor ── */
.medidor{display:flex; align-items:center; gap:9px}
.medidor-trilho{flex:1; min-width:80px; height:6px; background:rgba(30,27,46,.1); border-radius:3px; overflow:hidden}
.medidor-preenchido{height:100%; background:var(--wlb-orange-ink); border-radius:3px; transition:width var(--halley-duration-base) ease}
.medidor-texto{font-size:var(--halley-fs-xs); font-weight:700; color:var(--halley-muted-on-light); white-space:nowrap}

/* ── Botoes pequenos ── */
.btn-mini{
  font-family:'Lufga',sans-serif; font-weight:700; font-size:var(--halley-fs-xs); padding:7px 13px; min-height:32px;
  border-radius:var(--halley-radius-pill); border:1px solid rgba(30,27,46,.16); background:var(--wlb-white);
  color:var(--wlb-ink); cursor:pointer; transition:all var(--halley-duration-fast); white-space:nowrap;
}
.btn-mini:hover{border-color:var(--wlb-orange-ink); color:var(--wlb-orange-ink)}
.btn-mini.destaque{background:var(--cta-bg); border-color:var(--cta-bg); color:var(--cta-fg)}
.btn-mini.destaque:hover{background:var(--cta-hover); color:#fff}
.btn-mini:disabled{opacity:.45; cursor:not-allowed}
.btn-x{
  font-family:'Lufga',sans-serif; font-size:var(--halley-fs-xs); font-weight:700; background:none;
  border:1px solid transparent; border-radius:var(--halley-radius-sm); color:var(--halley-muted-on-light);
  cursor:pointer; padding:6px 9px; min-height:32px; min-width:32px;
}
.btn-x:hover{color:var(--wlb-orange-ink); border-color:rgba(217,117,89,.4); background:rgba(217,117,89,.08)}

/* ── Modal de 2 passos ── */
.modal-head{display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-md); margin-bottom:var(--space-md)}
.modal-x{background:none; border:none; font-size:15px; color:var(--halley-muted-on-light); cursor:pointer; padding:4px 8px; min-height:32px}
.modal-x:hover{color:var(--wlb-ink)}
.modal-card{max-height:88vh; overflow-y:auto}
.modal-body p{margin-bottom:0}
.nl-steps{display:flex; gap:var(--space-md); list-style:none; padding:0; margin:0 0 var(--space-lg); font-size:var(--halley-fs-sm); font-weight:700; color:var(--halley-muted-on-light)}
.nl-steps li{display:flex; align-items:center; gap:7px}
.nl-steps li span{display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:rgba(30,27,46,.08); font-size:var(--halley-fs-xs)}
.nl-steps li.atual{color:var(--wlb-orange-ink)}
.nl-steps li.atual span{background:var(--wlb-orange-ink); color:#fff}
.nl-steps li.feito span{background:rgba(217,117,89,.2); color:var(--wlb-orange-ink)}
.nl-hint,.nl-vazio{font-size:var(--halley-fs-sm); color:var(--halley-muted-on-light); line-height:1.55; margin-bottom:var(--space-md)}
.nl-nota{font-size:var(--halley-fs-xs); color:var(--wlb-lilac-deep); background:rgba(155,123,199,.1); border-radius:var(--halley-radius-sm); padding:9px 12px; line-height:1.5}
.nl-resumo{background:var(--wlb-beige); border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); padding:var(--space-md); margin-bottom:var(--space-md)}
.nl-resumo-titulo{font-weight:800; font-size:var(--halley-fs-base); margin-bottom:8px}
.nl-resumo-linhas{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:9px}
.nl-chip{font-size:var(--halley-fs-xs); font-weight:700; background:rgba(217,117,89,.14); color:var(--wlb-orange-ink); border-radius:var(--halley-radius-pill); padding:3px 10px}
.nl-resumo-desc,.nl-resumo-quando{font-size:var(--halley-fs-sm); color:var(--wlb-ink); opacity:.78; line-height:1.55; margin-bottom:6px}
.modal-actions{margin-top:var(--space-lg)}

/* ── Filtros da galeria de lancamentos ── */
.filtros-barra{display:flex; flex-wrap:wrap; gap:var(--space-md); margin-bottom:var(--space-md)}
.filtro{display:flex; flex-direction:column; gap:4px; min-width:150px}
.filtro-rotulo{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--halley-muted-on-light)}

/* ── Card de lancamento, campos novos ── */
.launch-card .produto{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light)}
.launch-card .badges{display:flex; flex-wrap:wrap; gap:5px}
.launch-card .tipo-badge,.launch-card .obj-badge{font-size:var(--halley-fs-2xs); font-weight:700; border-radius:var(--halley-radius-pill); padding:2px 9px}
.launch-card .tipo-badge{background:rgba(30,27,46,.06); color:var(--wlb-ink)}
.launch-card .obj-badge{background:rgba(155,123,199,.14); color:var(--wlb-lilac-deep)}
.launch-card .datas{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light)}
.launch-card .status-badge.st-em_andamento{background:rgba(217,117,89,.14); color:var(--wlb-orange-ink)}
.launch-card .status-badge.st-carrinho_aberto{background:rgba(155,123,199,.16); color:var(--wlb-lilac-deep)}
.launch-card .medidor{width:100%}

/* ── Radar do dashboard ── */
.radar-list{display:flex; flex-direction:column; gap:6px}
.radar-row{
  display:flex; align-items:center; gap:11px; width:100%; text-align:left; cursor:pointer; padding:9px 11px;
  border-radius:var(--halley-radius-sm); border:var(--halley-border-on-light); background:var(--wlb-beige);
}
.radar-row:hover{background:#EFE3D5}
.radar-data{font-weight:800; font-size:var(--halley-fs-sm); color:var(--wlb-orange-ink); flex-shrink:0; min-width:44px}
.radar-row .info{min-width:0}
.radar-row .nome{display:block; font-weight:700; font-size:var(--halley-fs-sm); color:var(--wlb-ink)}
.radar-row .meta{display:block; font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light)}

/* ── Cabecalho e blocos das abas do workspace ── */
.tab-root{max-width:1080px}
.aba-head{display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-lg); flex-wrap:wrap; margin-bottom:var(--space-lg)}
.aba-eyebrow{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.2em; color:var(--wlb-orange-ink)}
.aba-head h1{font-size:clamp(22px,2.6vw,30px); font-weight:900; letter-spacing:-.02em; margin-top:5px}
.aba-aviso{font-size:var(--halley-fs-sm); color:var(--wlb-ink); opacity:.7; max-width:64ch; margin-top:7px; line-height:1.55}
.aba-head-lado{display:flex; flex-direction:column; align-items:flex-end; gap:7px; min-width:200px}
.salvo-pill{font-size:var(--halley-fs-xs); font-weight:700; color:var(--halley-muted-on-light); background:rgba(30,27,46,.05); border-radius:var(--halley-radius-pill); padding:4px 11px}
.salvo-pill.pulse{animation:halley-salvo .6s ease}
@keyframes halley-salvo{0%{background:rgba(217,117,89,.24); color:var(--wlb-orange-ink)} 100%{background:rgba(30,27,46,.05)}}

.bloco{background:var(--wlb-white); border:var(--halley-border-on-light); border-radius:var(--halley-radius-lg); box-shadow:var(--halley-shadow-sm); padding:var(--space-lg); margin-bottom:var(--space-md)}
.bloco-head{margin-bottom:var(--space-md)}
.bloco-head h2{font-size:var(--halley-fs-lg); font-weight:800}
.bloco-sub{font-size:var(--halley-fs-sm); color:var(--halley-muted-on-light); margin-top:4px; line-height:1.55}
.bloco-corpo-2col{display:grid; grid-template-columns:1.6fr 1fr; gap:var(--space-lg); align-items:start}

.painel-consulta{background:var(--wlb-beige); border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); padding:var(--space-md); font-size:var(--halley-fs-sm); line-height:1.55; color:var(--wlb-ink)}
.painel-consulta p{opacity:.8}
.pc-titulo{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--wlb-orange-ink); margin-bottom:8px}
.pc-nota{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light); margin-top:9px; line-height:1.5}
.pc-lista{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px}
.pc-lista li{font-size:var(--halley-fs-sm); line-height:1.5; color:var(--wlb-ink); opacity:.85}

.regua{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px}
.regua li{display:grid; grid-template-columns:1fr auto; gap:4px 10px; padding-bottom:6px; border-bottom:1px solid rgba(30,27,46,.07)}
.rg-etapa{font-weight:700; font-size:var(--halley-fs-sm); text-transform:capitalize}
.rg-pct{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light)}
.rg-valor{grid-column:1 / -1; font-size:var(--halley-fs-xs); font-weight:700; color:var(--wlb-orange-ink)}

.oferta-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 var(--space-md)}
.sub-bloco{margin-top:var(--space-lg); border-top:1px solid rgba(30,27,46,.08); padding-top:var(--space-md)}
.sub-bloco-head{display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); margin-bottom:var(--space-md); flex-wrap:wrap}
.sub-bloco-head h3{font-size:var(--halley-fs-md); font-weight:800}
.combo-linha{display:grid; grid-template-columns:1.4fr .7fr 1.6fr auto; gap:8px; margin-bottom:8px; align-items:center}
.pesquisa-card{border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); padding:var(--space-md); margin-bottom:var(--space-md); background:var(--wlb-beige)}
.pesquisa-card input,.pesquisa-card select,.pesquisa-card textarea{background:var(--wlb-white)}
.pesquisa-acoes{display:flex; justify-content:flex-end}
.prompt-item{border-bottom:1px solid rgba(30,27,46,.08); padding-bottom:11px; margin-bottom:11px}
.prompt-item:last-of-type{border-bottom:none}
.prompt-nome{font-weight:700; font-size:var(--halley-fs-sm)}
.prompt-quando{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light); margin:4px 0 7px; line-height:1.45}

/* ── Linha do tempo dos marcos ── */
.mc-timeline{display:grid; grid-template-columns:repeat(6,1fr); gap:8px; margin-bottom:var(--space-md)}
.mc-no{
  display:flex; flex-direction:column; align-items:center; gap:5px; text-align:center; cursor:pointer;
  background:var(--wlb-white); border:var(--halley-border-on-light); border-radius:var(--halley-radius-md);
  padding:14px 9px 12px; position:relative; font-family:'Lufga',sans-serif;
  transition:transform var(--halley-duration-fast), box-shadow var(--halley-duration-fast), border-color var(--halley-duration-fast);
}
.mc-no:hover{transform:translateY(-2px); box-shadow:var(--halley-shadow-md)}
.mc-no.sel{border-color:var(--wlb-orange-ink); box-shadow:0 0 0 2px rgba(217,117,89,.18)}
.mc-no.hoje{background:rgba(217,117,89,.07)}
.mc-anel{
  width:42px; height:42px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:conic-gradient(var(--wlb-orange-ink) calc(var(--pct,0) * 1%), rgba(30,27,46,.1) 0);
}
.mc-numero{
  width:32px; height:32px; border-radius:50%; background:var(--wlb-white); display:inline-flex; align-items:center;
  justify-content:center; font-weight:900; font-size:var(--halley-fs-base); color:var(--wlb-ink);
}
.mc-no.st-concluido .mc-numero{background:var(--wlb-orange-ink); color:#fff}
.mc-no-nome{font-weight:700; font-size:var(--halley-fs-sm); line-height:1.25; color:var(--wlb-ink)}
.mc-no-janela{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light)}
.mc-no-status{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--halley-muted-on-light)}
.mc-no.st-concluido .mc-no-status{color:var(--wlb-orange-ink)}
.mc-no-prog{font-size:var(--halley-fs-xs); font-weight:700; color:var(--wlb-lilac-deep)}
.mc-hoje-selo{position:absolute; top:-8px; right:8px; font-size:var(--halley-fs-2xs); font-weight:700; background:var(--wlb-orange-ink); color:#fff; border-radius:var(--halley-radius-pill); padding:2px 9px}

.mc-painel-head{display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-lg); flex-wrap:wrap; margin-bottom:var(--space-md)}
.mc-painel-head h2{font-size:var(--halley-fs-xl); font-weight:900; letter-spacing:-.02em; margin-top:4px}
.mc-desc{font-size:var(--halley-fs-sm); color:var(--wlb-ink); opacity:.75; line-height:1.6; margin-top:8px; max-width:70ch}
.mc-painel-prog{text-align:right; flex-shrink:0}
.mc-prog-num{display:block; font-weight:900; font-size:26px; color:var(--wlb-orange-ink); letter-spacing:-.03em}
.mc-prog-num span{font-size:15px; color:var(--halley-muted-on-light)}
.mc-prog-rot{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light)}
.mc-acoes{display:flex; gap:var(--space-sm); flex-wrap:wrap; margin-bottom:var(--space-sm)}

.mc-lista{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:2px}
.mc-item{display:flex; align-items:flex-start; gap:11px; padding:9px 8px; border-radius:var(--halley-radius-sm); transition:background var(--halley-duration-fast)}
.mc-item:hover{background:rgba(30,27,46,.03)}
.mc-check{position:relative; display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; margin-top:5px; cursor:pointer; flex-shrink:0}
.mc-check input{position:absolute; opacity:0; width:24px; height:24px; cursor:pointer; margin:0}
.mc-caixa{width:19px; height:19px; border:2px solid rgba(30,27,46,.28); border-radius:5px; transition:all var(--halley-duration-fast)}
.mc-check input:checked + .mc-caixa{background:var(--wlb-orange-ink); border-color:var(--wlb-orange-ink)}
.mc-check input:checked + .mc-caixa::after{content:'✓'; color:#fff; font-size:13px; font-weight:700; display:block; line-height:15px; text-align:center}
.mc-check input:focus-visible + .mc-caixa{outline:2px solid var(--focus-ring); outline-offset:2px}
.mc-item-corpo{flex:1; min-width:0}
.mc-texto{
  width:100%; border:1px solid transparent; background:none; resize:none; overflow:hidden; padding:5px 7px;
  font-family:'Lufga',sans-serif; font-size:var(--halley-fs-base); line-height:1.5; color:var(--wlb-ink);
  border-radius:var(--halley-radius-sm);
}
.mc-texto:hover{border-color:rgba(30,27,46,.14)}
.mc-texto:focus{outline:none; border-color:var(--wlb-orange-ink); background:var(--wlb-white)}
.mc-item.feito .mc-texto{opacity:.5; text-decoration:line-through}
.mc-item-selos{display:flex; flex-wrap:wrap; gap:5px; padding-left:7px}
.mc-selo{font-size:var(--halley-fs-2xs); font-weight:700; border-radius:var(--halley-radius-pill); padding:2px 8px; letter-spacing:.03em}
.mc-selo.tipo{background:rgba(30,27,46,.06); color:var(--halley-muted-on-light)}
.mc-selo.exemplo{background:rgba(155,123,199,.16); color:var(--wlb-lilac-deep)}
.mc-selo.manual{background:rgba(217,117,89,.13); color:var(--wlb-orange-ink)}
.mc-selo.data{background:none; color:var(--halley-muted-on-light)}
.sub-bloco.gates{background:rgba(155,123,199,.07); border-radius:var(--halley-radius-md); padding:var(--space-md); border-top:none; margin-top:var(--space-md)}

.consulta{border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); padding:11px 14px; margin-top:var(--space-sm); background:var(--wlb-beige)}
.consulta summary{cursor:pointer; font-weight:700; font-size:var(--halley-fs-sm); color:var(--wlb-ink); min-height:24px}
.consulta summary:hover{color:var(--wlb-orange-ink)}
.consulta .pc-lista{margin-top:11px}

.btn-texto-perigo{background:none; border:none; color:var(--wlb-orange-deep); font-weight:700; font-size:var(--halley-fs-sm); cursor:pointer; padding:6px 4px}
.btn-texto-perigo:hover{text-decoration:underline}
.modal-actions-entre{justify-content:space-between; align-items:center}

/* ── Calendário (aba Calendário, docs/spec.md 5.4) ── */
.cal-filtros{display:flex; flex-wrap:wrap; align-items:flex-end; gap:var(--space-md); margin-bottom:var(--space-md)}
.cal-view-toggle{display:flex; align-items:center; gap:8px; margin-bottom:var(--space-lg); flex-wrap:wrap}
.cal-view-btn{
  font-family:'Lufga',sans-serif; font-weight:700; font-size:var(--halley-fs-xs); padding:7px 14px;
  border-radius:var(--halley-radius-pill); border:var(--halley-border-on-light); background:var(--wlb-white);
  color:var(--halley-muted-on-light); cursor:pointer; transition:all var(--halley-duration-fast);
}
.cal-view-btn:hover{border-color:var(--wlb-orange-ink); color:var(--wlb-orange-ink)}
.cal-view-btn.sel{background:var(--wlb-orange-ink); border-color:var(--wlb-orange-ink); color:#fff}
.cal-view-toggle .btn-mini{margin-left:auto}

.cal-semana-nav{display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); margin-bottom:var(--space-md)}
.cal-semana-label{font-weight:700; font-size:var(--halley-fs-sm); color:var(--wlb-ink)}

.cal-dias-wrap{display:flex; gap:12px; overflow-x:auto; padding-bottom:12px; align-items:flex-start}
.cal-col{
  flex:0 0 220px; width:220px; background:var(--wlb-white); border:var(--halley-border-on-light);
  border-radius:var(--halley-radius-md); padding:12px; display:flex; flex-direction:column; gap:9px;
  box-shadow:var(--halley-shadow-sm); transition:border-color var(--halley-duration-fast), box-shadow var(--halley-duration-fast);
}
.cal-col.hoje{border-color:var(--wlb-orange-ink); box-shadow:0 0 0 2px rgba(217,117,89,.16)}
.cal-col-head{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap}
.cal-col-data{display:flex; align-items:baseline; gap:3px}
.cal-col-dia{font-weight:900; font-size:20px; letter-spacing:-.02em; color:var(--wlb-ink)}
.cal-col-mes{font-size:var(--halley-fs-xs); font-weight:700; text-transform:uppercase; color:var(--halley-muted-on-light)}
.cal-col-semana{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light); text-transform:uppercase}
.cal-col-marco{
  margin-left:auto; font-size:var(--halley-fs-2xs); font-weight:700; background:rgba(155,123,199,.16);
  color:var(--wlb-lilac-deep); border-radius:var(--halley-radius-pill); padding:2px 8px; white-space:nowrap;
}
.cal-col-medidor .medidor-texto{display:none}
.cal-col-cards{display:flex; flex-direction:column; gap:8px; min-height:40px; border-radius:var(--halley-radius-sm); transition:background var(--halley-duration-fast)}
.cal-col-cards.drag-over{background:rgba(217,117,89,.1); outline:2px dashed var(--wlb-orange-ink); outline-offset:2px}
.cal-col-vazio{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light); text-align:center; padding:14px 4px; font-style:italic}
.cal-col-add{
  border:1px dashed rgba(30,27,46,.2); background:none; border-radius:var(--halley-radius-sm); padding:6px;
  font-size:var(--halley-fs-xs); font-weight:700; color:var(--halley-muted-on-light); cursor:pointer;
  transition:all var(--halley-duration-fast);
}
.cal-col-add:hover{border-color:var(--wlb-orange-ink); color:var(--wlb-orange-ink)}

.peca-card{
  background:var(--wlb-beige); border-radius:var(--halley-radius-sm); padding:9px 10px; cursor:grab;
  border-left:3px solid var(--halley-muted-on-light); transition:transform var(--halley-duration-fast), box-shadow var(--halley-duration-fast), opacity var(--halley-duration-fast);
}
.peca-card:hover{transform:translateY(-1px); box-shadow:var(--halley-shadow-sm)}
.peca-card.is-dragging{opacity:.4}
.peca-card.resp-laise{border-left-color:var(--wlb-orange-ink)}
.peca-card.resp-equipe{border-left-color:var(--wlb-lilac-deep)}
.peca-card.resp-sem{border-left-color:rgba(30,27,46,.18)}
.peca-card-head{display:flex; align-items:center; justify-content:space-between; gap:6px; margin-bottom:6px}
.peca-selo-plat{font-size:var(--halley-fs-2xs); font-weight:700; color:var(--halley-muted-on-light)}
.peca-gravei{display:inline-flex; align-items:center; gap:4px; font-size:var(--halley-fs-2xs); font-weight:700; color:var(--halley-muted-on-light); cursor:pointer; white-space:nowrap}
.peca-gravei input{margin:0}
.peca-gravei.on{color:var(--wlb-orange-ink)}
.peca-card-body{display:block; width:100%; padding:0; border:0; background:none; color:inherit; text-align:left; cursor:pointer}
.peca-titulo{font-weight:700; font-size:var(--halley-fs-sm); line-height:1.3; color:var(--wlb-ink); margin-bottom:3px}
.peca-desc{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light); line-height:1.4; margin-bottom:5px}
.peca-meta{display:flex; flex-wrap:wrap; gap:5px}
.peca-cta,.peca-gatilho{font-size:var(--halley-fs-2xs); font-weight:700; background:rgba(30,27,46,.06); border-radius:var(--halley-radius-pill); padding:2px 7px; color:var(--wlb-ink)}
.peca-gatilho{background:rgba(217,117,89,.14); color:var(--wlb-orange-ink)}
.peca-card-foot{display:flex; align-items:center; justify-content:space-between; gap:6px; margin-top:7px; padding-top:7px; border-top:1px solid rgba(30,27,46,.08)}
.peca-status{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.03em; padding:2px 7px; border-radius:var(--halley-radius-pill); background:rgba(30,27,46,.06); color:var(--halley-muted-on-light)}
.peca-status.st-gravado,.peca-status.st-editado,.peca-status.st-publicado{background:rgba(217,117,89,.16); color:var(--wlb-orange-ink)}
.peca-status.st-agendado{background:rgba(155,123,199,.16); color:var(--wlb-lilac-deep)}
.peca-status.st-descartado{opacity:.6; text-decoration:line-through}
.peca-resp{font-size:var(--halley-fs-2xs); color:var(--halley-muted-on-light)}

.cal-lista{display:flex; flex-direction:column; gap:var(--space-lg)}
.cal-lista-grupo{background:var(--wlb-white); border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); padding:var(--space-md); box-shadow:var(--halley-shadow-sm)}
.cal-lista-data{font-weight:800; font-size:var(--halley-fs-sm); color:var(--wlb-orange-ink); margin-bottom:9px; text-transform:uppercase; letter-spacing:.04em}
.cal-lista-cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:9px}
.cal-lista-cards .peca-card{cursor:pointer}

/* ── Anúncios (aba Anúncios, docs/spec.md 5.5) ── */
.an-regua-top{margin-bottom:var(--space-lg)}
.an-etapa{background:var(--wlb-white); border:var(--halley-border-on-light); border-radius:var(--halley-radius-lg); box-shadow:var(--halley-shadow-sm); padding:var(--space-lg); margin-bottom:var(--space-md)}
.an-etapa-head{display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-md); flex-wrap:wrap; margin-bottom:9px}
.an-etapa-badge{
  display:inline-block; font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.1em;
  padding:3px 10px; border-radius:var(--halley-radius-pill); margin-bottom:6px;
}
.an-etapa-badge.etapa-captacao{background:rgba(217,117,89,.16); color:var(--wlb-orange-ink)}
.an-etapa-badge.etapa-aquecimento{background:rgba(155,123,199,.16); color:var(--wlb-lilac-deep)}
.an-etapa-badge.etapa-lembrete{background:rgba(200,191,224,.3); color:var(--wlb-ink)}
.an-etapa-badge.etapa-evento{background:rgba(184,92,66,.18); color:var(--wlb-orange-deep)}
.an-etapa-badge.etapa-carrinho{background:rgba(107,63,160,.16); color:var(--wlb-lilac-deep)}
.an-etapa-head h2{font-size:var(--halley-fs-lg); font-weight:800; max-width:56ch; line-height:1.35}
.an-etapa-orcamento{text-align:right; flex-shrink:0}
.an-orc-pct{display:block; font-weight:900; font-size:20px; color:var(--wlb-orange-ink); letter-spacing:-.02em}
.an-orc-valor{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light)}
.an-etapa-info{display:flex; flex-wrap:wrap; gap:6px 22px; font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light); line-height:1.5; margin-bottom:var(--space-md)}
.an-etapa-info strong{color:var(--wlb-ink)}
.an-producao-medidor{margin-bottom:var(--space-md)}
.an-contadores{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; margin-bottom:var(--space-md)}
.an-contador{background:var(--wlb-beige); border-radius:var(--halley-radius-sm); padding:9px 12px; display:flex; flex-direction:column; gap:6px}
.an-contador.completo{background:rgba(217,117,89,.1)}
.an-contador-sub{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--halley-muted-on-light)}
.an-selo-completo{font-size:var(--halley-fs-2xs); font-weight:700; color:var(--wlb-orange-ink)}
.an-etapa-acoes{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:var(--space-md)}
.an-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:10px; margin-bottom:var(--space-sm)}

.cr-card{background:var(--wlb-beige); border-radius:var(--halley-radius-md); padding:11px 13px; cursor:pointer; border-left:3px solid var(--halley-muted-on-light); transition:transform var(--halley-duration-fast), box-shadow var(--halley-duration-fast)}
.cr-card:hover{transform:translateY(-1px); box-shadow:var(--halley-shadow-sm)}
.etapa-captacao .cr-card,.cr-card.etapa-captacao{border-left-color:var(--wlb-orange-ink)}
.cr-card.etapa-aquecimento{border-left-color:var(--wlb-lilac-deep)}
.cr-card.etapa-lembrete{border-left-color:var(--wlb-mist)}
.cr-card.etapa-evento{border-left-color:var(--wlb-orange-deep)}
.cr-card.etapa-carrinho{border-left-color:#6B3FA0}
.cr-card-top{display:flex; align-items:center; justify-content:space-between; gap:6px; margin-bottom:6px}
.cr-formato{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--halley-muted-on-light)}
.cr-gravado{display:inline-flex; align-items:center; gap:4px; font-size:var(--halley-fs-2xs); font-weight:700; color:var(--halley-muted-on-light); cursor:pointer; white-space:nowrap}
.cr-gravado input{margin:0}
.cr-gravado.on{color:var(--wlb-orange-ink)}
.cr-nome{font-weight:700; font-size:var(--halley-fs-sm); color:var(--wlb-ink); line-height:1.3; margin-bottom:4px}
.cr-gancho{font-size:var(--halley-fs-xs); font-style:italic; color:var(--wlb-ink); opacity:.78; margin-bottom:6px; line-height:1.4}
.cr-meta{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:4px}
.cr-status{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; padding:2px 7px; border-radius:var(--halley-radius-pill); background:rgba(30,27,46,.06); color:var(--halley-muted-on-light)}
.cr-status.st-no_ar{background:rgba(217,117,89,.16); color:var(--wlb-orange-ink)}
.cr-status.st-gravado,.cr-status.st-editado{background:rgba(155,123,199,.16); color:var(--wlb-lilac-deep)}
.cr-status.st-encerrado,.cr-status.st-pausado{opacity:.6}
.cr-orientacao{font-size:var(--halley-fs-2xs); color:var(--halley-muted-on-light)}
.cr-segmentacao{font-size:var(--halley-fs-2xs); color:var(--halley-muted-on-light); line-height:1.4; margin-bottom:4px}
.cr-plats{display:flex; flex-wrap:wrap; gap:4px}
.cr-plats span{font-size:9.5px; font-weight:700; background:rgba(30,27,46,.06); border-radius:var(--halley-radius-pill); padding:1px 7px; color:var(--halley-muted-on-light)}

.beat-lista{display:flex; flex-direction:column; gap:9px; margin-bottom:var(--space-sm)}
.beat-linha{display:grid; grid-template-columns:130px 1fr auto; gap:8px; align-items:start}
.beat-linha input,.beat-linha textarea{margin:0}
.script-copiavel{background:var(--wlb-beige); border-radius:var(--halley-radius-sm); padding:11px 13px; margin:9px 0; font-size:var(--halley-fs-sm); line-height:1.6}
.script-copiavel .sc-beat{margin-bottom:8px}
.script-copiavel .sc-beat:last-child{margin-bottom:0}
.script-copiavel .sc-t{font-weight:700; font-size:var(--halley-fs-2xs); text-transform:uppercase; letter-spacing:.06em; color:var(--wlb-orange-ink); display:block; margin-bottom:2px}

/* ── Páginas (aba Páginas, docs/spec.md 5.6) ── */
.pg-secao-head{display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-md); flex-wrap:wrap}
.pg-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:10px; margin-top:var(--space-sm)}
.pg-card{
  background:var(--wlb-beige); border-radius:var(--halley-radius-md); padding:12px 14px; cursor:pointer;
  text-align:left; width:100%; border:none; font-family:'Lufga',sans-serif;
  transition:transform var(--halley-duration-fast), box-shadow var(--halley-duration-fast);
}
.pg-card:hover{transform:translateY(-1px); box-shadow:var(--halley-shadow-sm)}
.pg-card-top{display:flex; align-items:flex-start; justify-content:space-between; gap:8px; margin-bottom:5px}
.pg-nome{font-weight:700; font-size:var(--halley-fs-sm); color:var(--wlb-ink); line-height:1.3}
.pg-variante{font-weight:500; color:var(--halley-muted-on-light)}
.pg-status{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; padding:2px 7px; border-radius:var(--halley-radius-pill); background:rgba(30,27,46,.06); color:var(--halley-muted-on-light); white-space:nowrap}
.pg-status.st-publicada{background:rgba(217,117,89,.16); color:var(--wlb-orange-ink)}
.pg-status.st-em_revisao,.pg-status.st-em_construcao{background:rgba(155,123,199,.16); color:var(--wlb-lilac-deep)}
.pg-status.st-pausada{opacity:.6}
.pg-link{display:block; font-size:var(--halley-fs-2xs); color:var(--wlb-orange-ink); word-break:break-all; margin-bottom:6px}
.pg-link:hover{text-decoration:underline}
.pg-medidor{margin-bottom:6px}
.pg-medidor .medidor-texto{white-space:normal}
.pg-meta-row{display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:4px}
.pg-tag-selo{font-size:var(--halley-fs-2xs); font-weight:700; background:rgba(155,123,199,.14); color:var(--wlb-lilac-deep); border-radius:var(--halley-radius-pill); padding:2px 8px}
.pg-testes-badge{font-size:var(--halley-fs-2xs); font-weight:700; background:rgba(30,27,46,.06); color:var(--wlb-ink); border-radius:var(--halley-radius-pill); padding:2px 8px}

.pg-conv{display:inline-flex; align-items:center; font-size:var(--halley-fs-2xs); font-weight:700; border-radius:var(--halley-radius-pill); padding:3px 10px; white-space:nowrap}
.pg-conv.bom{background:var(--halley-good-bg); color:var(--halley-good-ink)}
.pg-conv.medio{background:var(--halley-medio-bg); color:var(--halley-medio-ink)}
.pg-conv.ruim{background:var(--halley-ruim-bg); color:var(--halley-ruim-ink)}
.pg-conv.sem{background:rgba(30,27,46,.06); color:var(--halley-muted-on-light)}

.pg-regua-wrap{margin-top:6px}
.pg-regua{position:relative; height:10px; background:rgba(30,27,46,.08); border-radius:var(--halley-radius-pill); overflow:visible}
.pg-regua-fill{position:absolute; left:0; top:0; height:100%; border-radius:var(--halley-radius-pill); background:rgba(30,27,46,.25); transition:width var(--halley-duration-base) ease}
.pg-regua-fill.bom{background:var(--halley-good-ink)}
.pg-regua-fill.medio{background:var(--halley-medio-ink)}
.pg-regua-fill.ruim{background:var(--halley-ruim-ink)}
.pg-regua-marca{position:absolute; top:-3px; width:2px; height:16px; background:rgba(30,27,46,.45)}
.pg-regua-legenda{display:flex; justify-content:space-between; font-size:var(--halley-fs-2xs); color:var(--halley-muted-on-light); margin-top:5px}
.pg-opcional-linha{display:flex; align-items:center; justify-content:space-between; gap:10px}
.pg-teste-sugerido{display:flex; align-items:center; justify-content:space-between; gap:10px}

/* ── Testes A/B (aba Testes A/B, docs/spec.md 5.7) ── */
.ta-grupo-titulo{font-size:var(--halley-fs-md); font-weight:800; color:var(--wlb-ink); margin:var(--space-lg) 0 var(--space-sm)}
.ta-grupo-titulo:first-child{margin-top:0}
.ta-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px}
.ta-card{
  position:relative; background:var(--wlb-white); border:var(--halley-border-on-light); border-radius:var(--halley-radius-lg);
  padding:14px 16px; box-shadow:var(--halley-shadow-sm); cursor:pointer; text-align:left; width:100%; font-family:'Lufga',sans-serif;
  transition:transform var(--halley-duration-fast), box-shadow var(--halley-duration-fast);
}
.ta-card:hover{transform:translateY(-1px); box-shadow:var(--halley-shadow-md)}
.ta-card-top{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px}
.ta-status{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.03em; padding:2px 7px; border-radius:var(--halley-radius-pill); background:rgba(30,27,46,.06); color:var(--halley-muted-on-light)}
.ta-status.st-rodando{background:rgba(217,117,89,.16); color:var(--wlb-orange-ink)}
.ta-status.st-concluido{background:var(--halley-good-bg); color:var(--halley-good-ink)}
.ta-status.st-inconclusivo,.ta-status.st-abortado{opacity:.6}
.ta-proxima-edicao{font-size:var(--halley-fs-2xs); font-weight:700; color:var(--wlb-orange-ink)}
.ta-hipotese{font-weight:700; font-size:var(--halley-fs-sm); color:var(--wlb-ink); line-height:1.35; margin-bottom:6px}
.ta-alvo{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light); margin-bottom:6px}
.ta-variavel{display:inline-block; font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--wlb-lilac-deep); background:rgba(155,123,199,.13); border-radius:var(--halley-radius-pill); padding:2px 9px}
.ta-resultados{display:flex; gap:10px; margin:9px 0}
.ta-resultado{flex:1; background:var(--wlb-beige); border-radius:var(--halley-radius-sm); padding:7px 9px; text-align:center}
.ta-resultado.venceu{background:var(--halley-good-bg)}
.ta-resultado-label{display:block; font-size:var(--halley-fs-2xs); font-weight:700; color:var(--halley-muted-on-light); text-transform:uppercase; letter-spacing:.04em}
.ta-resultado-valor{display:block; font-size:var(--halley-fs-base); font-weight:800; color:var(--wlb-ink); margin-top:2px}
.ta-vencedor-selo{
  position:absolute; top:-9px; right:12px; font-size:var(--halley-fs-2xs); font-weight:800; background:var(--wlb-orange-ink);
  color:#fff; border-radius:var(--halley-radius-pill); padding:3px 11px; box-shadow:var(--halley-shadow-sm);
}
.ta-vencedor-selo.empate{background:var(--wlb-lilac-deep)}
.ta-aviso-fechar{display:inline-block; font-size:var(--halley-fs-2xs); font-weight:700; color:var(--halley-medio-ink); background:var(--halley-medio-bg); border-radius:var(--halley-radius-pill); padding:3px 9px; margin-top:4px}
.ta-aprendizado{font-size:var(--halley-fs-xs); color:var(--wlb-ink); opacity:.78; line-height:1.45; margin-top:9px; padding-top:9px; border-top:1px solid rgba(30,27,46,.08)}
.ta-anteriores{margin-bottom:var(--space-lg)}
.ta-anterior-item{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid rgba(30,27,46,.08)}
.ta-anterior-item:last-child{border-bottom:none}

/* ============================================================
   FASE 6, METRICAS, DEBRIEFING E HISTORICO
   Mesmos tokens do :root. Os tres estados semanticos (bom, medio, ruim)
   reusam as variaveis --halley-good/medio/ruim ja declaradas, que passam
   contraste AA sobre fundo claro.
   ============================================================ */

/* ── Metricas: acumulado ── */
.met-pax-bloco{border:2px solid rgba(155,123,199,.42); box-shadow:var(--halley-shadow-sm)}
.met-pax-bloco > .bloco-head{align-items:flex-start}
.met-pax-total{
  flex:0 0 auto; min-width:190px; padding:10px 14px; border-radius:var(--halley-radius-md);
  background:var(--wlb-ink); color:var(--wlb-white); display:flex; flex-direction:column; align-items:flex-end; gap:1px;
}
.met-pax-total > span{font-size:var(--halley-fs-2xs); font-weight:700; opacity:.8}
.met-pax-total strong{font-size:24px; line-height:1.1; letter-spacing:-.025em}
.met-pax-total small{font-size:var(--halley-fs-sm); font-weight:700; opacity:.78}
.met-pax-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(205px,1fr)); gap:var(--space-sm)}
.met-pax-card{padding:13px 14px; border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); background:var(--wlb-beige)}
.met-pax-card.andamento{border-color:rgba(155,123,199,.5); background:rgba(155,123,199,.09)}
.met-pax-card.atingida{border-color:rgba(27,122,61,.35); background:var(--halley-good-bg)}
.met-pax-card-topo{display:flex; align-items:center; justify-content:space-between; gap:8px}
.met-pax-card-topo strong{font-size:var(--halley-fs-md); color:var(--wlb-ink)}
.met-pax-status{
  max-width:145px; padding:2px 7px; border-radius:var(--halley-radius-pill); text-align:right;
  font-size:var(--halley-fs-2xs); line-height:1.25; font-weight:700; color:var(--halley-muted-on-light); background:rgba(30,27,46,.06);
}
.met-pax-valor{display:flex; align-items:baseline; gap:5px; margin:11px 0 8px}
.met-pax-valor strong{font-size:28px; line-height:1; letter-spacing:-.03em; color:var(--wlb-ink)}
.met-pax-valor span{font-size:var(--halley-fs-sm); font-weight:700; color:var(--halley-muted-on-light)}
.met-pax-regua{height:9px; overflow:hidden; border-radius:var(--halley-radius-pill); background:rgba(30,27,46,.1)}
.met-pax-regua span{display:block; height:100%; border-radius:inherit; background:var(--wlb-lilac-deep)}
.met-pax-card.atingida .met-pax-regua span{background:var(--halley-good-ink)}
.met-pax-legenda{display:flex; justify-content:space-between; gap:8px; margin-top:5px; font-size:var(--halley-fs-2xs); font-weight:600; color:var(--halley-muted-on-light)}
.met-pax-benchmark{
  display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:8px 14px; margin-top:var(--space-md); padding:10px 12px;
  border-radius:var(--halley-radius-md); border:1px dashed rgba(30,27,46,.28); background:rgba(30,27,46,.035); color:var(--halley-muted-on-light);
}
.met-pax-benchmark-selo{
  padding:3px 8px; border-radius:var(--halley-radius-pill); background:rgba(30,27,46,.08);
  font-size:var(--halley-fs-2xs); font-weight:800; text-transform:uppercase; letter-spacing:.04em;
}
.met-pax-benchmark strong{font-size:var(--halley-fs-sm); color:var(--wlb-ink)}
.met-pax-benchmark > span:last-child{font-size:var(--halley-fs-xs)}
.met-num-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:var(--space-sm)}
.met-num-card{background:var(--wlb-beige); border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); padding:12px 14px; display:flex; flex-direction:column; gap:2px}
.met-num-valor{font-weight:900; font-size:21px; letter-spacing:-.02em; color:var(--wlb-ink); line-height:1.15}
.met-num-rotulo{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light); font-weight:600}
.met-num-sub{font-size:var(--halley-fs-2xs); color:var(--halley-muted-on-light); opacity:.85}
.met-sem{font-weight:600; font-size:var(--halley-fs-sm); color:var(--halley-muted-on-light); font-style:italic}

/* ── Metricas: lembrete do dia ── */
.met-lembrete{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:var(--space-md);
  padding:11px 14px; border-radius:var(--halley-radius-md); font-size:var(--halley-fs-sm); font-weight:600;
  background:rgba(217,117,89,.12); border:1px solid rgba(217,117,89,.4); color:var(--wlb-orange-ink);
}
.met-lembrete .btn-mini{margin-left:auto}
.met-lembrete.ok{background:var(--halley-good-bg); border-color:rgba(27,122,61,.35); color:var(--halley-good-ink)}

/* ── Metricas: seletor de dias ── */
.met-dias{display:flex; gap:6px; overflow-x:auto; padding:2px 2px 10px; margin-bottom:var(--space-md)}
.met-dias::-webkit-scrollbar{height:4px}
.met-dias::-webkit-scrollbar-thumb{background:rgba(30,27,46,.14); border-radius:2px}
.met-day{
  flex:0 0 auto; min-width:52px; min-height:56px; display:flex; flex-direction:column; align-items:center; gap:3px;
  padding:7px 8px; border-radius:var(--halley-radius-sm); border:1px solid rgba(30,27,46,.12);
  background:var(--wlb-white); cursor:pointer; font-family:'Lufga',sans-serif; color:var(--wlb-ink);
  transition:border-color var(--halley-duration-fast), background var(--halley-duration-fast);
}
.met-day:hover{border-color:rgba(30,27,46,.3)}
.met-day.sel{background:rgba(217,117,89,.14); border-color:var(--wlb-orange-ink)}
.met-day.met-day-today{box-shadow:inset 0 -3px 0 var(--wlb-lilac-deep)}
.met-day-data{font-weight:800; font-size:var(--halley-fs-sm)}
.met-day-marco{font-size:var(--halley-fs-2xs); color:var(--halley-muted-on-light); font-weight:700}
.met-day-ponto{width:6px; height:6px; border-radius:50%; background:rgba(30,27,46,.14)}
.met-day-ponto.cheio{background:var(--wlb-orange-ink)}

/* ── Metricas: formulario do snapshot ── */
.met-form-head{display:flex; align-items:flex-end; justify-content:space-between; gap:var(--space-md); flex-wrap:wrap; margin-bottom:var(--space-md)}
.met-form-head h2{font-weight:800; font-size:var(--halley-fs-lg)}
.met-fontes-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:var(--space-md)}
.met-fonte{background:var(--wlb-beige); border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); padding:14px}
.met-fonte-head{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px}
.met-fonte-head h3{font-weight:800; font-size:var(--halley-fs-base); line-height:1.25}
.met-fonte-selo{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:2px 7px; border-radius:var(--halley-radius-pill); background:var(--halley-good-bg); color:var(--halley-good-ink); white-space:nowrap}
.met-campos{display:grid; grid-template-columns:1fr 1fr; gap:9px}
.met-campo{margin-bottom:0}
.met-campo-largo{grid-column:1 / -1}
.met-campo .campo-rotulo{font-size:var(--halley-fs-2xs)}
.met-derivados{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px}
.met-chip{font-size:var(--halley-fs-2xs); font-weight:700; padding:3px 8px; border-radius:var(--halley-radius-pill); background:rgba(155,123,199,.16); color:var(--wlb-lilac-deep)}

/* ── Metricas: reguas de meta ── */
.met-meta-grupo{border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); padding:10px 14px; margin-bottom:var(--space-sm); background:var(--wlb-white)}
.met-meta-grupo summary{cursor:pointer; font-weight:800; font-size:var(--halley-fs-base); display:flex; align-items:center; gap:8px}
.met-vigente{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:2px 7px; border-radius:var(--halley-radius-pill); background:rgba(217,117,89,.16); color:var(--wlb-orange-ink)}
.met-grupo-contagem{margin-left:auto; font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light); font-weight:700}
.met-meta-lista{list-style:none; margin-top:var(--space-md); display:flex; flex-direction:column; gap:14px}
.met-meta-item{display:flex; flex-direction:column; gap:5px}
.met-meta-topo{display:flex; align-items:baseline; justify-content:space-between; gap:10px}
.met-meta-rotulo{font-size:var(--halley-fs-sm); font-weight:700; color:var(--wlb-ink)}
.met-meta-real{font-size:var(--halley-fs-sm); font-weight:800; padding:2px 8px; border-radius:var(--halley-radius-pill)}
.met-meta-real.bom{background:var(--halley-good-bg); color:var(--halley-good-ink)}
.met-meta-real.medio{background:var(--halley-medio-bg); color:var(--halley-medio-ink)}
.met-meta-real.ruim{background:var(--halley-ruim-bg); color:var(--halley-ruim-ink)}
.met-meta-real.sem{background:rgba(30,27,46,.06); color:var(--halley-muted-on-light); font-style:italic}
.met-meta-barra{position:relative; height:9px; border-radius:var(--halley-radius-pill); background:rgba(30,27,46,.08); overflow:visible}
.met-meta-fill{height:100%; border-radius:var(--halley-radius-pill); background:rgba(30,27,46,.24); transition:width var(--halley-duration-base)}
.met-meta-fill.bom{background:var(--halley-good-ink)}
.met-meta-fill.medio{background:var(--halley-medio-ink)}
.met-meta-fill.ruim{background:var(--halley-ruim-ink)}
.met-meta-marca{position:absolute; top:-3px; width:2px; height:15px; background:var(--wlb-ink); opacity:.45; border-radius:1px}
.met-meta-marca.ideal{background:var(--wlb-lilac-deep); opacity:.75}
.met-meta-legenda{display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:var(--halley-fs-2xs); color:var(--halley-muted-on-light)}

/* ── Metricas: serie por dia ── */
.met-serie{display:flex; align-items:flex-end; gap:6px; height:130px; overflow-x:auto; padding-bottom:4px}
.met-serie-col{flex:0 0 auto; width:38px; display:flex; flex-direction:column; align-items:center; gap:5px; height:100%}
.met-serie-barras{flex:1; display:flex; align-items:flex-end; gap:3px; width:100%}
.met-serie-barra{flex:1; border-radius:3px 3px 0 0; min-height:2px}
.met-serie-barra.leads{background:var(--wlb-orange-ink)}
.met-serie-barra.inv{background:var(--wlb-lilac-deep)}
.met-serie-dia{font-size:var(--halley-fs-2xs); color:var(--halley-muted-on-light)}
.met-serie-legenda{display:flex; gap:var(--space-md); flex-wrap:wrap; margin-top:10px; font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light)}
.met-serie-amostra{display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:5px}
.met-serie-amostra.leads{background:var(--wlb-orange-ink)}
.met-serie-amostra.inv{background:var(--wlb-lilac-deep)}

/* ── Debriefing ── */
.db-status{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:4px 10px; border-radius:var(--halley-radius-pill); background:rgba(30,27,46,.06); color:var(--halley-muted-on-light)}
.db-status.fechado{background:var(--halley-good-bg); color:var(--halley-good-ink)}
.db-previa{padding:10px 14px; margin-bottom:var(--space-md); border-radius:var(--halley-radius-md); background:rgba(155,123,199,.14); border:1px solid rgba(155,123,199,.4); color:var(--wlb-lilac-deep); font-size:var(--halley-fs-sm); font-weight:600}
.db-faltas{padding:12px 14px; margin-bottom:var(--space-md); border-radius:var(--halley-radius-md); background:var(--halley-medio-bg); border:1px solid rgba(138,90,0,.3); color:var(--halley-medio-ink); font-size:var(--halley-fs-sm)}
.db-faltas strong{display:block; margin-bottom:5px}
.db-faltas ul{list-style:disc; padding-left:18px; display:flex; flex-direction:column; gap:3px}
.db-identificacao{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:var(--space-sm)}
.db-identificacao dt{font-size:var(--halley-fs-2xs); text-transform:uppercase; letter-spacing:.1em; color:var(--halley-muted-on-light); font-weight:700}
.db-identificacao dd{font-size:var(--halley-fs-base); font-weight:600; color:var(--wlb-ink); margin-top:2px; line-height:1.4}
.db-kpi-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:var(--space-sm)}
.db-kpi{background:var(--wlb-beige); border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); padding:13px 15px; display:flex; flex-direction:column; gap:3px}
.db-kpi.vazio{opacity:.68}
.db-kpi-valor{font-weight:900; font-size:23px; letter-spacing:-.025em; color:var(--wlb-ink); line-height:1.1}
.db-kpi-rotulo{font-size:var(--halley-fs-xs); font-weight:700; color:var(--wlb-ink); opacity:.8}
.db-kpi-esperado{font-size:var(--halley-fs-2xs); color:var(--halley-muted-on-light)}
.db-delta{font-weight:700; margin-left:5px; white-space:nowrap}
.db-delta.bom{color:var(--halley-good-ink)}
.db-delta.ruim{color:var(--halley-ruim-ink)}
.db-delta.neutro{color:var(--halley-muted-on-light)}
.db-tabela-wrap{overflow-x:auto}
.db-tabela{width:100%; border-collapse:collapse; font-size:var(--halley-fs-sm); min-width:520px}
.db-tabela th,.db-tabela td{padding:8px 10px; text-align:left; border-bottom:1px solid rgba(30,27,46,.08); vertical-align:top}
.db-tabela thead th{font-size:var(--halley-fs-2xs); text-transform:uppercase; letter-spacing:.08em; color:var(--halley-muted-on-light); font-weight:700}
.db-tabela tbody th{font-weight:700; color:var(--wlb-ink)}
.db-td-num{white-space:nowrap; font-variant-numeric:tabular-nums}
.db-zona{padding:2px 7px; border-radius:var(--halley-radius-pill); font-weight:700}
.db-zona.bom{background:var(--halley-good-bg); color:var(--halley-good-ink)}
.db-zona.medio{background:var(--halley-medio-bg); color:var(--halley-medio-ink)}
.db-zona.ruim{background:var(--halley-ruim-bg); color:var(--halley-ruim-ink)}
.db-zona.sem{background:rgba(30,27,46,.06); color:var(--halley-muted-on-light); font-style:italic; font-weight:600}
.db-vendas-dias{list-style:none; display:flex; flex-direction:column; gap:8px; margin-bottom:var(--space-sm)}
.db-vendas-dias li{display:grid; grid-template-columns:150px 1fr 170px; align-items:center; gap:10px; font-size:var(--halley-fs-sm)}
.db-vd-dia{font-weight:700; color:var(--wlb-ink)}
.db-vd-barra{height:10px; border-radius:var(--halley-radius-pill); background:rgba(30,27,46,.08); overflow:hidden}
.db-vd-barra span{display:block; height:100%; background:var(--wlb-orange-ink); border-radius:var(--halley-radius-pill)}
.db-vd-num{text-align:right; color:var(--halley-muted-on-light); font-variant-numeric:tabular-nums}
.db-origem{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-lg)}
.db-origem-col h4{font-size:var(--halley-fs-xs); text-transform:uppercase; letter-spacing:.1em; color:var(--halley-muted-on-light); font-weight:700; margin-bottom:8px}
.db-origem-lista,.db-etapas{list-style:none; display:flex; flex-direction:column; gap:6px}
.db-origem-lista li,.db-etapas li{display:flex; align-items:center; gap:8px; font-size:var(--halley-fs-sm); padding:6px 0; border-bottom:1px solid rgba(30,27,46,.06)}
.db-origem-lista li strong,.db-etapas li strong{margin-left:auto; font-variant-numeric:tabular-nums}
.db-origem-pct{font-size:var(--halley-fs-2xs); color:var(--halley-muted-on-light); min-width:44px; text-align:right}
.db-testes{list-style:none; display:flex; flex-direction:column; gap:var(--space-sm)}
.db-testes li{background:var(--wlb-beige); border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); padding:12px 14px}
.db-teste-top{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:6px}
.db-teste-var{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:2px 8px; border-radius:var(--halley-radius-pill); background:rgba(155,123,199,.16); color:var(--wlb-lilac-deep)}
.db-teste-aberto{font-size:var(--halley-fs-2xs); font-weight:700; color:var(--halley-muted-on-light)}
.db-matriz{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-md)}
.db-matriz-col{background:var(--wlb-beige); border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); padding:14px; border-top:3px solid rgba(30,27,46,.2)}
.db-matriz-col.repetir{border-top-color:var(--halley-good-ink)}
.db-matriz-col.parar{border-top-color:var(--halley-ruim-ink)}
.db-matriz-col.testar{border-top-color:var(--wlb-lilac-deep)}
.db-matriz-col h3{font-weight:800; font-size:var(--halley-fs-md)}
.db-matriz-lista{list-style:none; display:flex; flex-direction:column; gap:6px; margin:10px 0}
.db-matriz-lista li{display:flex; align-items:flex-start; gap:8px; font-size:var(--halley-fs-sm); line-height:1.45; background:var(--wlb-white); border:var(--halley-border-on-light); border-radius:var(--halley-radius-sm); padding:7px 9px}
.db-matriz-lista li span{flex:1}
.db-matriz-vazio{color:var(--halley-muted-on-light); font-style:italic; background:none !important; border:none !important; padding:0 !important}
.db-matriz-add{display:flex; gap:6px}
.db-matriz-add input{flex:1; font-family:'Lufga',sans-serif; font-size:var(--halley-fs-sm); padding:8px 10px; min-height:38px; border-radius:var(--halley-radius-sm); border:1px solid rgba(30,27,46,.16); background:var(--wlb-white); color:var(--wlb-ink)}
.db-aprendizados{display:flex; flex-direction:column; gap:var(--space-sm)}
.db-aprendizado{background:var(--wlb-beige); border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); padding:12px; display:flex; flex-direction:column; gap:7px}
.db-apr-titulo,.db-apr-texto{font-family:'Lufga',sans-serif; font-size:var(--halley-fs-base); color:var(--wlb-ink); background:var(--wlb-white); border:1px solid rgba(30,27,46,.16); border-radius:var(--halley-radius-sm); padding:8px 10px; width:100%}
.db-apr-titulo{font-weight:700}
.db-apr-texto{resize:vertical; line-height:1.5}
.db-aprendizado .btn-texto-perigo{align-self:flex-start}

/* ── Historico ── */
.hist-dia{margin-bottom:var(--space-lg)}
.hist-dia-titulo{display:flex; align-items:center; gap:8px; font-weight:800; font-size:var(--halley-fs-base); color:var(--wlb-ink); margin-bottom:var(--space-sm)}
.hist-dia-contagem{font-size:var(--halley-fs-2xs); font-weight:700; padding:2px 8px; border-radius:var(--halley-radius-pill); background:rgba(30,27,46,.07); color:var(--halley-muted-on-light)}
.hist-lista{list-style:none; display:flex; flex-direction:column; gap:6px}
.hist-item{display:flex; gap:12px; background:var(--wlb-white); border:var(--halley-border-on-light); border-left:3px solid rgba(30,27,46,.2); border-radius:var(--halley-radius-sm); padding:10px 13px}
.hist-item.acao-criou{border-left-color:var(--halley-good-ink)}
.hist-item.acao-alterou{border-left-color:var(--wlb-orange-ink)}
.hist-item.acao-removeu{border-left-color:var(--halley-ruim-ink)}
.hist-hora{font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light); font-variant-numeric:tabular-nums; padding-top:1px; flex-shrink:0}
.hist-corpo{flex:1; min-width:0}
.hist-linha{display:flex; align-items:baseline; gap:7px; flex-wrap:wrap; font-size:var(--halley-fs-sm)}
.hist-acao{font-weight:800; color:var(--wlb-ink)}
.hist-entidade{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:2px 7px; border-radius:var(--halley-radius-pill); background:rgba(30,27,46,.06); color:var(--halley-muted-on-light)}
.hist-titulo{color:var(--wlb-ink); opacity:.82; overflow-wrap:anywhere}
.hist-diff{list-style:none; margin-top:6px; display:flex; flex-direction:column; gap:3px}
.hist-diff li{display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; font-size:var(--halley-fs-xs)}
.hist-campo{font-weight:700; color:var(--wlb-ink)}
.hist-de{color:var(--halley-muted-on-light); text-decoration:line-through}
.hist-seta{color:var(--wlb-orange-ink); font-weight:700}
.hist-para{color:var(--wlb-ink); font-weight:600; overflow-wrap:anywhere}
.hist-rodape{display:flex; gap:12px; margin-top:6px; font-size:var(--halley-fs-2xs); color:var(--halley-muted-on-light)}
.hist-rodape a{color:var(--wlb-orange-ink); font-weight:700; text-decoration:none}
.hist-rodape a:hover{text-decoration:underline}

/* ── TikTok + Carrossel: produção de conteúdo do lançamento ── */
.conteudo-kpis{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-md); margin-bottom:var(--space-md)}
.conteudo-kpi{background:var(--wlb-white); border:var(--halley-border-on-light); border-top:3px solid var(--wlb-lilac-mid); border-radius:var(--halley-radius-md); padding:15px 17px; box-shadow:var(--halley-shadow-sm)}
.conteudo-kpi strong{display:block; font-size:27px; line-height:1; font-weight:900; color:var(--wlb-ink); letter-spacing:-.03em}
.conteudo-kpi strong span{font-size:15px; color:var(--halley-muted-on-light); margin-left:2px}
.conteudo-kpi small{display:block; margin-top:7px; font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light)}
.conteudo-kpi.alerta{border-top-color:var(--halley-medio-ink)}
.conteudo-kpi.ok{border-top-color:var(--halley-good-ink)}
.conteudo-gerador-campos{display:grid; grid-template-columns:minmax(170px,1fr) 130px auto; align-items:end; gap:var(--space-md)}
.conteudo-gerador-campos .campo{margin:0}
.conteudo-gerador-campos .btn-primary-sm{min-height:40px}
.conteudo-periodo{display:flex; justify-content:space-between; align-items:center; gap:var(--space-md); flex-wrap:wrap; margin-top:var(--space-md); padding-top:var(--space-md); border-top:1px solid rgba(30,27,46,.08); font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light)}
.conteudo-lista-head{display:flex; align-items:center; justify-content:space-between; margin:var(--space-lg) 0 var(--space-sm)}
.conteudo-lista-head h2{font-size:var(--halley-fs-lg)}
.conteudo-lista{display:flex; flex-direction:column; gap:var(--space-sm)}
.conteudo-vazio{background:var(--wlb-white); border:1px dashed rgba(30,27,46,.18); border-radius:var(--halley-radius-md); padding:var(--space-xl); text-align:center; color:var(--halley-muted-on-light); font-size:var(--halley-fs-sm)}
.conteudo-editor{background:var(--wlb-white); border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); box-shadow:var(--halley-shadow-sm); overflow:hidden}
.conteudo-editor[open]{border-color:rgba(155,123,199,.5)}
.conteudo-editor > summary{display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px 15px; cursor:pointer; list-style:none}
.conteudo-editor > summary::-webkit-details-marker{display:none}
.conteudo-editor > summary:hover{background:rgba(155,123,199,.06)}
.conteudo-editor > summary strong{display:block; font-size:var(--halley-fs-base); color:var(--wlb-ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.conteudo-editor > summary small{display:block; margin-top:2px; font-size:var(--halley-fs-xs); color:var(--halley-muted-on-light)}
.conteudo-numero{display:inline-flex; width:28px; height:28px; align-items:center; justify-content:center; border-radius:50%; background:rgba(155,123,199,.15); color:var(--wlb-lilac-deep); font-size:var(--halley-fs-xs); font-weight:800}
.conteudo-status{font-size:var(--halley-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--wlb-orange-ink); background:rgba(217,117,89,.13); border-radius:var(--halley-radius-pill); padding:3px 8px}
.conteudo-status.st-final{color:var(--halley-muted-on-light); background:rgba(30,27,46,.07)}
.conteudo-status.st-agendado{color:var(--wlb-lilac-deep); background:rgba(155,123,199,.16)}
.conteudo-status.st-publicado{color:#175b43; background:#eaf8f1}
.conteudo-editor-corpo{padding:var(--space-md); border-top:1px solid rgba(30,27,46,.08)}
.conteudo-editor .campo textarea{resize:none; overflow:hidden}
.conteudo-editor-corpo .sub-bloco{margin-top:0; padding-top:0; border-top:0; margin-bottom:var(--space-md)}
.conteudo-linhas{display:flex; flex-direction:column; gap:7px}
.conteudo-linha{display:grid; grid-template-columns:minmax(120px,.6fr) minmax(240px,2fr) auto; gap:7px; align-items:start}
.conteudo-linha input,.conteudo-linha textarea{
  width:100%; min-height:38px; padding:8px 10px; border:1px solid rgba(30,27,46,.16); border-radius:var(--halley-radius-sm);
  background:var(--wlb-beige); color:var(--wlb-ink); font:var(--halley-fs-sm)/1.45 'Lufga',sans-serif; resize:none; overflow:hidden;
}
.conteudo-linha input:focus,.conteudo-linha textarea:focus{outline:none; border-color:var(--wlb-orange-ink); box-shadow:0 0 0 3px rgba(217,117,89,.14)}
.conteudo-editor-acoes{display:flex; justify-content:space-between; align-items:center; gap:var(--space-md); flex-wrap:wrap; margin-top:var(--space-sm)}
.conteudo-spec{display:flex; flex-wrap:wrap; gap:6px; margin:0 0 var(--space-md)}
.conteudo-spec span{font-size:var(--halley-fs-2xs); font-weight:700; color:var(--wlb-lilac-deep); background:rgba(155,123,199,.13); border-radius:var(--halley-radius-pill); padding:3px 8px}
.render-acoes{display:flex; align-items:center; justify-content:flex-end; gap:var(--space-sm); flex-wrap:wrap}
.render-download{text-decoration:none; display:inline-flex; align-items:center}
.render-preview-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(105px,1fr)); gap:8px; margin:var(--space-md) 0}
.render-preview-grid figure{display:block; margin:0; border-radius:var(--halley-radius-sm); overflow:hidden; border:var(--halley-border-on-light); background:var(--wlb-beige)}
.render-preview-grid img{display:block; width:100%; aspect-ratio:4/5; object-fit:cover}
.tiktok-toolbar{display:flex; align-items:end; justify-content:space-between; gap:var(--space-lg); min-width:0; max-width:100%; padding:var(--space-md); border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); background:var(--wlb-white); box-shadow:var(--halley-shadow-sm)}
.tiktok-dia-filtro{width:min(100%,320px); min-width:0; margin:0}
.tiktok-dia-filtro select{min-height:44px; max-width:100%; cursor:pointer}
.tiktok-toolbar-resumo{display:flex; align-items:baseline; justify-content:flex-end; flex-wrap:wrap; gap:7px; min-width:0; color:var(--halley-muted-on-light); font-size:var(--halley-fs-sm)}
.tiktok-toolbar-resumo strong{color:var(--wlb-ink); font-size:var(--halley-fs-xl); line-height:1; letter-spacing:-.03em}
.tiktok-final-grid{display:grid; grid-template-columns:minmax(240px,380px) minmax(280px,1fr); gap:var(--space-lg); align-items:start; min-width:0}
.tiktok-final-grid>*{min-width:0; max-width:100%}
.tiktok-preview{display:block; width:100%; min-width:0; max-width:100%; margin:0}
.tiktok-preview video{display:block; width:100%; max-width:100%; aspect-ratio:9/16; border-radius:var(--halley-radius-md); background:#000}
.tt-argumentos{margin-top:var(--space-sm)}
.tt-argumentos-lista{display:flex; flex-direction:column; gap:var(--space-xs)}
.tt-argumento-linha{display:flex; gap:var(--space-xs); align-items:center; flex-wrap:wrap}
.tt-argumento-linha input{flex:1 1 180px; min-width:0}
.tt-argumento-estilo{flex:0 0 auto; width:auto; min-width:0}
.tt-argumentos-acoes{display:flex; gap:var(--space-xs); margin-top:var(--space-xs); flex-wrap:wrap}
.tiktok-preview-modo{display:flex; gap:var(--space-xs); margin-top:var(--space-sm)}
.tiktok-preview-modo .btn-mini{flex:1}
.tiktok-preview-vazio{display:grid; place-items:center; width:100%; aspect-ratio:9/16; padding:var(--space-lg); text-align:center; border:var(--halley-border-on-light); border-radius:var(--halley-radius-md); background:var(--wlb-beige); color:var(--wlb-lilac-deep); font-size:var(--halley-fs-sm); font-weight:700}
.tiktok-final-panel{display:flex; flex-direction:column; gap:var(--space-md); min-width:0; padding-top:2px}
.tiktok-final-panel .tt-hook{min-height:86px; field-sizing:content; line-height:1.45}
.tiktok-musica-editor{min-width:0; overflow:hidden; border:1px solid var(--border-subtle); border-radius:var(--halley-radius-md); background:var(--surface-soft)}
.tiktok-musica-editor > summary,.tiktok-musica-resumo{display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); min-width:0; padding:11px 13px; cursor:pointer; list-style:none}
.tiktok-musica-editor > summary::-webkit-details-marker{display:none}
.tiktok-musica-editor > summary > span:first-child,.tiktok-musica-resumo > span:first-child{min-width:0}
.tiktok-musica-editor > summary strong,.tiktok-musica-resumo strong{display:block; color:var(--text-primary); font-size:var(--halley-fs-sm)}
.tiktok-musica-editor > summary small,.tiktok-musica-resumo small{display:block; margin-top:3px; overflow:hidden; color:var(--text-secondary); font-size:var(--halley-fs-xs); line-height:1.35; text-overflow:ellipsis; white-space:nowrap}
.tiktok-musica-trocar{flex:0 0 auto; color:var(--accent-primary); font-size:var(--halley-fs-xs); font-weight:800}
.tiktok-musica-corpo{display:flex; flex-direction:column; gap:var(--space-sm); padding:13px; border-top:1px solid var(--border-subtle); background:var(--surface-raised)}
.tiktok-musica-corpo .campo{margin:0}
.tt-musica-audio{display:block; width:100%; min-height:44px}
.tiktok-trecho-controle{display:flex; flex-direction:column; gap:8px; padding:11px 12px; border:1px solid var(--border-subtle); border-radius:var(--halley-radius-sm); background:var(--surface-soft)}
.tiktok-trecho-topo{display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-md)}
.tt-musica-tempo{font-variant-numeric:tabular-nums; color:var(--text-primary); font-size:var(--halley-fs-sm); font-weight:800}
.tt-musica-inicio,
#tt-criador-inicio{width:100%; min-height:44px; accent-color:var(--accent-primary); cursor:pointer}
.tiktok-trecho-acoes{display:flex; flex-wrap:wrap; gap:var(--space-sm)}
.tt-aplicar-musica{align-self:flex-start}
.tiktok-final-actions{display:flex; flex-wrap:wrap; gap:var(--space-sm); align-items:center}
.tiktok-final-actions .render-download{text-decoration:none}
.tiktok-criador{display:flex; flex-direction:column; gap:var(--space-lg); margin-bottom:var(--space-lg); padding:var(--space-lg); border:1px solid rgba(155,123,199,.42); border-radius:var(--halley-radius-lg); background:linear-gradient(145deg,var(--wlb-white),var(--surface-soft)); box-shadow:var(--halley-shadow-md)}
.tiktok-criador-head{display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-lg)}
.tiktok-criador-head h2{margin:3px 0 5px; color:var(--text-primary); font-size:var(--halley-fs-xl)}
.tiktok-criador-head p{max-width:720px; margin:0; color:var(--text-secondary); font-size:var(--halley-fs-sm); line-height:1.5}
.tiktok-criador-campos{display:grid; grid-template-columns:minmax(180px,240px) minmax(280px,1fr); gap:var(--space-md); align-items:start}
.tiktok-criador-campos .campo{margin:0}
.tiktok-criador-titulo-campo textarea{min-height:74px; field-sizing:content; resize:none; overflow:hidden; line-height:1.45}
.tiktok-template-fieldset{min-width:0; margin:0; padding:0; border:0}
.tiktok-template-fieldset legend{margin-bottom:9px; color:var(--text-primary); font-size:var(--halley-fs-sm); font-weight:800}
.tiktok-template-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-sm)}
.tiktok-template-card{position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); gap:11px; min-width:0; min-height:116px; padding:14px; cursor:pointer; border:1px solid var(--border-subtle); border-radius:var(--halley-radius-md); background:var(--surface-raised); transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.tiktok-template-card:hover{border-color:rgba(155,123,199,.58); transform:translateY(-1px)}
.tiktok-template-card:has(input:focus-visible){outline:3px solid rgba(155,123,199,.28); outline-offset:2px}
.tiktok-template-card.selecionado{border-color:var(--accent-primary); box-shadow:0 0 0 2px rgba(155,123,199,.12)}
.tiktok-template-card input{position:absolute; width:1px; height:1px; opacity:.01; pointer-events:none}
.tiktok-template-codigo{display:grid; place-items:center; width:38px; height:38px; border-radius:999px; background:var(--surface-soft); color:var(--accent-primary); font-size:var(--halley-fs-sm); font-weight:900}
.tiktok-template-card.selecionado .tiktok-template-codigo{background:var(--accent-primary); color:var(--wlb-white)}
.tiktok-template-copy{display:flex; flex-direction:column; min-width:0}
.tiktok-template-copy strong{color:var(--text-primary); font-size:var(--halley-fs-base)}
.tiktok-template-copy small{margin-top:4px; color:var(--text-secondary); font-size:var(--halley-fs-xs); line-height:1.42}
.tiktok-template-copy em{margin-top:auto; padding-top:7px; color:var(--accent-primary); font-size:var(--halley-fs-xs); font-style:normal; font-weight:800}
.tiktok-criador-musica{display:grid; grid-template-columns:minmax(230px,1fr) minmax(300px,1.35fr); gap:var(--space-md); align-items:end; padding:var(--space-md); border:1px solid var(--border-subtle); border-radius:var(--halley-radius-md); background:var(--surface-raised)}
.tiktok-criador-musica .campo{margin:0}
.tiktok-criador-musica audio{display:block; width:100%; min-height:44px}
.tiktok-criador-musica .tiktok-trecho-controle{grid-column:1/-1}
.tiktok-criador-musica #tt-criador-inicio{width:100%; min-height:44px; accent-color:var(--accent-primary); cursor:pointer}
.tiktok-criador-musica #tt-criador-tempo{font-variant-numeric:tabular-nums; color:var(--text-primary); font-size:var(--halley-fs-sm); font-weight:800}
.tiktok-criador-footer{display:flex; align-items:center; justify-content:space-between; gap:var(--space-lg); padding-top:var(--space-sm); border-top:1px solid var(--border-subtle)}
.tiktok-criador-footer p{margin:0; color:var(--text-secondary); font-size:var(--halley-fs-sm)}
.tiktok-criador button,.tiktok-criador select{min-height:44px}

/* ============================================================
   MERCADO
   ============================================================ */
.merc-resumo-topo{display:flex; flex-wrap:wrap; gap:var(--space-md); margin-bottom:var(--space-md); font-size:var(--halley-fs-sm); color:var(--text-secondary)}
.merc-resumo-topo strong{color:var(--text-primary); font-size:var(--halley-fs-md)}
.merc-concorrentes-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px}
.merc-concorrente{border:1px solid var(--border-subtle); border-radius:14px; padding:14px; background:var(--surface-raised); min-width:0}
.merc-concorrente.excluido{opacity:.7; border-style:dashed}
.merc-concorrente-topo{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; margin-bottom:4px}
.merc-concorrente-topo strong{color:var(--text-primary)}
.merc-evento{font-size:var(--halley-fs-xs); color:var(--text-secondary)}
.merc-concorrente-metricas{display:flex; flex-wrap:wrap; gap:6px 12px; font-size:var(--halley-fs-xs); color:var(--text-secondary); margin:8px 0 4px}
.merc-concorrente-metricas strong{color:var(--text-primary)}
.merc-excluido-aviso{font-size:var(--halley-fs-xs); color:#6e2c22; margin:0}

.merc-ranking-lista{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px}
.merc-ranking-item{display:flex; align-items:center; gap:12px; padding:10px 12px; border:1px solid var(--border-subtle); border-radius:12px; background:var(--surface-raised)}
.merc-ranking-numero{flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:var(--accent-primary); color:#fff; font-weight:800; font-size:12px; display:flex; align-items:center; justify-content:center}
.merc-ranking-corpo{flex:1; min-width:0}
.merc-hook-texto{margin:0 0 3px; color:var(--text-primary); font-size:var(--halley-fs-sm); line-height:1.4}
.merc-leitura{margin-top:var(--space-md); padding-top:var(--space-md); border-top:1px solid var(--border-subtle)}
.merc-leitura h3{font-size:14px; margin:0 0 8px; color:var(--text-primary)}
.merc-leitura ul{margin:0; padding-left:18px; color:var(--text-secondary); font-size:var(--halley-fs-sm); line-height:1.5}

.merc-catalogo-filtros{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px}
.merc-catalogo-filtros input[type="search"]{flex:1; min-width:220px}
.merc-check{display:flex; align-items:center; gap:7px; padding:8px 12px; border:1px solid var(--border-subtle); border-radius:10px; background:var(--surface-raised); font-size:var(--halley-fs-xs); color:var(--text-primary); cursor:pointer}
.merc-hooks-lista{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; max-height:640px; overflow-y:auto}
.merc-hook-linha{display:flex; align-items:flex-start; gap:10px; padding:9px 10px; border:1px solid var(--border-subtle); border-radius:10px; background:var(--surface-raised)}
.merc-hook-corpo{flex:1; min-width:0}
.merc-favorito{flex:0 0 44px; align-self:center; display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0; background:none; border:none; font-size:18px; line-height:1; cursor:pointer; color:#c9a227}
.merc-favorito.ativo{color:#c9a227}

.merc-subbloco{min-width:0; padding:16px; border:1px solid var(--border-subtle); border-radius:14px; background:var(--surface-soft)}
.merc-subbloco h3{font-size:14px; margin:0 0 10px; color:var(--text-primary)}
.merc-subbloco ul{margin:8px 0; padding-left:18px; font-size:var(--halley-fs-sm); color:var(--text-secondary); line-height:1.5}

.merc-anuncios-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px}
.merc-anuncio{border:1px solid var(--border-subtle); border-radius:14px; padding:14px; background:var(--surface-raised); min-width:0}
.merc-anuncio-topo{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px}
.merc-status-pill{font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; padding:4px 9px; border-radius:99px; color:#6f4a0a; background:#fff7df; border:1px solid #ecd294}
.merc-anuncio.sem-evidencia .merc-status-pill{color:#175b43; background:#eaf8f1; border-color:#b8dfcf}
.merc-anuncio.confirmado .merc-status-pill{color:#6e2c22; background:#fff0eb; border-color:#f2c3b6}
.merc-limitacao{font-size:var(--halley-fs-xs); color:var(--text-secondary); background:var(--surface-soft); border:1px solid var(--border-subtle); border-radius:10px; padding:9px 12px; margin-bottom:12px}
.merc-recomendacoes{margin:0; padding-left:18px; color:var(--text-secondary); font-size:var(--halley-fs-sm); line-height:1.6}

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width:960px){
  .dash-grid{grid-template-columns:1fr}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .bloco-corpo-2col{grid-template-columns:1fr}
  .oferta-grid{grid-template-columns:1fr}
  .campo-linha-4{grid-template-columns:repeat(2,1fr)}
  .mc-timeline{grid-template-columns:repeat(3,1fr)}
  .tiktok-criador-musica{grid-template-columns:1fr}
  .tiktok-criador-musica .tiktok-trecho-controle{grid-column:auto}
}
@media (max-width:880px){
  .shell,.home-shell{flex-direction:column; height:auto; min-height:100vh; overflow:visible}
  body.workspace,body.home{overflow:auto}
  .sidebar{width:100%; max-height:52vh}
  .sidebar-home{width:100%; max-height:60vh}
  .view{padding:var(--space-xl) var(--space-md) 48px}
  .top-bar{padding:0 var(--space-md); flex-wrap:wrap; min-height:0; padding-top:8px; padding-bottom:8px}
  .ptabs{padding:0 var(--space-md)}
  .content{padding:var(--space-md)}
}
@media (max-width:560px){
  .stats-row{grid-template-columns:1fr}
  .toast-region{left:var(--space-md); right:var(--space-md); max-width:none}
  .campo-linha-2,.campo-linha-3,.campo-linha-4{grid-template-columns:1fr}
  .combo-linha{grid-template-columns:1fr 1fr; gap:6px}
  .mc-timeline{grid-template-columns:repeat(2,1fr)}
  .filtro{min-width:100%}
  .cal-col{flex:0 0 82vw; width:82vw}
  .an-grid,.cal-lista-cards,.pg-grid,.ta-grid{grid-template-columns:1fr}
  .beat-linha{grid-template-columns:1fr; gap:4px}
  .met-campos{grid-template-columns:1fr}
  .met-pax-total{width:100%; align-items:flex-start}
  .met-pax-benchmark{grid-template-columns:1fr}
  .db-matriz,.db-origem{grid-template-columns:1fr}
  .db-vendas-dias li{grid-template-columns:1fr; gap:4px}
  .db-vd-num{text-align:left}
  .conteudo-kpis{grid-template-columns:1fr}
  .conteudo-gerador-campos,.conteudo-linha{grid-template-columns:1fr}
  .conteudo-editor > summary{grid-template-columns:auto minmax(0,1fr)}
  .conteudo-editor > summary .conteudo-status{grid-column:2}
  .tiktok-toolbar{align-items:stretch; flex-direction:column; gap:var(--space-sm)}
  .tiktok-dia-filtro{width:100%}
  .tiktok-toolbar-resumo{justify-content:flex-start}
  .tiktok-final-grid{grid-template-columns:1fr}
  .tiktok-preview{max-width:380px}
  .tiktok-musica-editor > summary,.tiktok-musica-resumo{align-items:flex-start; flex-direction:column; gap:7px}
  .tiktok-musica-editor > summary small,.tiktok-musica-resumo small{white-space:normal; overflow-wrap:anywhere}
  .tt-aplicar-musica{width:100%}
  .tiktok-criador{padding:var(--space-md)}
  .tiktok-criador-head,.tiktok-criador-footer{align-items:stretch; flex-direction:column}
  .tiktok-criador-campos,.tiktok-template-grid{grid-template-columns:1fr}
  .tiktok-criador-footer .btn-primary-sm{width:100%}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important}
}

/* ============================================================
   Fase 7, integracoes (Claude CLI + Metricool). Reusa os tokens ja
   declarados no :root (§8 produto, --halley-*): nenhuma cor nova.
   ============================================================ */
.claude-texto{
  white-space:pre-wrap; word-break:break-word; max-height:50vh; overflow-y:auto;
  background:var(--wlb-beige); border:var(--halley-border-on-light); border-radius:var(--halley-radius-sm);
  padding:var(--space-md); font-family:inherit; font-size:var(--halley-fs-sm); line-height:1.6; color:var(--wlb-ink);
}
.integracao-aviso{
  display:flex; align-items:flex-start; gap:var(--space-sm);
  background:var(--halley-medio-bg); color:var(--halley-medio-ink);
  border-radius:var(--halley-radius-sm); padding:10px 14px; font-size:var(--halley-fs-sm); line-height:1.5;
}
.integracao-aviso code{font-family:ui-monospace,monospace; font-size:.92em; background:rgba(0,0,0,.06); padding:1px 5px; border-radius:4px}
.integracao-aviso-icone{flex:0 0 auto; margin-top:1px}
.integracao-ok{
  display:flex; align-items:center; gap:var(--space-sm); flex-wrap:wrap;
  font-size:var(--halley-fs-sm); color:var(--halley-muted-on-light);
}
.integracao-ok .btn-mini{margin-left:auto}
.met-crm-lista{display:flex; flex-direction:column; gap:6px; margin-bottom:var(--space-sm)}
.met-crm-linha{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 12px; border:1px solid var(--halley-border-on-light); border-radius:var(--halley-radius-sm); background:var(--wlb-white); font-size:var(--halley-fs-sm)}
.met-crm-linha strong{font-size:var(--halley-fs-md); color:var(--wlb-ink)}
.ag-resumo{
  background:var(--wlb-beige); border:var(--halley-border-on-light); border-radius:var(--halley-radius-sm);
  padding:var(--space-md); font-size:var(--halley-fs-sm); line-height:1.7;
}
.ag-resumo strong{color:var(--wlb-ink)}

/* ============================================================
   PREMIUM MULTI-MARCA — camada de composição e acessibilidade.
   Os seletores antigos continuam válidos para compatibilidade, mas esta
   camada aplica papéis semânticos, contraste AA, alvos de 44px e hierarquia
   coerente em WLB, WLC e WLH.
   ============================================================ */
body.home,body.workspace{background:var(--surface-canvas); color:var(--text-primary)}
.main-home,.main{
  background:
    radial-gradient(circle at 92% -8%,color-mix(in srgb,var(--accent-soft) 72%,transparent) 0,transparent 34%),
    var(--surface-canvas);
}
.sidebar,.sidebar-home{background:var(--surface-dark); color:var(--text-on-dark)}
.top-bar,.ptabs{background:color-mix(in srgb,var(--surface-raised) 94%,transparent); border-color:var(--border-subtle); backdrop-filter:blur(18px) saturate(118%)}
.top-bar{box-shadow:0 1px 0 var(--border-subtle)}
.content{scrollbar-gutter:stable}

.ui-icon,.ptab-icon,.ph-icon{
  display:block; flex:0 0 auto; width:18px; height:18px; fill:none; stroke:currentColor;
  stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;
}
.ph-icon{width:40px; height:40px; margin:0 auto var(--space-md); color:var(--accent-primary)}
.ptab-icon{width:17px; height:17px}
.loading-state{
  min-height:180px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:12px; color:var(--text-secondary); font-size:var(--halley-fs-sm);
}
.loading-spinner{
  width:28px; height:28px; border:3px solid color-mix(in srgb,var(--accent-primary) 18%,transparent);
  border-top-color:var(--accent-primary); border-radius:50%; animation:halley-spin .8s linear infinite;
}
@keyframes halley-spin{to{transform:rotate(360deg)}}

.brand-btn,.btn-new-lancamento{background:transparent; border:1px solid color-mix(in srgb,var(--text-on-dark) 24%,transparent); color:var(--text-on-dark-muted)}
.brand-btn:hover{color:var(--text-on-dark); border-color:color-mix(in srgb,var(--text-on-dark) 50%,transparent)}
.brand-btn.active,.btn-new-lancamento{background:var(--action-primary); border-color:var(--action-primary); color:var(--action-on-primary)}
.brand-btn.active:hover,.btn-new-lancamento:hover{background:var(--action-hover); border-color:var(--action-hover)}
.sb-title{color:var(--text-on-dark)}
.sb-title .chalk{color:color-mix(in srgb,var(--accent-soft) 86%,white)}
.sb-sub,.sb-user,.sidebar-empty,.lc-tipo{color:var(--text-on-dark-muted); opacity:1}
.lc-nome{color:color-mix(in srgb,var(--text-on-dark) 78%,transparent)}
.lc-item.active{
  background:color-mix(in srgb,var(--brand-signature) 20%,transparent);
  box-shadow:inset 3px 0 0 var(--brand-signature);
}
.lc-item.active::before{display:none}
.lc-item.active .lc-marco{background:color-mix(in srgb,var(--brand-signature) 24%,transparent); color:var(--text-on-dark)}
.sb-inbox-label{color:color-mix(in srgb,var(--brand-signature) 72%,white)}
.sb-search,.sb-search-input{color:var(--text-on-dark); border-color:color-mix(in srgb,var(--text-on-dark) 22%,transparent)}
.sb-search::placeholder,.sb-search-input::placeholder{color:var(--text-on-dark-muted); opacity:.9}

.card,.stat-card,.launch-card,.bloco,.conteudo-editor,.conteudo-kpi,.met-num-card,.met-pax-card,.hist-item,.content-placeholder{
  background:var(--surface-raised); border-color:var(--border-subtle); border-radius:var(--radius-card);
  box-shadow:0 3px 12px -5px rgba(var(--shadow-rgb),.16),0 18px 44px -30px rgba(var(--shadow-rgb),.25);
}
.bloco:hover,.conteudo-editor[open],.launch-card:hover{
  border-color:color-mix(in srgb,var(--accent-primary) 34%,var(--border-subtle));
}
.modal-card{
  background:var(--surface-raised); color:var(--text-primary); border-color:color-mix(in srgb,var(--accent-primary) 28%,var(--border-subtle));
  border-radius:var(--radius-modal); box-shadow:0 30px 80px -28px rgba(var(--shadow-rgb),.54);
}
.modal-overlay{background:rgba(7,8,18,.66); backdrop-filter:blur(12px) saturate(120%)}

.btn-primary-sm,.btn-primary-lg,.btn.destaque,.btn-mini.destaque{
  background:var(--action-primary); color:var(--action-on-primary); border-color:var(--action-primary);
}
.btn-primary-sm:hover,.btn-primary-lg:hover,.btn.destaque:hover,.btn-mini.destaque:hover{background:var(--action-hover); border-color:var(--action-hover)}
.ptab{color:var(--text-secondary); transition:color var(--halley-duration-fast) var(--ease-premium),background var(--halley-duration-fast) var(--ease-premium),border-color var(--halley-duration-fast) var(--ease-premium)}
.ptab:hover{color:var(--text-primary); background:color-mix(in srgb,var(--accent-soft) 45%,transparent)}
.ptab[aria-selected="true"]{color:var(--accent-primary); border-bottom-color:var(--accent-primary)}
.ptabs::-webkit-scrollbar{height:4px}
.ptabs::-webkit-scrollbar-track{background:transparent}
.ptabs::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent-primary) 36%,transparent); border-radius:99px}
.tb-title,.campo-rotulo,.aba-head h1,.bloco h2,.card h3{color:var(--text-primary)}
.tb-status,.tb-empty,.campo-ajuda,.bloco-sub,.aba-aviso{color:var(--text-secondary); opacity:1}
.tb-back{color:var(--text-primary); border-color:var(--border-subtle); background:color-mix(in srgb,var(--surface-soft) 68%,transparent)}
.tb-back:hover{background:var(--accent-soft); color:var(--accent-primary)}
.chalk{color:var(--display-accent)}

button,
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
.tb-back,.nav-item,.lc-item,.chk-pill,.render-download{
  min-block-size:44px;
}
button{touch-action:manipulation}
button:active:not(:disabled),.tb-back:active,.nav-item:active{transform:scale(.98)}
button:disabled,[aria-disabled="true"]{opacity:.48; cursor:not-allowed; transform:none}
.brand-btn{padding:8px 14px; font-size:11px}
.btn-new-lancamento,.btn-primary-sm,.btn-primary-lg,.btn,.btn-mini,.btn-x{min-height:44px}
.btn-x{min-width:44px; display:inline-flex; align-items:center; justify-content:center}
.campo input[type="text"],.campo input[type="url"],.campo input[type="number"],.campo input[type="date"],
.campo select,.campo textarea,.pesquisa-card input,.pesquisa-card select,.pesquisa-card textarea,
.filtro select,.combo-linha input,.conteudo-linha input,.conteudo-linha textarea{
  min-height:44px; border-color:color-mix(in srgb,var(--text-primary) 18%,transparent);
  background:var(--surface-raised); color:var(--text-primary);
}
.campo input:focus,.campo select:focus,.campo textarea:focus,
.pesquisa-card input:focus,.pesquisa-card select:focus,.pesquisa-card textarea:focus,
.conteudo-linha input:focus,.conteudo-linha textarea:focus{
  border-color:var(--focus-ring); box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring) 22%,transparent);
}
.placeholder-note,.tb-empty{font-style:normal}
.hist-corpo,.hist-linha,.hist-diff,.hist-diff li,.hist-de,.hist-para,.hist-campo{min-width:0; max-width:100%}
.hist-de,.hist-para,.hist-campo{overflow-wrap:anywhere; word-break:break-word}
.met-fontes-grid>* ,.db-matriz>* ,.db-origem>*{min-width:0}

/* ============================================================
   ESTRATÉGIA · Bastidor Pro
   Plano de uma página, três atos, operação, DRE e ecossistema.
   ============================================================ */
.est-schema{font-size:10px; color:var(--text-secondary); font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.est-progresso{padding:18px 20px; border:1px solid var(--border-subtle); border-radius:var(--radius-card); background:var(--surface-raised); box-shadow:0 8px 28px -24px rgba(var(--shadow-rgb),.4); margin-bottom:10px}
.est-progresso-topo{display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:10px}
.est-progresso-topo strong{font-size:28px; line-height:1; color:var(--text-primary)}
.est-progresso-topo span{font-size:12px; color:var(--text-secondary)}
.est-progresso-barra{height:9px; background:var(--surface-soft); border-radius:99px; overflow:hidden}
.est-progresso-barra span{display:block; height:100%; width:0; border-radius:inherit; background:var(--accent-primary); transition:width .25s var(--ease-premium)}
.est-progresso.pronto .est-progresso-barra span{background:#258b64}
.est-progresso.atencao .est-progresso-barra span{background:#c98622}
.est-alertas{display:flex; flex-wrap:wrap; gap:7px; margin:0 0 var(--space-md)}
.est-alerta{display:inline-flex; align-items:center; min-height:30px; padding:6px 10px; border-radius:99px; font-size:11px; font-weight:700; color:#6e2c22; background:#fff0eb; border:1px solid #f2c3b6}
.est-alerta.atencao{color:#6f4a0a; background:#fff7df; border-color:#ecd294}
.est-alerta.ok{color:#175b43; background:#eaf8f1; border-color:#b8dfcf}
.est-pilares-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
.est-pilar{border:1px solid var(--border-subtle); border-left:4px solid #a5a1ad; border-radius:14px; padding:12px; background:var(--surface-raised); min-width:0}
.est-pilar.atencao{border-left-color:#c98622}
.est-pilar.pronto{border-left-color:#258b64}
.est-pilar-topo{display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:9px}
.est-pilar-topo>div{display:flex; flex-direction:column; min-width:0}
.est-pilar-topo strong{font-size:13px; color:var(--text-primary)}
.est-pilar-topo span{font-size:10px; color:var(--text-secondary); margin-top:2px}
.est-pilar select{width:auto; max-width:160px; min-height:36px; padding:6px 28px 6px 9px; font-size:11px; background:var(--surface-soft); border:1px solid var(--border-subtle); color:var(--text-primary); border-radius:9px}
.est-pilar textarea{width:100%; min-height:64px; resize:vertical; border:1px solid var(--border-subtle); border-radius:10px; background:var(--surface-soft); color:var(--text-primary); padding:9px 10px; font:inherit; font-size:12px; line-height:1.4}
.est-onepage-grid,.est-operacao-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px}
.est-subbloco{min-width:0; padding:16px; border:1px solid var(--border-subtle); border-radius:14px; background:var(--surface-soft)}
.est-subbloco h3,.est-tracking h3,.est-custos h3{font-size:14px; margin:0 0 13px; color:var(--text-primary)}
.est-gate{padding:12px; margin-top:10px; border-radius:12px; border:1px solid #e5b7ad; background:#fff2ee}
.est-gate.aprovado{border-color:#a8d8c6; background:#ebf8f2}
.est-check{display:flex; align-items:flex-start; gap:9px; min-height:38px; padding:8px 9px; border:1px solid var(--border-subtle); border-radius:10px; background:var(--surface-raised); color:var(--text-primary); font-size:12px; line-height:1.35; cursor:pointer}
.est-check input{flex:0 0 auto; width:18px; height:18px; min-block-size:18px; margin-top:0; accent-color:var(--accent-primary)}
.est-atos-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px}
.est-ato{min-width:0; padding:14px; border:1px solid var(--border-subtle); border-radius:14px; background:var(--surface-soft)}
.est-ato-head{display:flex; align-items:flex-start; justify-content:space-between; gap:8px; margin-bottom:10px}
.est-ato-head h3{margin:0; font-size:14px; color:var(--text-primary)}
.est-ato-head span{display:block; margin-top:3px; font-size:10px; color:var(--text-secondary)}
.est-ato-head>strong{font-size:11px; color:var(--accent-primary); background:var(--accent-soft); border-radius:99px; padding:4px 7px}
.est-check-grid{display:grid; gap:7px}
.est-tracking{margin-top:14px; padding:14px; border:1px solid var(--border-subtle); border-radius:14px; background:var(--surface-soft)}
.est-tracking .est-check-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.est-custos{margin:14px 0}
.est-custos-head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px}
.est-custos-head h3{margin:0}
.est-custo-linha{display:grid; grid-template-columns:minmax(160px,1fr) minmax(120px,.35fr) 44px; gap:8px; margin-bottom:7px}
.est-custo-linha input{min-width:0; min-height:44px; border:1px solid var(--border-subtle); border-radius:10px; padding:9px 10px; background:var(--surface-raised); color:var(--text-primary); font:inherit}
.est-finance-cards{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:14px}
.est-finance-cards>div{display:flex; flex-direction:column; gap:5px; min-width:0; padding:12px; border:1px solid var(--border-subtle); border-radius:12px; background:var(--surface-soft)}
.est-finance-cards span{font-size:10.5px; color:var(--text-secondary)}
.est-finance-cards strong{font-size:15px; overflow-wrap:anywhere; color:var(--text-primary)}
.est-finance-cards .bom{border-color:#acd9c8; background:#edf9f4}
.est-finance-cards .medio{border-color:#ecd294; background:#fff8e6}
.est-finance-cards .ruim{border-color:#efb7aa; background:#fff0ec}
.db-bastidor-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:12px}
.db-bastidor-grid .db-origem-col{min-width:0; padding:13px; border:1px solid var(--border-subtle); border-radius:13px; background:var(--surface-soft)}
.db-bastidor-grid h3,.db-reembolso-motivos h3{font-size:13px; color:var(--text-primary); margin:0 0 9px}
.db-bastidor-kpis{margin-top:10px}
.db-reembolso-motivos{margin-top:12px; padding:13px; border:1px solid var(--border-subtle); border-radius:13px; background:var(--surface-soft)}
.db-reembolso-motivos ul{margin:0; padding-left:18px; color:var(--text-primary); font-size:12px; line-height:1.6}

@media (max-width:1100px){
  .est-atos-grid{grid-template-columns:1fr}
  .est-tracking .est-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .est-finance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .db-bastidor-grid{grid-template-columns:1fr}
}

@media (max-width:880px){
  .shell,.home-shell{height:100vh; min-height:0; overflow:hidden}
  body.workspace,body.home{overflow:hidden}
  .sidebar{
    width:100%; max-height:none; display:grid; grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"head foot" "search search" "launches launches";
    border-right:0; border-bottom:1px solid color-mix(in srgb,var(--text-on-dark) 12%,transparent);
  }
  .sidebar .sb-head{grid-area:head; padding:12px 16px 8px; border-bottom:0}
  .sidebar .sb-head .sb-sub{display:none}
  .sidebar .brand-switcher{margin-bottom:6px}
  .sidebar .sb-title{font-size:15px}
  .sidebar .sb-title br{display:none}
  .sidebar .sb-title .chalk{margin-left:6px}
  .sidebar .sb-inbox-head{grid-area:search; padding:4px 16px 8px; flex-direction:row; align-items:center; border-bottom:0}
  .sidebar .sb-inbox-label{display:none}
  .sidebar .sb-scroll{
    grid-area:launches; display:flex; gap:8px; padding:0 16px 10px; overflow-x:auto; overflow-y:hidden;
  }
  .sidebar .lc-item{flex:0 0 min(260px,72vw); min-height:52px; padding:8px 12px; border-radius:10px; background:color-mix(in srgb,var(--text-on-dark) 6%,transparent)}
  .sidebar .sb-foot{grid-area:foot; padding:12px 16px 8px; border-top:0}
  .sidebar .sb-user{display:none}
  .sidebar .btn-new-lancamento{width:auto; white-space:nowrap}
  .sidebar-home{width:100%; max-height:none; min-height:0; padding:12px 16px; border-right:0; border-bottom:1px solid color-mix(in srgb,var(--text-on-dark) 12%,transparent)}
  .sidebar-home .sb-head{padding:0; border:0}
  .sidebar-home .sb-title,.sidebar-home .sb-sub{display:none}
  .sidebar-home .brand-switcher{margin:0 0 8px}
  .sidebar-home .sb-search-wrap{margin:0 0 8px}
  .sidebar-home .sb-nav{display:flex; gap:8px; overflow-x:auto; padding:0}
  .sidebar-home .sb-label{display:none}
  .sidebar-home .nav-item{flex:0 0 auto; width:auto; padding:8px 12px}
  .main,.main-home{min-height:0; flex:1; overflow:hidden}
  .main-home{overflow-y:auto}
  .top-bar{min-height:60px; padding:8px 12px; flex-wrap:nowrap}
  .tb-meta{align-items:flex-start; flex-wrap:wrap; gap:4px 8px}
  .tb-title{white-space:normal; display:-webkit-box!important; -webkit-line-clamp:2; -webkit-box-orient:vertical; line-height:1.25}
  .tb-status,.tb-sep{display:none!important}
  .ptabs{padding:0 12px; min-height:48px}
  .ptab{padding:10px 12px; min-height:48px}
  .content{padding:16px}
  .est-pilares-grid,.est-onepage-grid,.est-operacao-grid{grid-template-columns:1fr}
  .merc-concorrentes-grid,.merc-anuncios-grid{grid-template-columns:1fr}
}

@media (max-width:560px){
  .sidebar .sb-title .chalk{display:none}
  .sidebar .sb-inbox-head{padding-top:0}
  .sidebar .lc-item{flex-basis:82vw}
  .brand-btn{padding-inline:12px}
  .top-bar{min-height:64px}
  .tb-back{padding-inline:10px}
  .conteudo-editor>summary{padding:12px}
  .hist-item{padding:12px; gap:8px}
  .hist-hora{width:36px}
  .est-pilar-topo{flex-direction:column}
  .est-pilar select{width:100%; max-width:none}
  .est-tracking .est-check-grid,.est-finance-cards{grid-template-columns:1fr}
  .est-custo-linha{grid-template-columns:1fr 1fr 44px}
}

/* ============================================================
   AUDITORIA DE USABILIDADE — alvos de toque e abas extensas.
   Mantém o tamanho visual dos ícones de ajuda, mas amplia a área que
   responde ao toque. Os scroll-shadows das abas aparecem apenas no lado
   em que ainda existe conteúdo, sem esconder ou remover nenhuma aba.
   ============================================================ */
.halley-info-btn::after{inset:-13px}
.radio-linha,
.consulta summary,
.est-check,
.peca-gravei,
.cr-gravado{min-block-size:44px}
.est-pilar select,
.conteudo-gerador-campos .btn-primary-sm{min-height:44px}
.met-meta-grupo > summary{min-block-size:44px; padding-block:8px}
.mc-check{width:44px; height:44px}
.mc-check input{inset:0; width:100%; height:100%}
.hist-rodape a{display:inline-flex; align-items:center; min-block-size:44px}
.pg-link{display:flex; align-items:center; min-block-size:44px}

.ptabs{
  --ptabs-surface:color-mix(in srgb,var(--surface-raised) 94%,transparent);
  background-color:var(--ptabs-surface);
  background-image:
    linear-gradient(to right,var(--ptabs-surface) 55%,transparent),
    linear-gradient(to left,var(--ptabs-surface) 55%,transparent),
    radial-gradient(farthest-side at 0 50%,rgba(var(--shadow-rgb),.2),transparent),
    radial-gradient(farthest-side at 100% 50%,rgba(var(--shadow-rgb),.2),transparent);
  background-position:left center,right center,left center,right center;
  background-repeat:no-repeat;
  background-size:32px 100%,32px 100%,12px 100%,12px 100%;
  background-attachment:local,local,scroll,scroll;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--accent-primary) 48%,transparent) transparent;
}


@media (max-width:880px) and (max-height:500px) and (orientation:landscape){
  body.workspace{height:auto; min-height:100dvh; overflow-y:auto}
  body.workspace .shell{height:auto; min-height:100dvh; overflow:visible}
  body.workspace .main{flex:0 0 auto; min-height:0; overflow:visible}
  body.workspace .content{flex:0 0 auto; overflow:visible}
}
