/* ============================================================
   DEMOS ANIMADOS — portados dos widgets HTML do Elementor.
   Cada bloco é autocontido (prefixo próprio). Não depende do style.css.
   ============================================================ */

/* ---------- HERO — paleta de navegação animada (prefixo cf-) ---------- */
/* ====== Componente do hero: palette do Controla Farma animado (nível Cursor) ====== */
  .cf-root{ --blue:#2563eb; --ink:#0f172a; --muted:#64748b; --line:#e6eaf0;
    width:100%; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif;
    -webkit-font-smoothing:antialiased; box-sizing:border-box; }
  .cf-root *{ box-sizing:border-box; }
  .cf-holder{ position:relative; width:100%; display:flex; justify-content:center; align-items:flex-start; } /* flex-start evita o loop de encolhimento do fit() */
  .cf-scale{ width:1180px; transform-origin:top center; will-change:transform; }

  /* ---- moldura do navegador ---- */
  .cf-browser{ width:1180px; background:#fff; border-radius:16px; overflow:hidden;
    box-shadow:0 30px 70px -20px rgba(15,23,42,.35), 0 8px 24px -8px rgba(15,23,42,.18);
    border:1px solid rgba(15,23,42,.06); }
  .cf-topbar{ height:48px; background:linear-gradient(#f7f8fa,#f1f3f5); border-bottom:1px solid #e6e9ee;
    display:flex; align-items:center; padding:0 16px; gap:16px; }
  .cf-dots{ display:flex; gap:8px; }
  .cf-dots i{ width:12px; height:12px; border-radius:50%; display:block; }
  .cf-dots i:nth-child(1){ background:#ff5f57; }
  .cf-dots i:nth-child(2){ background:#febc2e; }
  .cf-dots i:nth-child(3){ background:#28c840; }
  .cf-address{ flex:1; max-width:820px; margin:0 auto; height:28px; background:#fff; border:1px solid #e6e9ee;
    border-radius:14px; display:flex; align-items:center; gap:8px; padding:0 14px; color:#7b828e; font-size:13px; }
  .cf-address svg{ width:13px; height:13px; color:#9aa2ae; }

  /* ---- viewport com sistema desfocado atrás ---- */
  .cf-viewport{ position:relative; height:640px; overflow:hidden; background:#eef2f7; }
  .cf-blobs{ position:absolute; inset:-60px; filter:blur(60px); opacity:.9; }
  .cf-blobs span{ position:absolute; width:280px; height:280px; border-radius:50%; }
  .cf-frost{ position:absolute; inset:0; background:rgba(15,23,42,.40); }
  .cf-ghost{ position:absolute; inset:0; padding:26px 40px; opacity:.16; filter:blur(1.5px); }
  .cf-ghost .g-title{ height:26px; width:260px; background:#0f172a; border-radius:6px; margin-bottom:14px; }
  .cf-ghost .g-row{ display:flex; gap:20px; margin-top:26px; }
  .cf-ghost .g-card{ flex:1; height:150px; background:#0f172a; border-radius:14px; }

  /* ---- palette ---- */
  .cf-palette{ position:absolute; left:50%; top:34px; transform:translateX(-50%); width:864px;
    background:#fff; border-radius:16px; padding:20px 20px 22px; z-index:3;
    box-shadow:0 24px 60px -12px rgba(15,23,42,.45), 0 2px 8px rgba(15,23,42,.12); }
  .cf-search{ display:flex; align-items:center; gap:12px; height:52px; padding:0 16px;
    border:2px solid var(--blue); border-radius:12px; color:#94a0b0; font-size:17px; }
  .cf-search svg{ width:20px; height:20px; color:#94a0b0; }
  .cf-search .cf-caret{ width:1.5px; height:22px; background:var(--blue); margin-left:-4px; animation:cf-blink 1.1s steps(1) infinite; }
  @keyframes cf-blink{ 50%{ opacity:0 } }
  .cf-navlabel{ font-size:11px; letter-spacing:.14em; color:#94a0b0; font-weight:700; margin:18px 2px 12px; }

  .cf-cards{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
  .cf-card{ position:relative; border:1px solid #edf0f4; border-radius:12px; padding:14px; min-height:132px;
    transition:border-color .22s ease, background .22s ease, box-shadow .22s ease, transform .22s ease; }
  .cf-card .ic{ width:26px; height:26px; margin-bottom:10px; }
  .cf-card .ic svg{ width:26px; height:26px; }
  .cf-card h4{ margin:0 0 4px; font-size:15px; color:var(--ink); font-weight:700; }
  .cf-card p{ margin:0; font-size:12px; line-height:1.35; color:var(--muted); }
  .cf-card .chev{ position:absolute; right:12px; bottom:11px; width:16px; height:16px; color:#9aa4b2;
    transition:transform .22s cubic-bezier(.4,0,.2,1); }
  .cf-card.active{ border-color:var(--blue); background:#eff5ff;
    box-shadow:0 0 0 3px rgba(37,99,235,.12); }
  .cf-card.active .chev{ transform:rotate(180deg); color:var(--blue); }

  /* ---- submenu ---- */
  .cf-subwrap{ margin-top:16px; }
  .cf-sublabel{ font-size:11px; letter-spacing:.14em; color:#94a0b0; font-weight:700; margin:6px 2px 12px; }
  .cf-sublist{ display:grid; gap:10px; }
  .cf-sublist[data-cols="1"]{ grid-template-columns:1fr; }
  .cf-sublist[data-cols="2"]{ grid-template-columns:1fr 1fr; }
  .cf-sublist[data-cols="3"]{ grid-template-columns:1fr 1fr 1fr; }
  .cf-subitem{ display:flex; align-items:center; gap:10px; padding:12px 14px; border:1px solid #edf0f4;
    border-radius:10px; font-size:14px; color:var(--ink); background:#fff; }
  .cf-subitem svg{ width:18px; height:18px; flex:none; }
  .cf-anim-in{ animation:cf-sub-in .34s cubic-bezier(.16,1,.3,1) both; }
  @keyframes cf-sub-in{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:translateY(0); } }

  /* ---- cursor + pulso ---- */
  .cf-cursor{ position:absolute; left:0; top:0; z-index:5; width:22px; height:22px; pointer-events:none;
    transition:transform .55s cubic-bezier(.4,0,.2,1); filter:drop-shadow(0 2px 3px rgba(15,23,42,.35)); }
  .cf-pulse{ position:absolute; z-index:4; width:14px; height:14px; border-radius:50%; border:2px solid var(--blue);
    pointer-events:none; opacity:0; }
  .cf-pulse.go{ animation:cf-pulse .5s ease-out; }
  @keyframes cf-pulse{ 0%{ opacity:.6; transform:scale(.6) } 100%{ opacity:0; transform:scale(2.6) } }

/* ---------- RELATÓRIOS — gerar relatório BMPO (prefixo rf-) ---------- */
.rf-root{ --blue:#2563eb; --ink:#0f172a; --muted:#64748b; --line:#e9edf3;
    width:100%; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif;
    -webkit-font-smoothing:antialiased; box-sizing:border-box; }
  .rf-root *{ box-sizing:border-box; }
  .rf-holder{ position:relative; width:100%; display:flex; justify-content:center; align-items:flex-start; }
  .rf-scale{ width:1180px; transform-origin:top center; will-change:transform; }

  .rf-browser{ width:1180px; background:#fff; border-radius:16px; overflow:hidden;
    box-shadow:0 30px 70px -20px rgba(15,23,42,.35), 0 8px 24px -8px rgba(15,23,42,.16);
    border:1px solid rgba(15,23,42,.06); }
  .rf-topbar{ height:46px; background:linear-gradient(#f7f8fa,#f1f3f5); border-bottom:1px solid #e6e9ee;
    display:flex; align-items:center; padding:0 16px; gap:16px; }
  .rf-dots{ display:flex; gap:8px; } .rf-dots i{ width:12px; height:12px; border-radius:50%; display:block; }
  .rf-dots i:nth-child(1){background:#ff5f57} .rf-dots i:nth-child(2){background:#febc2e} .rf-dots i:nth-child(3){background:#28c840}
  .rf-addr{ flex:1; max-width:760px; margin:0 auto; height:26px; background:#fff; border:1px solid #e6e9ee;
    border-radius:13px; display:flex; align-items:center; gap:8px; padding:0 12px; color:#7b828e; font-size:12.5px; }
  .rf-addr svg{ width:12px; height:12px; color:#9aa2ae; }

  .rf-viewport{ position:relative; overflow:hidden; padding:28px 36px 34px; }
  .rf-blobs{ position:absolute; inset:-60px; filter:blur(64px); opacity:.42; z-index:0; }
  .rf-blobs span{ position:absolute; width:300px; height:300px; border-radius:50%; }
  .rf-frost{ position:absolute; inset:0; background:rgba(245,248,251,.80); z-index:1; }
  .rf-wrap{ position:relative; z-index:2; }

  .rf-tabs{ display:flex; gap:26px; border-bottom:1px solid rgba(148,163,184,.35); margin:0 0 22px; }
  .rf-tab{ display:flex; align-items:center; gap:8px; padding:0 2px 12px; font-size:14.5px; font-weight:600; color:#64748b; position:relative; }
  .rf-tab .cnt{ font-size:12px; background:rgba(148,163,184,.22); color:#5b6678; border-radius:20px; padding:1px 8px; font-weight:700; }
  .rf-tab.on{ color:#2563eb; } .rf-tab.on .cnt{ background:#2563eb; color:#fff; }
  .rf-tab.on:after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:#2563eb; border-radius:2px; }

  .rf-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .rf-card{ position:relative; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden;
    box-shadow:0 6px 18px -10px rgba(16,24,40,.18); transition:transform .2s ease, box-shadow .2s ease; }
  .rf-card.hot{ transform:translateY(-4px); box-shadow:0 20px 40px -14px rgba(37,99,235,.28); }
  .rf-card .top{ height:112px; display:flex; align-items:center; justify-content:center; }
  .rf-card .top .circ{ width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
  .rf-card .top .circ svg{ width:27px; height:27px; color:#fff; }
  .rf-card .body{ padding:15px 17px 17px; }
  .rf-card h4{ margin:0 0 6px; font-size:18px; font-weight:800; color:var(--ink); }
  .rf-card p{ margin:0 0 12px; font-size:13px; line-height:1.4; color:var(--muted); min-height:36px; }
  .rf-meta{ display:flex; align-items:center; gap:8px; color:#64748b; font-size:12.5px; margin-top:5px; }
  .rf-meta svg{ width:14px; height:14px; color:#98a2b3; }
  .rf-card .foot{ border-top:1px solid var(--line); margin-top:12px; padding-top:11px; display:flex; align-items:center; justify-content:space-between; }
  .rf-card .foot a{ color:#2563eb; font-weight:700; font-size:13.5px; text-decoration:none; }
  .rf-card .foot svg{ width:16px; height:16px; color:#2563eb; }
  .rf-cbadge{ position:absolute; top:12px; right:12px; z-index:2; background:#dcfce7; color:#047857; font-size:11.5px; font-weight:700;
    padding:4px 10px; border-radius:20px; display:inline-flex; align-items:center; gap:5px; opacity:0; transform:translateY(-5px); transition:.28s; }
  .rf-cbadge svg{ width:12px; height:12px; }
  .rf-card.ok .rf-cbadge{ opacity:1; transform:none; }

  /* modal */
  .rf-overlay{ position:absolute; inset:0; background:rgba(15,23,42,.45); z-index:7; opacity:0; pointer-events:none; transition:opacity .26s ease; }
  .rf-overlay.open{ opacity:1; }
  .rf-modal{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(.95); width:560px; z-index:9;
    background:#fff; border-radius:16px; box-shadow:0 40px 90px -24px rgba(15,23,42,.55); padding:22px 24px 20px;
    opacity:0; pointer-events:none; transition:opacity .26s ease, transform .3s cubic-bezier(.16,1,.3,1); }
  .rf-modal.open{ opacity:1; transform:translate(-50%,-50%) scale(1); }
  .rf-mhead{ display:flex; align-items:center; justify-content:space-between; }
  .rf-mhead h3{ font-size:18px; font-weight:800; color:#0f172a; margin:0; }
  .rf-x{ color:#a2acbb; display:flex; } .rf-x svg{ width:18px; height:18px; }
  .rf-steps{ margin:15px 0 6px; }
  .rf-slabels{ display:flex; } .rf-slabels div{ flex:1; font-size:13px; font-weight:600; color:#9aa4b2; }
  .rf-slabels div.on{ color:#0f172a; }
  .rf-strack{ display:flex; gap:6px; margin-top:8px; } .rf-strack span{ flex:1; height:3px; border-radius:3px; background:#e7ebf1; transition:background .35s; }
  .rf-strack span.on{ background:#2563eb; }
  .rf-slabel{ font-size:14px; font-weight:700; color:#0f172a; margin:16px 0 12px; }
  .rf-content{ min-height:150px; }
  .rf-mc{ animation:rf-mc .3s cubic-bezier(.16,1,.3,1) both; }
  @keyframes rf-mc{ from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:translateY(0)} }
  .rf-fld{ margin-bottom:14px; } .rf-fld label{ display:block; font-size:13px; color:#475569; margin-bottom:6px; }
  .rf-select{ height:44px; border:1px solid #dbe2ea; border-radius:9px; display:flex; align-items:center; padding:0 12px;
    font-size:14px; color:#0f172a; justify-content:space-between; background:#fff; }
  .rf-select.focus{ border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.15); }
  .rf-select svg{ width:16px; height:16px; color:#94a0b0; }
  .rf-chips{ display:flex; gap:8px; } .rf-chip{ height:34px; padding:0 14px; border:1px solid #dbe2ea; border-radius:8px; font-size:13px; color:#475569; display:flex; align-items:center; }
  .rf-chip.on{ background:#eff5ff; border-color:#2563eb; color:#2563eb; font-weight:600; }
  .rf-row2{ display:flex; gap:12px; } .rf-row2 .rf-fld{ flex:1; margin-bottom:0; }
  .rf-review{ border:1px solid #eef1f6; border-radius:10px; overflow:hidden; }
  .rev-row{ display:flex; justify-content:space-between; padding:12px 14px; font-size:13.5px; border-bottom:1px solid #eef1f6; }
  .rev-row:last-child{ border-bottom:0; } .rev-row span{ color:#64748b; } .rev-row b{ color:#0f172a; }
  .rf-mfoot{ display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
  .rf-btn{ height:40px; padding:0 18px; border-radius:9px; font-size:14px; font-weight:600; border:1px solid transparent; display:inline-flex; align-items:center; gap:7px; }
  .rf-btn.ghost{ background:#fff; border-color:#e2e8f0; color:#475569; }
  .rf-btn.primary{ background:#1e293b; color:#fff; }
  .rf-btn.primary svg{ width:16px; height:16px; }

  .rf-toast{ position:absolute; top:20px; right:22px; z-index:10; background:#fff; border:1px solid #e7ecf3; border-radius:13px;
    box-shadow:0 18px 44px -14px rgba(16,24,40,.32); padding:12px 15px; display:flex; align-items:center; gap:12px; min-width:270px;
    opacity:0; transform:translateX(24px); transition:opacity .38s ease, transform .38s cubic-bezier(.16,1,.3,1); }
  .rf-toast.show{ opacity:1; transform:none; }
  .rf-toast .ck{ width:32px; height:32px; border-radius:50%; background:#dcfce7; color:#059669; display:flex; align-items:center; justify-content:center; flex:none; }
  .rf-toast .ck svg{ width:18px; height:18px; }
  .rf-toast b{ font-size:13.5px; color:#0f172a; display:block; line-height:1.2; } .rf-toast small{ font-size:12px; color:#94a0b0; }

  .rf-cursor{ position:absolute; z-index:12; width:22px; height:22px; pointer-events:none; left:0; top:0;
    transition:transform .56s cubic-bezier(.4,0,.2,1); filter:drop-shadow(0 2px 3px rgba(15,23,42,.35)); }
  .rf-pulse{ position:absolute; z-index:11; width:14px; height:14px; border-radius:50%; border:2px solid var(--blue); opacity:0; }
  .rf-pulse.go{ animation:rf-pulse .5s ease-out; }
  @keyframes rf-pulse{ 0%{opacity:.6;transform:scale(.6)} 100%{opacity:0;transform:scale(2.6)} }

/* ---------- TRANSMISSÃO — busca ⌘K → Transmissão → enviar (prefixo tx-/pl-) ---------- */
.tx-root{ --blue:#2563eb; --ink:#0f172a; --muted:#64748b; --line:#e9edf3;
    width:100%; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif; -webkit-font-smoothing:antialiased; box-sizing:border-box; }
  .tx-root *{ box-sizing:border-box; }
  .tx-holder{ position:relative; width:100%; display:flex; justify-content:center; align-items:flex-start; }
  .tx-scale{ width:1180px; transform-origin:top center; will-change:transform; }
  .tx-browser{ width:1180px; background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 30px 70px -20px rgba(15,23,42,.35),0 8px 24px -8px rgba(15,23,42,.16); border:1px solid rgba(15,23,42,.06); }
  .tx-topbar{ height:46px; background:linear-gradient(#f7f8fa,#f1f3f5); border-bottom:1px solid #e6e9ee; display:flex; align-items:center; padding:0 16px; gap:16px; }
  .tx-dots{ display:flex; gap:8px; } .tx-dots i{ width:12px; height:12px; border-radius:50%; display:block; }
  .tx-dots i:nth-child(1){background:#ff5f57} .tx-dots i:nth-child(2){background:#febc2e} .tx-dots i:nth-child(3){background:#28c840}
  .tx-addr{ flex:1; max-width:760px; margin:0 auto; height:26px; background:#fff; border:1px solid #e6e9ee; border-radius:13px; display:flex; align-items:center; gap:8px; padding:0 12px; color:#7b828e; font-size:12.5px; }
  .tx-addr svg{ width:12px; height:12px; color:#9aa2ae; }

  .tx-viewport{ position:relative; overflow:hidden; padding:28px 36px 34px; }
  .tx-blobs{ position:absolute; inset:-60px; filter:blur(64px); opacity:.42; z-index:0; }
  .tx-blobs span{ position:absolute; width:300px; height:300px; border-radius:50%; }
  .tx-frost{ position:absolute; inset:0; background:rgba(245,248,251,.82); z-index:1; }
  .tx-page{ position:relative; z-index:2; transition:filter .32s ease, transform .32s ease; }
  .tx-viewport.searching .tx-page{ filter:blur(7px); transform:scale(.994); }

  .tx-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:20px; }
  .tx-title{ font-size:27px; font-weight:800; color:var(--ink); margin:0 0 6px; letter-spacing:-.3px; }
  .tx-sub{ color:var(--muted); font-size:13.5px; max-width:620px; line-height:1.45; }
  .tx-status{ display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:#047857; background:#dcfce7; padding:6px 12px; border-radius:20px; white-space:nowrap; }
  .tx-status i{ width:8px; height:8px; border-radius:50%; background:#10b981; display:block; }
  .tx-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:26px; }
  .tx-stat{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; display:flex; gap:14px; align-items:flex-start; box-shadow:0 1px 2px rgba(16,24,40,.04); }
  .tx-stat .ic{ width:42px; height:42px; border-radius:11px; background:#eef4ff; color:#2563eb; display:flex; align-items:center; justify-content:center; flex:none; }
  .tx-stat.green .ic{ background:#e7f8f0; color:#10b981; } .tx-stat .ic svg{ width:20px; height:20px; }
  .tx-stat .lbl{ font-size:11px; letter-spacing:.09em; color:#94a0b0; font-weight:700; text-transform:uppercase; }
  .tx-stat .val{ font-size:19px; font-weight:800; color:var(--ink); margin:2px 0 3px; }
  .tx-stat .dsc{ font-size:12px; color:#8a94a6; line-height:1.4; }
  .tx-sec{ font-size:16px; font-weight:800; color:var(--ink); margin:0 0 14px; }
  .tx-actions{ display:flex; flex-direction:column; gap:12px; }
  .tx-action{ display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; box-shadow:0 1px 2px rgba(16,24,40,.04); transition:border-color .18s, box-shadow .18s, background .18s; }
  .tx-action .ic{ width:44px; height:44px; border-radius:12px; background:#eef4ff; color:#2563eb; display:flex; align-items:center; justify-content:center; flex:none; }
  .tx-action .ic svg{ width:21px; height:21px; }
  .tx-action h4{ margin:0 0 3px; font-size:16px; font-weight:700; color:var(--ink); } .tx-action p{ margin:0; font-size:13px; color:var(--muted); }
  .tx-action .chev{ margin-left:auto; color:#c2cbd6; } .tx-action .chev svg{ width:18px; height:18px; }
  .tx-action.hot{ border-color:#2563eb; background:#f5f9ff; box-shadow:0 14px 30px -14px rgba(37,99,235,.3); } .tx-action.hot .chev{ color:#2563eb; }

  /* palette (busca ⌘K) */
  .pl-dim{ position:absolute; inset:0; background:rgba(15,23,42,.42); z-index:6; opacity:0; transition:opacity .32s; }
  .tx-viewport.searching .pl-dim{ opacity:1; }
  .pl-palette{ position:absolute; left:50%; top:30px; transform:translateX(-50%) translateY(-10px) scale(.97); width:840px; z-index:8; background:#fff; border-radius:16px; padding:18px;
    box-shadow:0 26px 64px -14px rgba(15,23,42,.5); opacity:0; pointer-events:none; transition:opacity .3s, transform .34s cubic-bezier(.16,1,.3,1); }
  .tx-viewport.searching .pl-palette{ opacity:1; transform:translateX(-50%) translateY(0) scale(1); }
  .pl-search{ display:flex; align-items:center; gap:10px; height:46px; padding:0 14px; border:2px solid #2563eb; border-radius:11px; color:#94a0b0; font-size:15px; }
  .pl-search svg{ width:18px; height:18px; color:#94a0b0; }
  .pl-label{ font-size:11px; letter-spacing:.13em; color:#94a0b0; font-weight:700; margin:16px 2px 10px; }
  .pl-cards{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
  .pl-card{ position:relative; border:1px solid #edf0f4; border-radius:11px; padding:12px; min-height:112px; transition:border-color .2s, background .2s, box-shadow .2s; }
  .pl-card .pic{ width:24px; height:24px; margin-bottom:8px; } .pl-card .pic svg{ width:24px; height:24px; }
  .pl-card h5{ margin:0 0 3px; font-size:13.5px; font-weight:700; color:#0f172a; }
  .pl-card p{ margin:0; font-size:11px; line-height:1.3; color:#64748b; }
  .pl-card .pchev{ position:absolute; right:10px; bottom:9px; width:14px; height:14px; color:#9aa4b2; transition:transform .2s; }
  .pl-card.active{ border-color:#2563eb; background:#eff5ff; box-shadow:0 0 0 3px rgba(37,99,235,.12); }
  .pl-card.active .pchev{ transform:rotate(180deg); color:#2563eb; }
  .pl-sub{ margin-top:14px; opacity:0; max-height:0; overflow:hidden; transition:opacity .3s, max-height .34s; }
  .pl-sub.show{ opacity:1; max-height:200px; }
  .pl-sublabel{ font-size:11px; letter-spacing:.13em; color:#94a0b0; font-weight:700; margin:2px 2px 10px; }
  .pl-subitem{ display:flex; align-items:center; gap:10px; padding:11px 13px; border:1px solid #edf0f4; border-radius:9px; font-size:13.5px; color:#0f172a; margin-bottom:8px; }
  .pl-subitem svg{ width:17px; height:17px; }

  /* modal enviar inventário */
  .tx-overlay{ position:absolute; inset:0; background:rgba(15,23,42,.45); z-index:7; opacity:0; pointer-events:none; transition:opacity .26s; }
  .tx-overlay.open{ opacity:1; }
  .tx-modal{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(.95); width:520px; z-index:9; background:#fff; border-radius:16px; box-shadow:0 40px 90px -24px rgba(15,23,42,.55); padding:22px 24px 20px; opacity:0; pointer-events:none; transition:opacity .26s, transform .3s cubic-bezier(.16,1,.3,1); }
  .tx-modal.open{ opacity:1; transform:translate(-50%,-50%) scale(1); }
  .tx-mhead{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; } .tx-mhead h3{ font-size:18px; font-weight:800; color:#0f172a; margin:0; }
  .tx-x{ color:#a2acbb; display:flex; } .tx-x svg{ width:18px; height:18px; }
  .tx-info{ display:flex; gap:10px; background:#eff6ff; border:1px solid #dbe8fe; border-radius:10px; padding:12px 14px; color:#3b5573; font-size:13px; line-height:1.4; margin-bottom:16px; }
  .tx-info svg{ width:17px; height:17px; color:#2563eb; flex:none; margin-top:1px; }
  .tx-fld label{ display:block; font-size:13px; color:#475569; margin-bottom:6px; }
  .tx-date{ height:44px; border:1px solid #dbe2ea; border-radius:9px; display:flex; align-items:center; justify-content:space-between; padding:0 12px; font-size:14px; color:#0f172a; }
  .tx-date svg{ width:17px; height:17px; color:#94a0b0; }
  .tx-mfoot{ display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
  .tx-btn{ height:40px; padding:0 18px; border-radius:9px; font-size:14px; font-weight:600; border:1px solid transparent; display:inline-flex; align-items:center; gap:7px; }
  .tx-btn.ghost{ background:#fff; border-color:#e2e8f0; color:#475569; } .tx-btn.primary{ background:#1e293b; color:#fff; }
  .tx-btn.primary .sp{ width:15px; height:15px; border:2px solid rgba(255,255,255,.5); border-top-color:#fff; border-radius:50%; animation:tx-sp .7s linear infinite; }
  @keyframes tx-sp{ to{ transform:rotate(360deg) } }

  .tx-toast{ position:absolute; top:20px; right:22px; z-index:10; background:#fff; border:1px solid #e7ecf3; border-radius:13px; box-shadow:0 18px 44px -14px rgba(16,24,40,.32); padding:12px 15px; display:flex; align-items:center; gap:12px; min-width:280px; opacity:0; transform:translateX(24px); transition:opacity .38s, transform .38s cubic-bezier(.16,1,.3,1); }
  .tx-toast.show{ opacity:1; transform:none; }
  .tx-toast .ck{ width:32px; height:32px; border-radius:50%; background:#dcfce7; color:#059669; display:flex; align-items:center; justify-content:center; flex:none; } .tx-toast .ck svg{ width:18px; height:18px; }
  .tx-toast b{ font-size:13.5px; color:#0f172a; display:block; line-height:1.2; } .tx-toast small{ font-size:12px; color:#94a0b0; }

  .tx-cursor{ position:absolute; z-index:12; width:22px; height:22px; pointer-events:none; left:0; top:0; transition:transform .56s cubic-bezier(.4,0,.2,1); filter:drop-shadow(0 2px 3px rgba(15,23,42,.35)); }
  .tx-pulse{ position:absolute; z-index:11; width:14px; height:14px; border-radius:50%; border:2px solid var(--blue); opacity:0; }
  .tx-pulse.go{ animation:tx-pulse .5s ease-out; } @keyframes tx-pulse{ 0%{opacity:.6;transform:scale(.6)} 100%{opacity:0;transform:scale(2.6)} }

/* ---------- MOVIMENTAÇÕES — busca ⌘K → Movimentações → Nova venda (prefixo mv-/mp-) ---------- */
.mv-root{ --blue:#2563eb; --ink:#0f172a; --muted:#64748b; --line:#e9edf3;
    width:100%; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif; -webkit-font-smoothing:antialiased; box-sizing:border-box; }
  .mv-root *{ box-sizing:border-box; }
  .mv-holder{ position:relative; width:100%; display:flex; justify-content:center; align-items:flex-start; }
  .mv-scale{ width:1180px; transform-origin:top center; will-change:transform; }
  .mv-browser{ width:1180px; background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 30px 70px -20px rgba(15,23,42,.35),0 8px 24px -8px rgba(15,23,42,.16); border:1px solid rgba(15,23,42,.06); }
  .mv-topbar{ height:46px; background:linear-gradient(#f7f8fa,#f1f3f5); border-bottom:1px solid #e6e9ee; display:flex; align-items:center; padding:0 16px; gap:16px; }
  .mv-dots{ display:flex; gap:8px; } .mv-dots i{ width:12px; height:12px; border-radius:50%; display:block; }
  .mv-dots i:nth-child(1){background:#ff5f57} .mv-dots i:nth-child(2){background:#febc2e} .mv-dots i:nth-child(3){background:#28c840}
  .mv-addr{ flex:1; max-width:760px; margin:0 auto; height:26px; background:#fff; border:1px solid #e6e9ee; border-radius:13px; display:flex; align-items:center; gap:8px; padding:0 12px; color:#7b828e; font-size:12.5px; }
  .mv-addr svg{ width:12px; height:12px; color:#9aa2ae; }

  .mv-viewport{ position:relative; overflow:hidden; padding:28px 36px 34px; }
  .mv-blobs{ position:absolute; inset:-60px; filter:blur(64px); opacity:.42; z-index:0; }
  .mv-blobs span{ position:absolute; width:300px; height:300px; border-radius:50%; }
  .mv-frost{ position:absolute; inset:0; background:rgba(245,248,251,.82); z-index:1; }
  .mv-page{ position:relative; z-index:2; transition:filter .32s ease, transform .32s ease; }
  .mv-viewport.searching .mv-page{ filter:blur(7px); transform:scale(.994); }

  .mv-title{ font-size:27px; font-weight:800; color:var(--ink); margin:0 0 6px; letter-spacing:-.3px; }
  .mv-sub{ color:var(--muted); font-size:13.5px; line-height:1.45; margin-bottom:20px; }
  .mv-newbtn{ display:inline-flex; align-items:center; gap:9px; background:#2563eb; color:#fff; font-weight:700; font-size:14.5px; height:44px; padding:0 16px 0 14px; border-radius:11px; box-shadow:0 8px 18px -8px rgba(37,99,235,.5); transition:box-shadow .18s, transform .18s; }
  .mv-newbtn.hot{ transform:translateY(-1px); box-shadow:0 14px 26px -8px rgba(37,99,235,.6); }
  .mv-newbtn .plus{ width:22px; height:22px; border-radius:7px; background:rgba(255,255,255,.22); display:flex; align-items:center; justify-content:center; } .mv-newbtn .plus svg{ width:14px; height:14px; }
  .mv-newbtn .cv{ width:16px; height:16px; margin-left:2px; opacity:.9; }

  .mv-daygroup{ margin-top:22px; }
  .mv-dayhdr{ display:flex; align-items:center; gap:10px; margin:0 2px 10px; }
  .mv-dayhdr b{ font-size:13px; color:#334155; } .mv-dayhdr span{ font-size:12px; color:#94a0b0; }
  .mv-dayhdr .ln{ flex:1; height:1px; background:var(--line); }
  .mv-list{ display:flex; flex-direction:column; gap:10px; }
  .mv-op{ display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--line); border-radius:13px; padding:14px 16px; box-shadow:0 1px 2px rgba(16,24,40,.04); }
  .mv-op.new{ animation:mv-in .5s cubic-bezier(.16,1,.3,1) both; }
  @keyframes mv-in{ from{ opacity:0; transform:translateY(-10px) scale(.99) } to{ opacity:1; transform:translateY(0) scale(1) } }
  .mv-op .oic{ width:40px; height:40px; border-radius:11px; display:flex; align-items:center; justify-content:center; flex:none; }
  .mv-op .oic svg{ width:19px; height:19px; color:#fff; }
  .mv-op h4{ margin:0 0 2px; font-size:14.5px; font-weight:700; color:var(--ink); } .mv-op p{ margin:0; font-size:12.5px; color:var(--muted); }
  .mv-op .right{ margin-left:auto; display:flex; align-items:center; gap:14px; }
  .mv-badge{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; padding:4px 10px; border-radius:20px; }
  .mv-badge i{ width:7px; height:7px; border-radius:50%; display:block; }
  .mv-badge.ok{ background:#dcfce7; color:#047857; } .mv-badge.ok i{ background:#10b981; }
  .mv-badge.pend{ background:#fef3c7; color:#92400e; } .mv-badge.pend i{ background:#f59e0b; }
  .mv-op .ochev{ color:#c2cbd6; } .mv-op .ochev svg{ width:16px; height:16px; }

  /* palette ⌘K */
  .mp-dim{ position:absolute; inset:0; background:rgba(15,23,42,.42); z-index:6; opacity:0; transition:opacity .32s; }
  .mv-viewport.searching .mp-dim{ opacity:1; }
  .mp-palette{ position:absolute; left:50%; top:30px; transform:translateX(-50%) translateY(-10px) scale(.97); width:840px; z-index:8; background:#fff; border-radius:16px; padding:18px; box-shadow:0 26px 64px -14px rgba(15,23,42,.5); opacity:0; pointer-events:none; transition:opacity .3s, transform .34s cubic-bezier(.16,1,.3,1); }
  .mv-viewport.searching .mp-palette{ opacity:1; transform:translateX(-50%) translateY(0) scale(1); }
  .mp-search{ display:flex; align-items:center; gap:10px; height:46px; padding:0 14px; border:2px solid #2563eb; border-radius:11px; color:#94a0b0; font-size:15px; } .mp-search svg{ width:18px; height:18px; color:#94a0b0; }
  .mp-label{ font-size:11px; letter-spacing:.13em; color:#94a0b0; font-weight:700; margin:16px 2px 10px; }
  .mp-cards{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
  .mp-card{ position:relative; border:1px solid #edf0f4; border-radius:11px; padding:12px; min-height:112px; transition:border-color .2s, background .2s, box-shadow .2s; }
  .mp-card .pic{ width:24px; height:24px; margin-bottom:8px; } .mp-card .pic svg{ width:24px; height:24px; }
  .mp-card h5{ margin:0 0 3px; font-size:13.5px; font-weight:700; color:#0f172a; } .mp-card p{ margin:0; font-size:11px; line-height:1.3; color:#64748b; }
  .mp-card .pchev{ position:absolute; right:10px; bottom:9px; width:14px; height:14px; color:#9aa4b2; transition:transform .2s; }
  .mp-card.active{ border-color:#2563eb; background:#eff5ff; box-shadow:0 0 0 3px rgba(37,99,235,.12); } .mp-card.active .pchev{ transform:rotate(180deg); color:#2563eb; }
  .mp-sub{ margin-top:14px; opacity:0; max-height:0; overflow:hidden; transition:opacity .3s, max-height .34s; } .mp-sub.show{ opacity:1; max-height:260px; }
  .mp-sublabel{ font-size:11px; letter-spacing:.13em; color:#94a0b0; font-weight:700; margin:2px 2px 10px; }
  .mp-subitem{ display:flex; align-items:center; gap:10px; padding:11px 13px; border:1px solid #edf0f4; border-radius:9px; font-size:13.5px; color:#0f172a; margin-bottom:8px; } .mp-subitem svg{ width:17px; height:17px; }

  /* modal */
  .mv-overlay{ position:absolute; inset:0; background:rgba(15,23,42,.45); z-index:7; opacity:0; pointer-events:none; transition:opacity .26s; } .mv-overlay.open{ opacity:1; }
  .mv-modal{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(.95); width:640px; z-index:9; background:#fff; border-radius:16px; box-shadow:0 40px 90px -24px rgba(15,23,42,.55); padding:22px 24px 20px; opacity:0; pointer-events:none; transition:opacity .26s, transform .3s cubic-bezier(.16,1,.3,1); }
  .mv-modal.open{ opacity:1; transform:translate(-50%,-50%) scale(1); }
  .mv-mhead{ display:flex; align-items:flex-start; justify-content:space-between; } .mv-kick{ font-size:11px; letter-spacing:.12em; color:#94a0b0; font-weight:700; text-transform:uppercase; }
  .mv-mhead h3{ font-size:18px; font-weight:800; color:#0f172a; margin:3px 0 0; } .mv-x{ color:#a2acbb; display:flex; } .mv-x svg{ width:18px; height:18px; }
  .mv-mc{ animation:mv-mc .3s cubic-bezier(.16,1,.3,1) both; } @keyframes mv-mc{ from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:translateY(0)} }

  /* seletor de tipo (igual ao sistema) */
  .mv-tsearch{ display:flex; align-items:center; gap:10px; height:44px; border:2px solid #2563eb; border-radius:10px; padding:0 14px; color:#94a0b0; font-size:14px; margin-top:14px; } .mv-tsearch svg{ width:16px; height:16px; color:#94a0b0; }
  .mv-slabel{ display:flex; align-items:center; justify-content:space-between; margin:18px 2px 12px; } .mv-slabel span{ font-size:12.5px; font-weight:700; color:#475569; }
  .mv-prio{ font-size:11px; font-weight:700; color:#2563eb; background:#e8f0ff; padding:3px 10px; border-radius:20px; }
  .mv-freq{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .mv-fcard{ border:1px solid #edf0f4; border-radius:12px; padding:14px 15px; display:flex; gap:13px; align-items:flex-start; transition:border-color .16s, background .16s, box-shadow .16s; }
  .mv-fcard.hot{ border-color:#2563eb; background:#f5f9ff; box-shadow:0 12px 26px -12px rgba(37,99,235,.45); }
  .mv-fcard .cir{ width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:none; } .mv-fcard .cir svg{ width:20px; height:20px; }
  .mv-fcard h5{ margin:0; font-size:15px; font-weight:700; color:#0f172a; } .mv-fcard .sub{ font-size:12.5px; color:#94a0b0; margin:1px 0 8px; } .mv-fcard .cta{ font-size:13px; font-weight:700; color:#2563eb; }
  .mv-outros{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
  .mv-ocard{ border:1px solid #edf0f4; border-radius:10px; padding:11px 12px; display:flex; align-items:center; gap:10px; }
  .mv-ocard .cir{ width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:none; } .mv-ocard .cir svg{ width:16px; height:16px; }
  .mv-ocard h6{ margin:0; font-size:12.5px; font-weight:700; color:#0f172a; } .mv-ocard small{ font-size:10.5px; color:#94a0b0; }
  .mv-fnote{ text-align:center; font-size:12px; color:#94a0b0; margin-top:16px; } .mv-fnote b{ color:#2563eb; }

  /* form venda */
  .mv-fld{ margin-top:14px; } .mv-fld label{ display:block; font-size:13px; color:#475569; margin-bottom:6px; }
  .mv-inp{ height:44px; border:1px solid #dbe2ea; border-radius:9px; display:flex; align-items:center; justify-content:space-between; padding:0 12px; font-size:14px; color:#0f172a; }
  .mv-inp.focus{ border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.15); } .mv-inp svg{ width:16px; height:16px; color:#94a0b0; }
  .mv-row2{ display:flex; gap:12px; } .mv-row2 .mv-fld{ flex:1; }
  .mv-info{ display:flex; gap:10px; background:#eff6ff; border:1px solid #dbe8fe; border-radius:10px; padding:11px 13px; color:#3b5573; font-size:12.5px; line-height:1.4; margin-top:16px; } .mv-info svg{ width:16px; height:16px; color:#2563eb; flex:none; margin-top:1px; }
  .mv-mfoot{ display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
  .mv-btn{ height:40px; padding:0 18px; border-radius:9px; font-size:14px; font-weight:600; border:1px solid transparent; display:inline-flex; align-items:center; gap:7px; }
  .mv-btn.ghost{ background:#fff; border-color:#e2e8f0; color:#475569; } .mv-btn.primary{ background:#1e293b; color:#fff; }
  .mv-btn.primary .sp{ width:15px; height:15px; border:2px solid rgba(255,255,255,.5); border-top-color:#fff; border-radius:50%; animation:mv-sp .7s linear infinite; } @keyframes mv-sp{ to{ transform:rotate(360deg) } }

  .mv-toast{ position:absolute; top:20px; right:22px; z-index:10; background:#fff; border:1px solid #e7ecf3; border-radius:13px; box-shadow:0 18px 44px -14px rgba(16,24,40,.32); padding:12px 15px; display:flex; align-items:center; gap:12px; min-width:280px; opacity:0; transform:translateX(24px); transition:opacity .38s, transform .38s cubic-bezier(.16,1,.3,1); } .mv-toast.show{ opacity:1; transform:none; }
  .mv-toast .ck{ width:32px; height:32px; border-radius:50%; background:#dcfce7; color:#059669; display:flex; align-items:center; justify-content:center; flex:none; } .mv-toast .ck svg{ width:18px; height:18px; }
  .mv-toast b{ font-size:13.5px; color:#0f172a; display:block; line-height:1.2; } .mv-toast small{ font-size:12px; color:#94a0b0; }

  .mv-cursor{ position:absolute; z-index:12; width:22px; height:22px; pointer-events:none; left:0; top:0; transition:transform .56s cubic-bezier(.4,0,.2,1); filter:drop-shadow(0 2px 3px rgba(15,23,42,.35)); }
  .mv-pulse{ position:absolute; z-index:11; width:14px; height:14px; border-radius:50%; border:2px solid var(--blue); opacity:0; } .mv-pulse.go{ animation:mv-pulse .5s ease-out; } @keyframes mv-pulse{ 0%{opacity:.6;transform:scale(.6)} 100%{opacity:0;transform:scale(2.6)} }

/* ---------- CARD "1 a 7 DIAS" (seção Anvisa) ---------- */
/* Fonte — remova esta linha se o tema já usa Inter */
500;600;700;800&display=swap');

/* Fundo escuro do bloco (a "seção Anvisa"). Se sua seção do Elementor
   já for azul escura, troque por background:transparent; e apague o padding. */
.cf-prazo-wrap{
  background:#12235C;
  padding:40px;
  border-radius:20px;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* O card */
.cf-prazo{
  max-width:460px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(147,180,248,.22);
  border-left:4px solid #4F82F5;
  border-radius:0 18px 18px 0;
  padding:30px 28px;
  box-sizing:border-box;
}

.cf-prazo *{box-sizing:border-box;}

/* Tag "Regra em vigor" */
.cf-prazo-tag{
  display:inline-flex;
  background:rgba(79,130,245,.24);
  color:#C7D6FA;
  font-size:11px;
  font-weight:700;
  letter-spacing:.6px;
  text-transform:uppercase;
  padding:6px 11px;
  border-radius:100px;
  margin-bottom:16px;
}

/* Número gigante */
.cf-prazo-num{
  display:flex;
  align-items:baseline;
  gap:9px;
  margin-bottom:12px;
}
.cf-prazo-num strong{
  font-size:60px;
  font-weight:800;
  color:#fff;
  letter-spacing:-2px;
  line-height:1;
}
.cf-prazo-num span{
  font-size:22px;
  font-weight:600;
  color:#93B4F8;
}

/* Descrição */
.cf-prazo-desc{
  font-size:15px;
  line-height:1.7;
  color:#C7D6FA;
  margin:0 0 20px;
}

/* Lista de sanções */
.cf-prazo-lista{
  list-style:none;
  margin:0 0 18px;
  padding:16px 0 0;
  border-top:1px solid rgba(255,255,255,.12);
}
.cf-prazo-lista li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:14px;
  color:#fff;
  font-weight:500;
  padding:6px 0;
}
.cf-prazo-lista svg{
  width:14px;
  height:14px;
  fill:#93B4F8;
  margin-top:3px;
  flex-shrink:0;
}

/* Fonte legal */
.cf-prazo-fonte{
  font-size:11.5px;
  line-height:1.6;
  color:#7E92C4;
  margin:0;
}

/* Mobile */
@media (max-width:767px){
  .cf-prazo-wrap{padding:22px;border-radius:14px;}
  .cf-prazo{padding:24px 20px;}
  .cf-prazo-num strong{font-size:48px;}
}

/* ============================================================
   MODO COMPACTO (celular, até 759px) — ativado pela classe
   html.demo-compact (demos.js). Tela interna de 640px com grades
   mais estreitas, depois reduzida para caber na largura da tela.
   ============================================================ */
html.demo-compact .cf-scale, html.demo-compact .rf-scale, html.demo-compact .tx-scale, html.demo-compact .mv-scale,
html.demo-compact .cf-browser, html.demo-compact .rf-browser, html.demo-compact .tx-browser, html.demo-compact .mv-browser{ width:640px; }
html.demo-compact .cf-address, html.demo-compact .rf-addr, html.demo-compact .tx-addr, html.demo-compact .mv-addr{ max-width:420px; }
/* paletas de navegação */
html.demo-compact .cf-palette, html.demo-compact .pl-palette, html.demo-compact .mp-palette{ width:592px; padding:16px; }
html.demo-compact .cf-cards, html.demo-compact .pl-cards, html.demo-compact .mp-cards{ grid-template-columns:repeat(3,1fr); }
html.demo-compact .cf-sublist[data-cols="3"]{ grid-template-columns:1fr 1fr; }
html.demo-compact .cf-ghost{ padding:20px 24px; }
/* relatórios */
html.demo-compact .rf-grid{ grid-template-columns:repeat(2,1fr); gap:14px; }
html.demo-compact .rf-modal{ width:520px; max-width:calc(100% - 32px); }
/* transmissão */
html.demo-compact .tx-stats{ grid-template-columns:repeat(3,1fr); gap:10px; }
html.demo-compact .tx-modal{ width:480px; max-width:calc(100% - 32px); }
html.demo-compact .tx-sub{ max-width:none; }
/* movimentações */
html.demo-compact .mv-modal{ width:540px; max-width:calc(100% - 32px); }
html.demo-compact .mv-outros{ grid-template-columns:1fr 1fr; }
