/* L'LAURÊ PRO, by Miror
   Identidade da L'Laurê (Montserrat, vinho, magenta e rosado) no redesenho mobile first
   (referencia_design/README.md). Três faixas de tela, sempre em min-width:
   - até 767 px: celular, com cabeçalho de 56 px, barra inferior e gavetas que sobem de baixo;
   - 768 px a 1023 px: o mesmo layout, com o conteúdo centralizado em 720 px e gavetas de até 560 px;
   - a partir de 1024 px: menu lateral, tabelas e diálogos centralizados, com os mesmos tokens. */

@font-face{font-family:Montserrat;src:url(../fonts/montserrat.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

/* ───────── tokens ───────── */
:root{
  --vinho:#7A1F3D;
  --vinho-escuro:#5E1730;
  --magenta:#D31C71;
  --selo:#C40B63;
  --rosado:#F1EBEB;
  --branco:#FFFFFF;
  --tinta:#000000;
  --tinta-2:#4D4D4D;
  --cinza:#666666;
  --linha:#E6E6E6;
  --ok:#0E7A3F;
  --borda-campo:#CFC5C7;
  --ok-fundo:#E4F2EA;
  --alerta-fundo:#FBE7F0;
  --alca:#D9CFD1;
  --escuro:#1C1416;
  --fundo-gaveta:rgba(26,8,15,.5);
  --hover-linha:#FBF8F8;
  --texto-leitura:#1A1A1A;

  --sans:Montserrat,"Helvetica Neue",Arial,system-ui,sans-serif;

  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;
  --r-botao:10px;--r-campo:10px;--r-chip:20px;--r-seg:12px;--r-cartao:12px;--r-cartao-g:14px;--r-bloco:16px;--r-gaveta:24px;--r-selo:4px;
  --borda:inset 0 0 0 1px var(--linha);
  --borda-forte:inset 0 0 0 1.5px var(--borda-campo);
  --sombra-gaveta:0 -10px 40px rgba(0,0,0,.18);
  --sombra-fab:0 8px 20px rgba(122,31,61,.35);
  --sombra-seg:0 1px 3px rgba(0,0,0,.12);
  --entrada:cubic-bezier(.2,.8,.2,1);

  --cab-h:56px;
  --barra-h:calc(58px + max(6px, env(safe-area-inset-bottom, 0px)));
  --lado-w:16rem;
  --margem:16px;
}

/* ───────── base ───────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--cab-h) + 16px)}
body{margin:0;background:var(--branco);color:var(--tinta);font:400 15px/1.55 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}
img,svg,video{display:block;max-width:100%}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{cursor:pointer}
[hidden]{display:none !important}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.num{font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--vinho);outline-offset:2px}
.sobre-vinho :focus-visible{outline-color:#fff}
.skip{position:absolute;left:8px;top:-60px;z-index:300;background:var(--vinho);color:#fff;padding:10px 14px;text-decoration:none;font-weight:600;border-radius:var(--r-botao)}
.skip:focus{top:8px}
.aba:focus,.aba h1:focus{outline:none}

/* visível só no celular e no tablet / só no computador */
.sr-movel{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.wrap{width:100%;margin:0 auto;padding:0 var(--margem)}

/* ───────── estrutura ───────── */
.shell{display:block}
.area{min-width:0;padding-bottom:var(--barra-h)}
.lado{display:none}

/* cabeçalho do celular: voltar, título e no máximo uma ação */
.cab{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:2px;height:var(--cab-h);padding:0 6px 0 4px;background:var(--branco);border-bottom:1px solid var(--rosado)}
.cab-logo{display:none;align-items:center;height:38px;margin:0 auto 0 12px;color:var(--vinho);font-size:20px;text-decoration:none}
.cab-logo .mp-pro,.sb-marca-txt .mp-pro{font-size:9.5px}
.cab-titulo{flex:1;min-width:0;padding-left:12px;font:700 17px/22px var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cab-voltar:not([hidden])+.cab-logo+.cab-titulo{padding-left:0}
.cab-acoes{display:flex;align-items:center;flex:none}
.cab-acao{display:none}
.cab-acao.ativa{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:44px;padding:0 10px;border:0;border-radius:var(--r-botao);background:none;color:var(--vinho);font:600 14px/1 var(--sans);text-decoration:none;white-space:nowrap}
.cab-acao.ativa[hidden],.cab-acao:not(.ativa){display:none !important}
.cab-acao svg{width:18px;height:18px;flex:none}
.cab-acao.btn-icone{color:var(--tinta);padding:0}
.cab-acao.btn-icone svg{width:22px;height:22px}
.cab-avatar.ativa{padding:0;width:44px}
.cab-avatar span{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--vinho);color:#fff;font:700 12px/1 var(--sans)}
.cab-avatar span:empty{display:none}
.cab-avatar svg{width:34px;height:34px;padding:7px;border-radius:50%;background:var(--vinho);color:#fff}
.cab-avatar span:not(:empty)+svg{display:none}
body[data-aba="inicio"] .cab{border-bottom-color:transparent;padding-right:10px}
body[data-aba="inicio"] .cab-logo{display:flex}
body[data-aba="inicio"] .cab-titulo{display:none}
body.sem-login .cab{display:none}

.btn-icone{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;padding:0;background:transparent;border:0;border-radius:22px;color:var(--tinta)}
.btn-icone:hover{background:var(--rosado)}
.btn-icone svg{width:22px;height:22px}

/* barra inferior fixa: Início, Catálogo, Checklist, Estudos e Mais */
.barra-inf{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:flex-start;padding:6px 4px max(6px, env(safe-area-inset-bottom, 0px));background:var(--branco);border-top:1px solid var(--linha)}
.barra-inf a{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:52px;color:var(--tinta-2);font:500 11px/14px var(--sans);text-decoration:none}
.bi-ico{display:flex;align-items:center;justify-content:center;width:60px;height:32px;border-radius:16px}
.bi-ico svg{width:22px;height:22px;stroke-width:1.7}
.barra-inf a[aria-current]{color:var(--vinho);font-weight:700}
.barra-inf a[aria-current] .bi-ico{background:var(--rosado)}
.barra-inf a[aria-current] svg{stroke-width:2}
.barra-inf a:focus-visible{outline-offset:-2px;border-radius:12px}
body.sem-login .barra-inf,body.teclado .barra-inf,body:has(dialog[open]) .barra-inf{display:none}
body.sem-login .area{padding-bottom:0}

/* faixa de progresso de leitura, logo abaixo do cabeçalho */
.barra-leitura{position:fixed;top:var(--cab-h);left:0;right:0;height:3px;z-index:39;background:var(--rosado);pointer-events:none}
.barra-leitura i{display:block;height:100%;background:var(--vinho);transform-origin:0 50%;transform:scaleX(var(--p,0))}

/* ───────── botões ───────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border:0;border-radius:var(--r-botao);background:var(--vinho);color:#fff;font:600 15px/1.2 var(--sans);text-align:center;text-decoration:none;cursor:pointer}
.btn:hover,.btn:active{background:var(--vinho-escuro);color:#fff}
.btn svg{width:18px;height:18px;flex:none}
.btn.sec{background:var(--branco);color:var(--vinho);box-shadow:inset 0 0 0 1.5px var(--vinho)}
.btn.sec:hover,.btn.sec:active{background:var(--hover-linha);color:var(--vinho-escuro)}
.btn.sec.neutro{color:var(--tinta);box-shadow:inset 0 0 0 1px var(--borda-campo)}
.btn.peq{min-height:44px;padding:0 14px;font-size:14px}
.btn.perigo{background:var(--branco);color:var(--selo);box-shadow:inset 0 0 0 1.5px var(--selo)}
.btn.perigo:hover{background:var(--alerta-fundo);color:var(--selo)}
.btn.destrutivo{background:var(--selo);color:#fff}
.btn.destrutivo:hover{background:#A3094F}
.btn.contorno{min-height:44px;padding:0 18px;background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px #fff;font-size:14px}
.btn.contorno:hover{background:rgba(255,255,255,.14)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
a.btn,a.btn:hover{text-decoration:none}
.btn-texto{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 12px;border:0;background:none;color:var(--vinho);font:600 14px/1.2 var(--sans);text-decoration:none;border-radius:var(--r-botao)}
.btn-texto:hover{background:var(--hover-linha)}
.btn-texto svg{width:18px;height:18px}

/* botão flutuante, acima da barra inferior */
.btn.fab{position:fixed;right:var(--margem);bottom:calc(var(--barra-h) + 16px);z-index:35;min-height:52px;padding:0 20px 0 16px;border-radius:16px;font-size:14px;box-shadow:var(--sombra-fab)}
.btn.fab svg{width:20px;height:20px}

/* ───────── campos ───────── */
.campo{display:grid;gap:6px;min-width:0;align-content:start}
.campo>label,.campo>.rot,legend{font:600 13px/18px var(--sans)}
.dica,.campo .dica{font-size:12px;line-height:16px;color:var(--cinza);font-weight:400}
.ctl{width:100%;min-height:48px;padding:0 14px;border:0;border-radius:var(--r-campo);background:var(--branco);box-shadow:var(--borda-forte);color:var(--tinta);font-size:16px;line-height:1.3;appearance:none;-webkit-appearance:none}
.ctl:focus,.ctl:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--vinho)}
.ctl[aria-invalid="true"]{box-shadow:inset 0 0 0 2px var(--selo)}
.ctl[disabled]{background:var(--hover-linha);color:var(--cinza)}
.ctl::placeholder{color:#767676}
textarea.ctl{min-height:96px;padding:12px 14px;line-height:1.45;resize:vertical}
select.ctl{padding-right:40px;background:var(--branco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234D4D4D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/18px 18px;cursor:pointer}
input[type="date"].ctl{padding-right:12px}
input[type="search"].ctl::-webkit-search-cancel-button{-webkit-appearance:none}
.erro-campo{color:var(--selo);font-size:12px;line-height:16px;font-weight:600}
.ctl-grupo{position:relative;display:flex;align-items:center}
.ctl-grupo .ctl-un{position:absolute;left:14px;font-size:13px;font-weight:500;color:var(--cinza);pointer-events:none}
.ctl-grupo .ctl-un+.ctl{padding-left:40px}
.ctl-grupo .ctl:not(:last-child){padding-right:36px}
.ctl-grupo .ctl+.ctl-un{left:auto;right:14px}
.ctl-ico>svg{position:absolute;left:12px;width:18px;height:18px;color:var(--cinza);pointer-events:none}
.ctl-ico>.ctl{padding-left:38px}
.ctl-senha .ctl{padding-right:96px}
.ctl-mostrar{position:absolute;right:4px;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:none;color:var(--vinho);font:600 14px/1 var(--sans)}
.ctl-mostrar:hover{background:var(--hover-linha)}

/* caixa de seleção 22 px (raio 6), rádio e chave 51 × 31 */
.marca-check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:500;cursor:pointer}
.marca-check input,.lista-saida input[type="checkbox"]{flex:none;margin:0;appearance:none;-webkit-appearance:none;width:22px;height:22px;border-radius:6px;box-shadow:inset 0 0 0 2px var(--tinta-2);background:var(--branco) no-repeat center/14px 14px;cursor:pointer}
.marca-check input:checked,.lista-saida input[type="checkbox"]:checked{background-color:var(--vinho);box-shadow:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E")}
.marca-check input[type="radio"]{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--borda-campo)}
.marca-check input[type="radio"]:checked{background:var(--branco);box-shadow:inset 0 0 0 6px var(--vinho)}
.marca-check input:focus-visible,.lista-saida input:focus-visible{outline:2px solid var(--vinho);outline-offset:2px}
.marca-check input[disabled]{opacity:.5}
.interruptor,.marca-check input.interruptor{flex:none;margin:0;appearance:none;-webkit-appearance:none;position:relative;width:51px;height:31px;border-radius:16px;background:var(--linha);box-shadow:none;cursor:pointer;transition:background .2s}
.interruptor::after{content:"";position:absolute;left:2px;top:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .2s}
.interruptor:checked,.marca-check input.interruptor:checked{background:var(--vinho);background-image:none}
.interruptor:checked::after{transform:translateX(20px)}
.marca-check.chave{justify-content:space-between;font-weight:600}
.marca-check.chave input{order:2}

/* controle segmentado */
.seg{display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);height:44px;padding:3px;background:var(--rosado);border-radius:var(--r-seg);max-width:100%}
.seg-btn{min-width:0;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--tinta-2);font:600 13px/1.2 var(--sans);white-space:nowrap}
.seg-btn:hover{color:var(--tinta)}
.seg-btn[aria-pressed="true"]{background:var(--branco);color:var(--vinho);box-shadow:var(--sombra-seg)}

/* chips de filtro (pílula de 40 px) */
.chip-f{display:inline-flex;align-items:center;gap:4px;flex:none;height:40px;padding:0 14px;border:0;border-radius:var(--r-chip);background:var(--branco);box-shadow:inset 0 0 0 1px var(--borda-campo);color:var(--tinta);font:600 13px/1 var(--sans);white-space:nowrap}
.chip-f svg{width:16px;height:16px;margin-right:-4px;color:var(--tinta-2)}
.chip-f[aria-pressed="true"]{background:var(--vinho);box-shadow:none;color:#fff}
.chip-f[aria-pressed="true"] svg{color:#fff}
.chip-f:hover{background:var(--hover-linha)}
.chip-f[aria-pressed="true"]:hover{background:var(--vinho-escuro)}
.chips-linha{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--margem) * -1);padding:0 var(--margem)}
.chips-linha::-webkit-scrollbar{display:none}
.chips-quebra{display:flex;flex-wrap:wrap;gap:8px}
select.chip-sel{width:auto;min-height:40px;height:40px;padding:0 32px 0 14px;border-radius:var(--r-chip);box-shadow:inset 0 0 0 1px var(--borda-campo);font:600 13px/1 var(--sans);background-position:right 10px center;background-size:16px 16px}
.chip-check{position:relative;flex:none;min-height:40px;height:40px;padding:0 14px;border-radius:var(--r-chip);box-shadow:inset 0 0 0 1px var(--borda-campo);font:600 13px/1 var(--sans);white-space:nowrap;gap:0}
.chip-check input{position:absolute;opacity:0;width:1px;height:1px}
.chip-check:has(input:checked){background:var(--vinho);color:#fff;box-shadow:none}
.chip-check:has(input:focus-visible){outline:2px solid var(--vinho);outline-offset:2px}

/* selos (raio 4) */
.selo,.selo-cat,.selo-badge,.badge-desc,.selo-crit,.grav,.tag-interno,.tag-editado,.rot-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:var(--r-selo);font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap}
.selo svg{width:12px;height:12px;flex:none}
.selo-cat{background:var(--branco);box-shadow:var(--borda);color:var(--tinta-2);font-weight:600}
.selo-cat.novo{background:var(--vinho);box-shadow:none;color:#fff;font-weight:700}
.selo-cat.ok,.selo.ok{background:var(--ok-fundo);box-shadow:none;color:var(--ok)}
.selo-cat.aviso{background:var(--alerta-fundo);box-shadow:none;color:var(--selo)}
.selo-cat.erro{background:var(--selo);box-shadow:none;color:#fff}
.selo-cat.apoio{background:var(--rosado);box-shadow:none;color:var(--vinho-escuro)}
.selo-badge{background:var(--selo);color:#fff}
.badge-desc{padding:2px 5px;background:var(--selo);color:#fff}
.selo-crit{background:var(--selo);color:#fff}
.tag-interno,.tag-editado{padding:2px 6px;background:var(--alerta-fundo);color:var(--selo)}
.selo{margin:2px 6px 2px 0}
.selo.st{background:var(--rosado);color:var(--vinho-escuro)}
.selo.st-ativa,.selo.st-criada{background:var(--ok-fundo);color:var(--ok)}
.selo.al{background:var(--alerta-fundo);color:var(--selo)}
.contador{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 7px;border-radius:11px;background:var(--rosado);color:var(--vinho-escuro);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}

/* textos de página */
.pagina{padding-top:14px;padding-bottom:var(--s6)}
.pagina h1{font:700 27px/32px var(--sans);letter-spacing:-.005em}
.pagina h2{font:700 19px/24px var(--sans)}
.pagina h3{font:700 16px/21px var(--sans)}
.meta{font-size:13px;line-height:18px;color:var(--cinza)}
.intro{margin-top:var(--s3);max-width:62ch;font-size:14px;line-height:21px;color:var(--tinta-2)}
.cab-pagina{margin:0 0 14px}
.cab-pagina>h1{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cab-pagina>h1+.intro{margin-top:0}
.migalha{display:none}
.vazio-lista{margin-top:var(--s4);padding:var(--s5) var(--s4);border-radius:var(--r-cartao-g);box-shadow:inset 0 0 0 1.5px var(--borda-campo);color:var(--cinza);font-size:13px;line-height:19px;text-align:center}
.vazio-lista p{max-width:56ch;margin:0 auto}
.cat-aviso:has(> svg){display:flex}
.cat-aviso,.aviso-suave{display:block;gap:10px;align-items:flex-start;margin-top:var(--s3);padding:12px 14px;border-radius:var(--r-cartao);box-shadow:var(--borda);background:var(--branco);font-size:12.5px;line-height:18px;color:var(--tinta-2)}
.aviso-suave{background:var(--rosado);box-shadow:none}
.cat-aviso>svg{width:18px;height:18px;flex:none;margin-top:1px;color:var(--vinho)}
.cat-aviso b{color:var(--tinta)}
.cat-aviso a{color:var(--vinho);font-weight:600}
.cat-aviso code,.trava code{font-size:.92em;padding:1px 5px;border-radius:4px;background:var(--rosado)}
.trava{display:grid;gap:var(--s3);max-width:62ch;margin-top:var(--s4);padding:var(--s4);border-radius:var(--r-cartao-g);background:var(--rosado)}
.trava p{font-size:14px;line-height:1.55;color:var(--tinta-2)}
.trava .trava-tit,.trava-tit{font-weight:700;font-size:16px;color:var(--tinta)}
.barra-acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s4)}
fieldset{margin:0;padding:0;border:0;min-width:0}
legend{padding:0;margin-bottom:8px}
.dois{display:grid;gap:var(--s4)}

/* ───────── gavetas (todo diálogo e painel no celular) ───────── */
dialog{padding:0;border:0;color:var(--tinta);background:var(--branco);max-width:none;max-height:none}
dialog::backdrop{background:var(--fundo-gaveta)}
.dlg,.painel{position:fixed;inset:auto 0 0 0;margin:0 auto;width:100%;max-width:100%;max-height:calc(100dvh - 56px);display:none;flex-direction:column;overflow:hidden;border-radius:var(--r-gaveta) var(--r-gaveta) 0 0;box-shadow:var(--sombra-gaveta);overscroll-behavior:contain}
.dlg[open],.painel[open]{display:flex}
.dlg-alta,.painel{height:calc(100dvh - 56px)}
.dlg>form,.dlg-estado{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
#form-conta{display:contents}
.alca{flex:none;display:flex;justify-content:center;padding:8px 0 4px;touch-action:none;cursor:grab}
.alca::before{content:"";width:40px;height:5px;border-radius:3px;background:var(--alca)}
dialog header{flex:none;display:flex;align-items:flex-start;gap:8px;padding:2px 8px 10px 20px;touch-action:none}
dialog header>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding-top:6px}
dialog header h2{flex:1;min-width:0;padding-top:6px;font:700 21px/26px var(--sans)}
dialog header>div h2{padding-top:0}
dialog header .meta{font-size:14px;line-height:21px;color:var(--tinta-2)}
dialog header .btn-texto{margin-top:0}
.painel header,.dlg-alta header{border-bottom:1px solid var(--linha);padding-bottom:8px}
.painel header .meta{font-size:13px;color:var(--cinza)}
dialog .corpo{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:16px;padding:14px 20px 16px}
dialog footer{flex:none;display:flex;flex-direction:row-reverse;gap:8px;padding:12px 20px max(16px, env(safe-area-inset-bottom, 0px));border-top:1px solid var(--linha);background:var(--branco)}
dialog footer .btn{flex:2 1 0;min-height:52px}
dialog footer .btn.sec{flex:1 1 0;background:transparent;box-shadow:none}
dialog footer .btn.sec:hover{background:var(--hover-linha)}
.dlg-curta footer{flex-direction:column;gap:4px;padding-top:4px;border-top:0}
.dlg-curta footer .btn{flex:none}
.dlg-curta footer .btn.sec{min-height:48px}
.dlg-curta .corpo{padding-top:6px}
dialog .corpo .btn.perigo,.acoes-conta .btn.perigo{background:transparent;box-shadow:none}
.acao-perigo{display:flex;justify-content:center}
.fechar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:22px;background:transparent;color:var(--tinta-2);font-size:24px;line-height:1}
.fechar:hover{background:var(--rosado)}
.fechar svg{width:22px;height:22px}
.fechar[disabled]{opacity:.35;cursor:not-allowed}
@media (prefers-reduced-motion:no-preference){
  .dlg[open],.painel[open]{animation:gaveta-sobe .28s var(--entrada)}
  dialog[open]::backdrop{animation:escurece .2s ease-out}
  .dlg.arrastando,.painel.arrastando{animation:none;transition:none}
  .dlg.soltando,.painel.soltando{transition:transform .2s var(--entrada)}
}
@keyframes gaveta-sobe{from{transform:translateY(100%)}to{transform:none}}
@keyframes escurece{from{opacity:0}to{opacity:1}}
@keyframes aparece{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes entra{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}

/* confirmação (gaveta curta) */
.dlg-confirma header{flex-direction:column;gap:14px;padding-top:6px}
.conf-ico{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:26px;background:var(--alerta-fundo);color:var(--selo)}
.conf-ico svg{width:24px;height:24px}
.dlg-confirma header h2{padding-top:0}
#conf-texto{font-size:14px;line-height:21px;color:var(--tinta-2)}

/* busca (tela cheia no celular) */
.busca{position:fixed;inset:0;margin:0;width:100%;height:100dvh;max-height:none;display:none;flex-direction:column;border-radius:0}
.busca[open]{display:flex}
.busca .campo-b{flex:none;display:flex;align-items:center;gap:4px;height:60px;padding:0 16px 0 4px}
.busca-pilula{flex:1;min-width:0;position:relative;display:flex;align-items:center}
.busca-pilula svg{position:absolute;left:14px;width:18px;height:18px;color:var(--tinta-2);pointer-events:none}
.busca-pilula input{width:100%;height:44px;padding:0 14px 0 40px;border:0;border-radius:22px;background:var(--rosado);box-shadow:inset 0 0 0 2px var(--vinho);font-size:16px;appearance:none}
.busca-pilula input:focus{outline:none}
.busca-pilula input::-webkit-search-cancel-button{-webkit-appearance:none}
.busca-x{display:none}
.busca-dica{padding:4px 20px 0;font-size:12px;color:var(--cinza)}
.busca .res{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:16px 16px 24px}
.busca .res h3{margin:8px 0 0;font:700 11px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--cinza)}
.busca .res a{display:block;padding:12px 14px;border-radius:var(--r-cartao-g);box-shadow:var(--borda);text-decoration:none;font-size:13px;line-height:18px;color:var(--tinta-2)}
.busca .res a:hover,.busca .res a:focus-visible{background:var(--hover-linha)}
.busca .res a small{display:block;margin-bottom:2px;color:var(--tinta);font-size:14px;font-weight:700}
.busca .res mark{background:var(--rosado);color:var(--vinho);font-weight:700;padding:0 2px;border-radius:3px}
.busca .res .msg{padding:8px 0;color:var(--tinta-2);font-size:14px}
@media (prefers-reduced-motion:no-preference){.busca[open]{animation:aparece .18s ease-out}}

/* aviso rápido */
.toast{position:fixed;left:50%;bottom:calc(var(--barra-h) + 16px);transform:translateX(-50%);z-index:200;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:var(--r-botao);background:var(--escuro);color:#fff;font-size:14px;font-weight:600;pointer-events:none}
body.sem-login .toast{bottom:24px}

/* ───────── marca L'LAURÊ PRO (by Miror) ───────── */
.marca-pro{display:inline-flex;align-items:center;gap:.3em;white-space:nowrap;font-weight:800;letter-spacing:.01em}
.mp-pro{display:inline-flex;align-items:center;padding:.22em .45em .2em;border-radius:.32em;background:var(--magenta);color:#fff;font-size:.46em;font-weight:700;letter-spacing:.14em;line-height:1}

/* ───────── entrar (01) ───────── */
.sobretitulo{position:relative;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rosado)}
.entrar{min-height:100dvh;display:flex;flex-direction:column;background:var(--branco)}
.ent-marca{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:32px;padding:max(28px, env(safe-area-inset-top, 0px)) 24px 64px;background:radial-gradient(120% 100% at 100% 0%,#962A50 0%,var(--vinho) 48%,var(--vinho-escuro) 100%);color:#fff}
.ent-flor{position:absolute;width:250px;height:auto;right:-78px;bottom:-64px;opacity:.12;pointer-events:none}
.ent-topo,.ent-titulo,.ent-miror{position:relative}
.ent-topo{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.ent-selo{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:var(--magenta)}
.ent-selo img{width:19px;height:auto}
.ent-titulo{display:grid;gap:14px}
.ent-marca h1{font:800 40px/1 var(--sans);letter-spacing:-.01em}
.ent-marca h1:focus{outline:none}
.ent-desc{max-width:34ch;font-size:15px;line-height:1.55;color:rgba(255,255,255,.8)}
.ent-miror{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.72)}
.ent-miror b{color:#fff;font-weight:700}
.ent-lado{position:relative;flex:1 0 auto;display:flex;flex-direction:column;margin-top:-28px;padding:32px 24px max(24px, env(safe-area-inset-bottom, 0px));border-radius:28px 28px 0 0;background:var(--branco)}
.ent-caixa{flex:1 0 auto;width:100%;max-width:400px;margin:0 auto}
.ent-estado h2{font:700 26px/1.2 var(--sans);letter-spacing:-.01em}
.ent-sub{margin-top:8px;font-size:14px;line-height:1.55;color:var(--cinza)}
.ent-sub b{color:var(--tinta);font-weight:600;word-break:break-all}
.ent-form{display:grid;gap:18px;margin-top:28px}
.ent-form .ctl{min-height:52px;border-radius:12px;background:#FCFAFA}
.ent-form .ctl:focus{background:var(--branco);box-shadow:inset 0 0 0 2px var(--vinho),0 0 0 4px rgba(122,31,61,.1)}
.ent-erro{padding:10px 12px;border-radius:10px;background:var(--alerta-fundo);font-size:13px;line-height:1.45}
.ent-btn{width:100%;min-height:54px;margin-top:4px;border-radius:12px;font-size:16px;box-shadow:0 8px 20px -8px rgba(122,31,61,.55);transition:background .15s,transform .15s}
.ent-btn:active{transform:translateY(1px)}
.ent-btn.sec{margin-top:24px;box-shadow:inset 0 0 0 1.5px var(--vinho)}
.ent-espera{display:flex;align-items:center;gap:12px;padding:32px 0;font-size:15px;color:var(--tinta-2)}
.ent-spin{flex:none;width:22px;height:22px;border:2.5px solid var(--rosado);border-top-color:var(--vinho);border-radius:50%;animation:ent-gira .8s linear infinite}
@keyframes ent-gira{to{transform:rotate(360deg)}}
.ent-rodape{margin-top:36px;text-align:center;font-size:12px;color:var(--cinza)}

/* ───────── início (03) ───────── */
.hero{position:relative;overflow:hidden;margin:8px var(--margem) 0;border-radius:var(--r-bloco);background:var(--vinho);color:#fff}
.hero .wrap{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px 20px 22px}
.hero h1{position:relative;font:700 27px/31px var(--sans);max-width:15ch}
.hero p{position:relative;max-width:290px;font-size:14px;line-height:21px;color:var(--rosado)}
.hero .btn{position:relative;margin-top:6px}
.hero .flor{position:absolute;width:190px;height:auto;right:-60px;top:-30px;opacity:.18}
.hero h1 .marca-pro{font-size:1.15em}
.hero p.hero-by{display:flex;align-items:center;gap:7px;margin-top:-4px;font-size:13px;font-weight:600;color:rgba(255,255,255,.75)}
.inicio-h{padding:14px 0 12px;font:700 19px/24px var(--sans)}
.tiles{border-radius:var(--r-cartao-g);box-shadow:var(--borda);overflow:hidden}
.tile{display:flex;align-items:center;gap:14px;padding:14px 12px 14px 14px;box-shadow:0 1px 0 var(--linha);color:inherit;text-decoration:none}
.tile:hover{background:var(--hover-linha)}
.tile-ico{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:12px;background:var(--rosado);color:var(--vinho)}
.tile-ico svg{width:22px;height:22px}
.tile-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.tile h2{font:700 15px/20px var(--sans)}
.tile .estado{font-size:12px;line-height:16px;font-weight:700;color:var(--selo)}
.tile .d{margin-top:2px;font-size:13px;line-height:18px;color:var(--cinza)}
.tile-seta{flex:none;color:var(--cinza)}
.tile-seta svg{width:18px;height:18px}
.secao{margin-top:var(--s6)}
.secao>h2{font:700 19px/24px var(--sans)}
.secao>.intro{margin-top:6px;font-size:13px;line-height:19px}
.cartoes{display:flex;gap:12px;margin:12px calc(var(--margem) * -1) 0;padding:4px var(--margem);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--margem);scrollbar-width:none}
.cartoes::-webkit-scrollbar{display:none}
.cartao{flex:none;width:252px;min-height:176px;display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--r-cartao-g);background:var(--rosado);color:inherit;text-decoration:none;scroll-snap-align:start}
.cartao:hover{background:#EADFE1}
.cartao h3{font:700 15px/20px var(--sans)}
.cartao p{font-size:13px;line-height:19px;color:var(--tinta-2)}
.cartao-abrir{display:flex;align-items:center;gap:4px;margin-top:auto;font-size:13px;font-weight:700;color:var(--vinho)}
.cartao-abrir svg{width:16px;height:16px}

/* ───────── aba Mais (24) ───────── */
#mais .pagina{padding-top:8px;display:flex;flex-direction:column;gap:14px}
.mais-conta.sb-conta{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:var(--r-bloco);background:var(--vinho) url(../img/flor-branca.png) no-repeat right -40px top -30px/140px auto;color:#fff}
.mais-conta.sb-conta::before{content:"";position:absolute;inset:0;background:rgba(122,31,61,.84);pointer-events:none}
.mais-conta>*{position:relative}
.mais-conta .sb-conta-txt{display:flex;align-items:center;gap:12px;min-width:0;font-size:12px;line-height:1.35;color:var(--rosado)}
.mais-conta .sb-conta-txt b{display:block;color:#fff;font-size:14px;font-weight:700;overflow-wrap:anywhere}
.mais-conta .sb-conta-txt small{display:block;margin-top:2px;font-size:12px;color:var(--rosado)}
.mais-conta .sb-conta-ponto{display:none}
.mais-conta .sb-conta-ini{display:flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;border-radius:24px;background:#fff;color:var(--vinho);font-size:16px;font-weight:700}
.mais-conta .sb-conta-acoes{display:flex;gap:8px}
.mais-conta .sb-conta-acoes .btn,.mais-conta>.btn{flex:1;min-height:44px;font-size:14px}
.mais-conta .btn.sec{background:#fff;color:var(--vinho);box-shadow:none}
.mais-conta .btn.sec[data-sair]{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
.mais-conta .btn.sec[data-sair]:hover{background:rgba(255,255,255,.14)}
.mais-conta>.btn:not(.sec){background:#fff;color:var(--vinho)}
.mais-busca{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;border:0;border-radius:22px;background:var(--rosado);color:var(--tinta-2);font:400 14px/1 var(--sans);text-align:left}
.mais-busca svg{width:18px;height:18px}
.mais-nav .sb-group{display:flex;flex-direction:column}
.mais-nav .sb-group+.sb-group{margin-top:12px}
.mais-nav .sb-group-label{display:flex;align-items:center;justify-content:space-between;padding:8px 4px 6px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cinza);list-style:none}
.mais-nav .sb-group-label::-webkit-details-marker{display:none}
.mais-nav .sb-recolhe summary{cursor:pointer}
.mais-nav .sb-seta{width:16px;height:16px;transform:rotate(90deg);transition:transform .2s}
.mais-nav .sb-recolhe:not([open]) .sb-seta{transform:none}
.mais-nav .sb-btn,.mais-nav .sb-sub-btn{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
.mais-nav .sb-btn{min-height:48px;padding:0 4px;border-top:1px solid var(--rosado);font-size:15px;font-weight:600}
.mais-nav .sb-btn>span:not(.sb-badge){flex:1;min-width:0}
.mais-nav .sb-btn::after,.mais-nav .sb-sub-btn::after{content:"";flex:none;width:7px;height:7px;margin:0 6px 0 2px;border-top:2px solid var(--cinza);border-right:2px solid var(--cinza);transform:rotate(45deg)}
.mais-nav .sb-recolhe .sb-btn{font-size:14px;font-weight:500}
.mais-nav .sb-ico{width:18px;height:18px;flex:none;color:var(--vinho)}
.mais-nav .sb-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 7px;border-radius:11px;background:var(--rosado);color:var(--vinho-escuro);font-size:12px;font-weight:700}
.mais-nav .sb-sub{display:flex;flex-direction:column}
.mais-nav .sb-sub-btn{min-height:44px;padding:0 4px 0 18px;font-size:14px;color:var(--tinta-2)}
.mais-nav .sb-sub-btn::before{content:"";flex:none;width:2px;height:20px;background:var(--linha)}
.mais-nav .sb-sub-btn>span:last-child{flex:1;min-width:0}
.mais-nav .sb-num{font-size:14px;color:var(--tinta-2)}
.mais-nav [aria-current="page"]{color:var(--vinho)}
.mais-nav .sb-sub-btn[aria-current="page"]::before{background:var(--vinho)}
.mais-miror{align-self:center;padding:8px 0 12px;font-size:12px;color:var(--cinza)}

/* ───────── catálogo (04, 04b, 05) ───────── */
.cat-kpis{display:flex;gap:8px;margin:16px calc(var(--margem) * -1) 0;padding:0 var(--margem);overflow-x:auto;scrollbar-width:none}
.cat-kpis::-webkit-scrollbar{display:none}
.cat-kpis span{flex:none;display:flex;flex-direction:column;padding:10px 14px;border-radius:var(--r-cartao);background:var(--rosado);font-size:12px;line-height:16px;color:var(--tinta-2);white-space:nowrap}
.cat-kpis b{font-size:20px;line-height:24px;color:var(--tinta);font-variant-numeric:tabular-nums}
.cat-kpis .crit{background:var(--branco);box-shadow:inset 0 0 0 1.5px var(--selo)}
.cat-kpis .crit b{color:var(--selo)}
.cat-barra{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;padding-top:4px}
.cat-busca{flex:1 1 0}
.cat-busca>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cat-busca .ctl{min-height:44px;font-size:15px}
.btn-filtro{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:var(--r-botao);background:var(--vinho);color:#fff}
.btn-filtro:hover{background:var(--vinho-escuro)}
.btn-filtro svg{width:20px;height:20px}
.cat-f{display:none}
.cat-atalhos{display:flex;gap:8px;margin:10px calc(var(--margem) * -1) 0;padding:0 var(--margem);overflow-x:auto;scrollbar-width:none}
.cat-atalhos::-webkit-scrollbar{display:none}
.cat-res-linha{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 0}
.cat-res-linha .meta{font-size:13px}
.cat-visao-movel{height:40px;flex:none}
.cat-visao-movel .seg-btn{padding:0 14px;border-radius:8px}
.cat-res-acoes{display:none}
.cat-grupo{margin-top:24px}
.cat-grupo h2{display:flex;align-items:center;gap:8px;margin-bottom:12px;font:700 16px/21px var(--sans)}
.cat-grupo h2 .meta{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 7px;border-radius:11px;background:var(--rosado);color:var(--vinho-escuro);font-size:12px;font-weight:700;line-height:1}
#cat-lista>.cat-grade{margin-top:16px}
.cat-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.prod-card{display:flex;flex-direction:column;height:100%;border-radius:var(--r-cartao);box-shadow:var(--borda);overflow:hidden;color:inherit;text-decoration:none}
.prod-card:hover{background:var(--hover-linha)}
.prod-img{position:relative;display:block;aspect-ratio:1;background:var(--rosado)}
.prod-foto-img{width:100%;height:100%;object-fit:cover}
.foto-vazia{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--rosado)}
.foto-vazia img{width:30%;opacity:.5}
.prod-selos{position:absolute;left:8px;top:8px;display:flex;flex-wrap:wrap;gap:4px;max-width:calc(100% - 16px)}
.prod-selos .selo-cat{padding:3px 6px;font-size:10.5px;box-shadow:none}
.prod-selos .selo-cat.novo{font-weight:700}
.selo-crit{position:absolute;left:8px;bottom:8px;padding:3px 6px;font-size:10.5px}
.selo-crit.inline{position:static}
.prod-corpo{display:flex;flex-direction:column;gap:5px;flex:1;padding:10px 12px 12px}
.prod-linha{font-size:11px;font-weight:600;color:var(--cinza)}
.cat-grupo .prod-linha{display:none}
.prod-nome{font-size:13px;line-height:17px;font-weight:600}
.prod-preco{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:auto}
.prod-preco b{font-size:15px;font-variant-numeric:tabular-nums}
.prod-preco s{font-size:11.5px;color:var(--cinza);font-variant-numeric:tabular-nums}
.prod-preco.grande{gap:8px;align-items:baseline}
.prod-preco.grande b{font-size:28px;line-height:32px}
.prod-preco.grande s{font-size:14px}
.prod-preco.grande .badge-desc{padding:2px 6px;font-size:12px}
.prod-sku{font-size:11px;line-height:15px;color:var(--cinza);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* planilha: tabela no computador, lista de cartões no celular */
.pl-lista{margin:12px calc(var(--margem) * -1) 0;border-top:1px solid var(--linha)}
.pl-item{display:flex;flex-direction:column;gap:10px;padding:14px var(--margem);border-bottom:1px solid var(--linha)}
.pl-item:hover{background:var(--hover-linha)}
.pl-topo{display:flex;gap:12px;align-items:flex-start;color:inherit;text-decoration:none}
.pl-foto{flex:none;width:56px;height:56px;border-radius:10px;overflow:hidden;background:var(--rosado)}
.pl-foto img,.pl-foto .foto-vazia{width:100%;height:100%;object-fit:cover}
.pl-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pl-txt b{font-size:14px;line-height:18px;font-weight:600}
.pl-txt small{font-size:11.5px;color:var(--cinza);overflow-wrap:anywhere}
.pl-txt span{font-size:12px;line-height:16px;color:var(--tinta-2)}
.pl-valores{display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr;gap:6px;margin:0;padding:8px 10px;border-radius:10px;background:var(--rosado)}
.pl-valores div{display:flex;flex-direction:column;gap:1px;min-width:0}
.pl-valores dt{font-size:11px;color:var(--cinza)}
.pl-valores dd{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.pl-valores dd.fraco{font-weight:600;color:var(--tinta-2)}
.pl-valores .m-ruim,.pl-valores .m-baixa,.pl-valores .m-boa{background:none;padding:0}
.pl-valores .sem{color:var(--selo)}
.pl-rodape{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--cinza)}
.pl-rodape>span:last-child{display:flex;align-items:center;gap:6px;flex:none;font-size:12px;font-weight:600;color:var(--tinta-2)}
.pl-tabela{display:none}
.cat-tab .pl-foto{width:64px}
.cat-tab .pl-foto img,.cat-tab .pl-foto .foto-vazia{width:48px;height:48px;object-fit:contain;border-radius:6px;box-shadow:var(--borda);background:#fff}
.cat-tab th a{color:var(--vinho);font-weight:700}

/* gaveta de filtros do catálogo */
.f-grupo{display:flex;flex-direction:column;gap:10px}
.f-grupo>.rot{font-size:13px;font-weight:700}
.f-grupo .seg{display:grid;width:100%}
.f-crit{display:flex;align-items:center;gap:12px;min-height:52px;padding-top:12px;border-top:1px solid var(--linha);cursor:pointer}
.f-crit span{flex:1;display:flex;flex-direction:column;gap:2px;font-size:15px;font-weight:600}
.f-crit small{font-size:12px;font-weight:400;color:var(--cinza)}
#dlg-filtros header{align-items:center;padding-bottom:4px;border-bottom:0}
#dlg-filtros header h2{padding-top:0}
#dlg-filtros .corpo{gap:24px;padding-top:8px}

/* ficha do produto (06a, 06b, 06c) */
.ficha-abas{position:sticky;top:var(--cab-h);z-index:30;display:flex;margin:-14px calc(var(--margem) * -1) 0;padding:0 8px;background:var(--branco);border-bottom:1px solid var(--linha)}
.ficha-abas button{flex:1;min-width:0;height:44px;padding:0 4px;border:0;background:none;color:var(--tinta-2);font:600 13px/1.2 var(--sans)}
.ficha-abas button[aria-pressed="true"]{color:var(--vinho);font-weight:700;box-shadow:inset 0 -3px 0 var(--vinho)}
#produto-corpo[data-ficha-aba="produto"] [data-painel]:not([data-painel="produto"]),
#produto-corpo[data-ficha-aba="custos"] [data-painel]:not([data-painel="custos"]),
#produto-corpo[data-ficha-aba="dados"] [data-painel]:not([data-painel="dados"]){display:none}
.prod-topo{display:grid;gap:12px}
.galeria{position:relative;margin:0 calc(var(--margem) * -1)}
.galeria-foto{position:relative;display:flex;align-items:center;justify-content:center;height:300px;background:var(--rosado);overflow:hidden;touch-action:pan-y}
.galeria-foto img{width:100%;height:100%;object-fit:cover}
.galeria-conta{position:absolute;top:12px;right:28px;z-index:1;padding:4px 10px;border-radius:12px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:600;pointer-events:none}
.galeria-minis{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:0}
.galeria-mini{display:flex;align-items:center;justify-content:center;width:24px;height:36px;padding:0;border:0;background:none}
.galeria-mini>*{display:none}
.galeria-mini::before{content:"";width:6px;height:6px;border-radius:3px;background:var(--borda-campo);transition:width .2s}
.galeria-mini[aria-pressed="true"]::before{width:18px;background:var(--vinho)}
.prod-info{display:flex;flex-direction:column;gap:12px;padding-top:4px}
.prod-info .prod-linha{font-size:12px;font-weight:600}
.prod-info .prod-linha::before{content:"Catálogo / "}
.prod-info h1{font:700 22px/28px var(--sans)}
.prod-info .rot-meta{display:flex;flex-wrap:wrap;gap:6px}
.prod-info .rot-meta .selo-cat:nth-child(2){background:var(--rosado);box-shadow:none;color:var(--vinho-escuro)}
.preco-area{display:flex;flex-direction:column;gap:12px}
.preco-nota{max-width:60ch}
.preco-area .preco-nota{padding:12px 14px;border-radius:var(--r-cartao);background:var(--rosado);font-size:13px;line-height:18px;color:var(--tinta-2)}
.preco-area .preco-nota b{color:var(--tinta)}
.preco-area .preco-nota a{font-weight:700;color:var(--vinho);text-decoration:none}
.preco-acoes{display:flex;flex-wrap:wrap;gap:8px}
.preco-acoes .btn{flex:1 1 140px;min-height:48px}
.prod-info>p>.btn.sec{width:100%;box-shadow:none}
.ficha-mini,.ficha-grade,.piramide{margin:0;padding:2px 14px;border-radius:var(--r-cartao);box-shadow:var(--borda)}
.ficha-mini div,.ficha-grade div,.piramide div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--rosado);font-size:12.5px}
.ficha-mini div:last-child,.ficha-grade div:last-child,.piramide div:last-child{border-bottom:0}
.ficha-mini dt,.ficha-grade dt,.piramide dt{flex:none;max-width:48%;color:var(--cinza)}
.ficha-mini dd,.ficha-grade dd,.piramide dd{min-width:0;text-align:right;font-weight:600;overflow-wrap:anywhere}
.ficha-mini dd .meta,.ficha-grade dd .meta,.piramide dd .meta{font-size:12.5px;font-style:italic;font-weight:400}
.ficha-mini{padding:4px 14px}
.ficha-mini div{padding:10px 0;font-size:13px;border-bottom-color:var(--linha)}
.prod-info .h-sec{margin-top:8px;font:700 15px/1.3 var(--sans)}
.prod-info>p.meta{font-size:13px;line-height:19px}
.chips-links{display:flex;flex-wrap:wrap;gap:8px}
.chip-link{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:var(--r-chip);box-shadow:inset 0 0 0 1px var(--borda-campo);color:var(--vinho);font-size:13px;font-weight:600;text-decoration:none}
.chip-link:hover{background:var(--hover-linha)}
.prod-bloco{margin-top:20px}
.prod-bloco>h2{margin-bottom:6px;font:700 15px/1.3 var(--sans)}
.prod-bloco h3{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:20px 0 8px;font:700 15px/1.3 var(--sans)}
.prod-bloco h3 .meta{font-size:12px;font-weight:600}
.prod-bloco>.meta{font-size:13px;line-height:19px;color:var(--tinta-2)}
.prod-bloco>.meta a{color:var(--vinho);font-weight:600}
.prod-desc{white-space:pre-line;font-size:13px;line-height:20px;color:var(--tinta-2);max-width:80ch}
.interno>h2#h-int{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#sec-custos>h2{font:700 19px/24px var(--sans)}
.grav{padding:3px 7px}
.g-critico{background:var(--selo);color:#fff}
.g-validar{background:#FBEFD9;color:#8A4B0C}
.g-pendente{background:var(--alerta-fundo);color:var(--selo)}
.g-padronizar{background:#E7E6FA;color:#3F3AA8}
.g-info{background:var(--rosado);color:var(--vinho-escuro)}
.lista-traco{display:flex;flex-wrap:wrap;gap:6px}
.lista-traco li{padding:6px 10px;border-radius:16px;background:var(--alerta-fundo);color:var(--selo);font-size:12px;line-height:16px;font-weight:600}
.mkt{display:grid;gap:10px}
.mkt-campo{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:var(--r-cartao);background:var(--rosado)}
.mkt-campo .rot{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cinza)}
.mkt-texto{font-size:13px;line-height:19px}
.mkt-campo .btn{margin-top:8px;width:100%;background:var(--branco)}
.prod-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}
.prod-nav>span:empty{display:none}
.prod-nav a{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:56px;padding:8px 12px;border-radius:var(--r-cartao);box-shadow:var(--borda);color:var(--tinta);font-size:13px;font-weight:600;line-height:17px;text-decoration:none}
.prod-nav a:hover{background:var(--hover-linha)}
.prod-nav a .meta{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.prod-nav a.prox{text-align:right;align-items:flex-end}
.prod-nav .prod-nav-cat{grid-column:1/-1;grid-row:2;flex-direction:row;align-items:center;justify-content:center;min-height:48px;box-shadow:none;color:var(--vinho)}

/* preço editável */
.form-preco{display:grid;gap:var(--s4);padding:14px;border-radius:var(--r-cartao-g);box-shadow:inset 0 0 0 1.5px var(--vinho)}
.form-preco .h-sec{margin-top:0}
.form-preco .barra-acoes{margin-top:0}
.form-preco .barra-acoes .btn{flex:1 1 140px}
.form-preco-campos{display:grid;gap:var(--s4)}
.preco-previa{padding:12px 14px;border-radius:var(--r-cartao);background:var(--rosado)}
.preco-previa .rot{font-size:12px;font-weight:700;color:var(--tinta-2)}

/* custos e simulação por canal */
.custo-grade{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:var(--r-cartao-g);box-shadow:var(--borda)}
.custo-grade::before{content:"Custo por unidade";font:700 15px/1.3 var(--sans)}
#custos-corpo>h3:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.linha-campo,.custo-grade>.campo,.tx-geral>.campo,.tx-grade>.campo,.canal-card>.campo{display:grid;grid-template-columns:minmax(0,1fr) 112px;grid-template-areas:"rot ctl" "dica ctl" "erro erro";column-gap:12px;row-gap:1px;align-items:center}
.custo-grade>.campo>label,.tx-geral>.campo>label,.tx-grade>.campo>label,.canal-card>.campo>label{grid-area:rot;align-self:end}
.custo-grade>.campo>.ctl-grupo,.tx-geral>.campo>.ctl-grupo,.tx-grade>.campo>.ctl-grupo,.canal-card>.campo>.ctl-grupo{grid-area:ctl}
.custo-grade>.campo>.dica,.tx-geral>.campo>.dica,.tx-grade>.campo>.dica,.canal-card>.campo>.dica{grid-area:dica;align-self:start}
.custo-grade>.campo>.erro-campo,.tx-geral>.campo>.erro-campo,.tx-grade>.campo>.erro-campo,.canal-card>.campo>.erro-campo{grid-area:erro;margin-top:4px}
.custo-grade .ctl,.tx-geral .ctl,.tx-grade .ctl,.canal-card>.campo .ctl{min-height:44px;font-size:15px}
.custo-total{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--linha)}
.custo-total .rot{font-size:13px;font-weight:600}
.custo-total b{font-size:16px;font-variant-numeric:tabular-nums}
#ct-alerta{margin:8px 0 0;padding:0;box-shadow:none;background:none;font-size:12px;line-height:17px;color:var(--cinza)}
#custos-corpo>h3{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:20px 0 12px;font:700 16px/1.3 var(--sans)}
#custos-corpo>h3 .meta{margin:0;font-size:12px;font-weight:400}
.canais-grade{display:flex;flex-direction:column;gap:12px}
.canal-card{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--r-cartao-g);box-shadow:var(--borda);min-width:0}
.canal-card{position:relative}
.canal-topo{display:flex;align-items:center;gap:8px}
.canal-topo h4{flex:1;min-width:0;font:700 15px/1.3 var(--sans)}
.canal-alterna{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left}
.canal-alterna::after{content:"";position:absolute;inset:0;border-radius:var(--r-cartao-g)}
.canal-alterna:focus-visible{outline:none}
.canal-card:has(.canal-alterna:focus-visible){box-shadow:inset 0 0 0 2px var(--vinho)}
.canal-card.aberto .canal-alterna::after{bottom:auto;height:60px}
.canal-lucro{font-size:12px;font-weight:400;color:var(--tinta-2)}
.canal-lucro:empty,.canal-card.aberto .canal-lucro{display:none}
.canal-topo .seta{flex:none;width:18px;height:18px;color:var(--tinta-2);transition:transform .2s}
.canal-card.aberto .canal-topo .seta{transform:rotate(180deg)}
.canal-card:not(.aberto)>:not(.canal-topo){display:none}
.canal-card:not(.aberto){min-height:56px;padding-block:8px;justify-content:center}
.canal-card:not(.aberto):hover{background:var(--hover-linha)}
.chip-f.on{background:var(--vinho);box-shadow:none;color:#fff}
.chip-f.on svg{color:#fff}
.pl-valores:not(:has(div:nth-child(3))){grid-template-columns:1fr 1fr}
.margem{display:inline-flex;align-items:baseline;gap:4px;flex:none;padding:4px 8px;border-radius:var(--r-selo);font-size:11px;font-weight:700;white-space:nowrap}
.margem b{font-size:11px;font-variant-numeric:tabular-nums}
.margem:empty{display:none}
.m-ruim{color:var(--selo);background:var(--alerta-fundo)}
.m-baixa{color:#8A4B0C;background:#FBEFD9}
.m-boa{color:var(--ok);background:var(--ok-fundo)}
td .m-ruim,td .m-baixa,td .m-boa{padding:2px 6px;border-radius:4px;font-weight:700}
.canal-preco{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px}
.canal-preco .rot{font-size:13px;font-weight:600}
.canal-preco b{font-size:16px;font-variant-numeric:tabular-nums}
.canal-preco .meta{flex-basis:100%;font-size:12px}
.canal-calc{display:flex;flex-direction:column;gap:8px}
.conta{margin:0;display:flex;flex-direction:column}
.conta div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:13px}
.conta dt{color:var(--tinta-2)}
.conta dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.conta .conta-total{margin-top:4px;padding-top:10px;border-top:1px solid var(--linha);font-size:14px;font-weight:700;align-items:center}
.conta .conta-total dt{color:var(--tinta)}
.conta .conta-total dd{font-size:18px;font-weight:700;color:var(--ok)}
.conta .conta-total.neg dd{color:var(--selo)}
.canal-sug{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--tinta-2)}
.canal-sug b{color:var(--tinta);font-variant-numeric:tabular-nums}
.canal-sug .btn{width:100%;min-height:44px}
.canal-calc .meta{font-size:12px;line-height:17px;color:var(--tinta-2)}
.canal-calc a{color:var(--vinho);font-weight:600}
.tx-salvar{position:sticky;bottom:var(--barra-h);z-index:20;display:flex;flex-wrap:wrap;gap:8px;margin:16px calc(var(--margem) * -1) 0;padding:10px var(--margem) 12px;border-top:1px solid var(--linha);background:var(--branco)}
.tx-salvar .meta{flex-basis:100%;font-size:11.5px;text-align:center}
.tx-salvar .btn{flex:1 1 0;min-height:48px;padding:0 10px;font-size:13px}

/* taxas dos marketplaces (07) */
.tx-geral{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding:14px;border-radius:var(--r-cartao-g);background:var(--rosado)}
.tx-geral>.campo{grid-template-columns:minmax(0,1fr) 92px}
.tx-geral .dica{color:var(--tinta-2)}
.tx-canais{display:flex;flex-direction:column;gap:12px}
.tx-canal{border-radius:var(--r-cartao-g);box-shadow:var(--borda);background:var(--branco)}
.tx-canal[open]{box-shadow:inset 0 0 0 1.5px var(--vinho)}
.tx-canal summary{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;position:relative;min-height:60px;padding:10px 44px 10px 14px;cursor:pointer;list-style:none;border-radius:var(--r-cartao-g)}
.tx-canal summary::-webkit-details-marker{display:none}
.tx-canal summary::after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:2px solid var(--tinta-2);border-bottom:2px solid var(--tinta-2);transform:rotate(45deg);transition:transform .2s}
.tx-canal[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.tx-canal summary:hover{background:var(--hover-linha)}
.tx-nome{font-weight:700;font-size:14px}
.tx-selos{display:flex;flex-wrap:wrap;gap:6px}
.tx-selos .selo-cat{padding:3px 7px;font-size:10.5px;font-weight:700;background:var(--ok-fundo);box-shadow:none;color:var(--ok)}
.tx-selos .selo-cat.aviso{background:var(--alerta-fundo);color:var(--selo)}
.tx-selos .selo-cat.erro{background:var(--selo);color:#fff}
.tx-selos .selo-cat.desligado{background:var(--rosado);color:var(--vinho-escuro)}
.tx-corpo{display:flex;flex-direction:column;gap:14px;padding:0 14px 14px}
.tx-linha{display:flex;flex-direction:column;gap:12px}
.tx-ajuda{font-size:12px;line-height:17px;color:var(--cinza)}
.tx-faixas-tit{margin-bottom:-6px;font-size:13px;font-weight:700}
.tx-corpo .tabela-rolagem{margin:0;box-shadow:none;border-radius:0;overflow:visible}
.tx-grade{display:flex;flex-direction:column;gap:12px}
.tx-grade>.campo{grid-template-columns:minmax(0,1fr) 100px}
.tx-rodape{display:flex;flex-direction:column;gap:8px}
.tx-rodape .meta{font-size:12px;font-weight:600;color:var(--selo)}
.tx-rodape .meta.ok{color:var(--ok)}
.tx-rodape .btn{width:100%}
.tx-rodape .btn.perigo{box-shadow:none;background:transparent}
.tx-corpo p:has(> .btn){margin:0}
.tx-corpo>p>.btn.sec,.tx-corpo .tx-add{min-height:44px;padding:0;box-shadow:none;background:none;color:var(--vinho)}
.tx-dados{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--linha)}
.tx-dados h2{margin-bottom:6px;font:700 18px/1.3 var(--sans)}
.tx-dados .intro{font-size:13px;line-height:19px}
#taxas-corpo>p>.btn{width:100%;margin-top:12px}

/* catálogo de atacado, configuração (08) */
.atc-form{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}
.atc-form .ctl-grupo:has(#atc-desc){width:120px}
.atc-acoes{display:flex;flex-direction:column;gap:8px}
.atc-acoes .btn{width:100%}
.atc-publicado,.atc-form+.cat-aviso{background:var(--rosado);box-shadow:none}
.atc-h{display:flex;flex-direction:column;gap:4px;margin:var(--s4) 0 4px;font:700 18px/1.3 var(--sans)}
.atc-h .meta{font-size:12px;font-weight:700;color:var(--selo)}
#atacado-corpo>.meta{font-size:12.5px;line-height:18px}

/* ───────── tabelas: cartões no celular e no tablet ───────── */
.tabela-rolagem{margin-top:var(--s4)}
.tab{width:100%;border-collapse:collapse;text-align:left;font-size:14px;line-height:1.5}
.tab,.tab tbody,.tab tr,.tab td,.tab tbody th,.tab caption{display:block}
.tab thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tab caption{padding:0 0 8px;font-size:12px;color:var(--cinza);text-align:left}
.tab tbody{display:flex;flex-direction:column;gap:8px}
.tab tr{padding:12px 14px;border-radius:var(--r-cartao);box-shadow:var(--borda)}
.tab td,.tab tbody th{padding:3px 0;font-weight:400}
.tab tbody th{font-weight:700}
.tab td[data-label]::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;color:var(--cinza)}
.tab td.num{font-variant-numeric:tabular-nums}

/* divergências: campo e gravidade em cima, valores embaixo */
.tab-div tr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.tab-div tbody th{flex:1 1 0;min-width:0;font-size:14px}
.tab-div td[data-label="Gravidade"]{order:2;flex:none;padding:0}
.tab-div td[data-label="Gravidade"]::before{display:none}
.tab-div td[data-label="Planilha oficial"],.tab-div td[data-label="Site ou diagnóstico"]{order:3;flex-basis:100%;padding:0;font-size:12.5px;color:var(--tinta-2)}
.tab-div td[data-label="Planilha oficial"]::before,.tab-div td[data-label="Site ou diagnóstico"]::before{content:attr(data-label) ": ";display:inline;font-size:12.5px;font-weight:400;color:var(--cinza)}

/* roteiros: cenas em linha do tempo */
.rot-tab tbody{gap:0;margin-left:6px;border-left:2px solid var(--rosado)}
.rot-tab tr{position:relative;display:flex;flex-direction:column;gap:3px;padding:0 0 12px 16px;border-radius:0;box-shadow:none}
.rot-tab tr::before{content:"";position:absolute;left:-6px;top:3px;width:10px;height:10px;border-radius:5px;background:var(--vinho);box-shadow:0 0 0 3px var(--branco)}
.rot-tab tbody th{padding:0;font-size:11.5px;line-height:1.3;font-weight:700;color:var(--vinho)}
.rot-tab td{padding:0;font-size:13px;line-height:19px;color:var(--tinta-2)}
.rot-tab td[data-label]::before{display:none}
.rot-tab td[data-label="Cena"]{font-size:13.5px;font-weight:600;color:var(--tinta)}

/* faixas de taxa: linhas de 4 campos */
.tx-faixas thead{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;display:block}
.tx-faixas thead tr,.tx-faixas tbody tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 32px;gap:6px;align-items:center;padding:0;border-radius:0;box-shadow:none}
.tx-faixas thead th{padding:4px 0 0;font-size:10.5px;line-height:13px;font-weight:600;color:var(--cinza);background:none;white-space:normal}
.tx-faixas tbody{gap:6px}
.tx-faixas td{padding:0}
.tx-faixas td[data-label]::before{display:none}
.tx-faixas .ctl{min-height:40px;height:40px;padding:0 8px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--borda-campo);font-size:13px}
.tx-faixas .ctl:focus{box-shadow:inset 0 0 0 2px var(--vinho)}
.tx-faixas .meta{display:flex;align-items:center;min-height:40px;padding:0 8px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--linha);font-size:12px}
.tx-faixas .fechar{width:32px;height:40px;border-radius:8px;font-size:20px}

/* prévia do atacado: fragrância à esquerda, preços à direita */
.atc-tab tbody{gap:0;border-radius:var(--r-cartao-g);box-shadow:var(--borda);overflow:hidden}
.atc-tab tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"frag varejo" "fmt atacado" "sku atacado";column-gap:12px;padding:10px 14px;border-radius:0;box-shadow:0 1px 0 var(--linha)}
.atc-tab tbody th{grid-area:frag;padding:0;font-size:14px}
.atc-tab td{padding:0}
.atc-tab td[data-label]::before{display:none}
.atc-tab td[data-label="Formato"]{grid-area:fmt;font-size:12px;color:var(--tinta-2)}
.atc-tab td[data-label="SKU"]{grid-area:sku;font-size:11px;color:var(--cinza)}
.atc-tab td[data-label="Varejo"]{grid-area:varejo;text-align:right;font-size:11px;color:var(--cinza)}
.atc-tab td[data-label="Varejo"]::before{content:"Varejo ";display:inline;font-weight:400}
.atc-tab td[data-label="Atacado"]{grid-area:atacado;align-self:center;text-align:right;font-size:15px;color:var(--vinho)}

/* pedidos de acesso */
.tab-ped tbody{gap:8px}
.tab-ped tr{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;background:var(--rosado);box-shadow:none;border-radius:var(--r-cartao-g)}
.tab-ped td,.tab-ped tbody th{padding:0}
.tab-ped td[data-label]::before{display:none}
.tab-ped td[data-label="Quem pediu"]{order:1;flex:1 1 0;min-width:0;font-weight:700;font-size:14px}
.tab-ped td[data-label="Nível"]{order:2;flex:none;padding:3px 7px;border-radius:var(--r-selo);background:var(--branco);color:var(--vinho-escuro);font-size:11px;font-weight:700}
.tab-ped td[data-label="Conta"]{order:3;flex-basis:100%;font-size:12.5px;color:var(--tinta-2)}
.tab-ped tbody th{order:4;font-size:12px;font-weight:400;color:var(--cinza)}
.tab-ped td[data-label="Aprovado por"]{order:5;font-size:12px;color:var(--cinza)}
.tab-ped td[data-label="Aprovado por"]::before{content:"· Aprovado por: ";display:inline;font-size:12px;font-weight:400;color:var(--cinza)}

/* usuários da Central (18) */
.usu-tab tbody{gap:12px}
.usu-tab tr{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"pessoa pessoa" "funcao ultimo" "acesso acesso";gap:8px 12px;padding:14px;border-radius:var(--r-cartao-g)}
.usu-tab tr:hover{background:var(--hover-linha)}
.usu-tab tbody th{grid-area:pessoa;display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"ini nome sit" "ini email sit";column-gap:12px;align-items:center;padding:0 0 10px;border-bottom:1px solid var(--rosado)}
.usu-ini{grid-area:ini;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:20px;background:var(--rosado);color:var(--vinho-escuro);font-size:13px;font-weight:700}
.usu-tab tbody th b{grid-area:nome;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis}
.usu-tab tbody th .meta{grid-area:nome;justify-self:end}
.usu-email{grid-area:email;display:block;font-size:12px;font-weight:400;color:var(--cinza);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.usu-tab td{padding:0;font-size:12px;font-weight:600}
.usu-tab td[data-label]::before{font-size:12px;font-weight:400}
.usu-tab td[data-label="Função"]{grid-area:funcao}
.usu-tab td[data-label="Último acesso"]{grid-area:ultimo}
.usu-tab td[data-label="Acesso"]{grid-area:acesso}
.usu-tab td[data-label="Situação"]{position:absolute;top:14px;right:14px}
.usu-tab td[data-label="Situação"]::before{display:none}
.usu-tab td[data-label="Acesso"] .selo-cat.ok{padding:0;background:none;color:inherit;font-size:12px;font-weight:600}
.usu-tab td.usu-editar{position:static;padding:0}
.usu-tab td.usu-editar .btn{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;border-radius:var(--r-cartao-g);background:transparent;box-shadow:none;color:transparent;font-size:0;overflow:hidden}
.usu-tab td.usu-editar .btn:focus-visible{outline:2px solid var(--vinho);outline-offset:-2px}
.usu-tab tbody th:has(+ td) .meta{display:none}
.usu-barra{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.usu-barra .meta{font-size:13px;font-weight:600;color:var(--tinta)}
.usu-barra .btn{min-height:44px;padding:0 14px;font-size:14px}
.usu-grade{display:grid;gap:14px}
.usu-acesso{display:flex;flex-direction:column;gap:8px}
.usu-acesso>legend{font-size:13px;font-weight:600}
.opcao-cartao{align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--r-cartao);box-shadow:inset 0 0 0 1px var(--borda-campo);font-size:13px;line-height:19px}
.opcao-cartao input{margin-top:0}
.opcao-cartao:has(input:checked){box-shadow:inset 0 0 0 2px var(--vinho);background:var(--hover-linha);font-weight:600}
.usu-mods{display:flex;flex-direction:column;gap:0;margin:8px 0 0}
.usu-mods>legend{margin-bottom:4px;font-size:13px;font-weight:600}
.usu-mods[disabled]{opacity:.5}
.usu-mods .marca-check{min-height:44px;font-size:14px}
.usu-senha{display:flex;gap:8px}
.usu-senha .ctl{flex:1 1 0;min-width:0;font-variant-numeric:tabular-nums}
.usu-senha .btn{flex:none;min-height:48px;font-size:13px}
.usu-conta{display:flex;gap:8px}
.usu-conta .btn{flex:1 1 0}
.usu-conta .btn.perigo{box-shadow:none;background:transparent}
.usu-dados{margin:0;padding:var(--s4);border-radius:var(--r-cartao);background:var(--rosado);font:500 14px/1.6 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere}

/* ───────── estudos (09, 10, 10b) ───────── */
.estudos-grid{display:flex;flex-direction:column;gap:12px}
.estudo-card{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--r-bloco);box-shadow:var(--borda);color:inherit;text-decoration:none}
.estudo-card:hover{background:var(--hover-linha)}
.estudo-card .topo{display:flex;align-items:center;gap:10px}
.estudo-card .n{font:700 28px/30px var(--sans);color:var(--magenta);font-variant-numeric:tabular-nums}
.estudo-card .topo .selo-badge{background:var(--rosado);color:var(--vinho-escuro)}
.estudo-card .corpo{display:flex;flex-direction:column;gap:8px}
.estudo-card h2{font:700 16px/22px var(--sans)}
.estudo-card p{font-size:13px;line-height:19px;color:var(--tinta-2)}
.estudo-card .meta{display:flex;align-items:center;gap:6px;padding-top:2px;font-size:12px;color:var(--cinza)}
.estudo-card .meta svg{width:14px;height:14px;flex:none}
.estudo-card.vazio{gap:6px;box-shadow:none;border:1.5px dashed var(--borda-campo)}
.estudo-card.vazio:hover{background:none}
.estudo-card.vazio .n{color:#8E8587}
.estudo-card.vazio h2{font-size:15px;color:var(--tinta-2)}
.estudo-card.vazio .meta{color:var(--cinza)}

.aba-estudo .pagina{padding:20px 20px 0}
.estudo-grid{display:block}
.est-cab{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.num-estudo{letter-spacing:.06em;text-transform:uppercase}
.est-cab h1{font:700 27px/32px var(--sans)}
.est-cab .assina{font-size:16px;line-height:24px;color:var(--tinta-2)}
.ficha{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;width:100%;padding:14px;border-radius:var(--r-cartao-g);background:var(--rosado)}
.ficha div{display:flex;flex-direction:column;gap:2px}
.ficha div:nth-child(1){order:3;grid-column:1/-1}
.ficha div:nth-child(4){order:4;grid-column:1/-1}
.ficha dt{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cinza)}
.ficha dd{font-size:13px;line-height:19px;color:var(--tinta-2)}
.ficha div:nth-child(2) dd,.ficha div:nth-child(3) dd{font-size:14px;font-weight:700;color:var(--tinta)}
.lateral{display:none}
.sumario h2{font:700 14px/1.2 var(--sans);margin-bottom:var(--s3)}
.sumario ol{counter-reset:cap}
.sumario li{counter-increment:cap}
.sumario a{display:grid;grid-template-columns:2.2ch 1fr;gap:var(--s2);padding:7px 0 7px var(--s3);font-size:14px;line-height:1.35;color:var(--tinta-2);text-decoration:none;border-left:3px solid var(--linha)}
.sumario a::before{content:counter(cap);font-variant-numeric:tabular-nums;color:var(--cinza);font-weight:600}
.sumario a:hover{color:var(--tinta)}
.sumario a[aria-current="true"]{color:var(--vinho);font-weight:700;border-left-color:var(--vinho)}
.progresso-txt{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--linha);font-size:13px;color:var(--cinza)}
.progresso-txt b{font-size:22px;color:var(--tinta);font-variant-numeric:tabular-nums}

.fab-sumario{position:fixed;left:50%;bottom:calc(var(--barra-h) + 20px);z-index:35;transform:translateX(-50%);display:none;align-items:center;gap:8px;height:44px;padding:0 18px;border:0;border-radius:22px;background:var(--escuro);color:#fff;font:600 13px/1 var(--sans);white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.fab-sumario svg{width:18px;height:18px}
.fab-sumario b{font-weight:600}
.aba-estudo:not([hidden]) .fab-sumario{display:inline-flex}
.dlg-sumario header{flex-direction:column;align-items:stretch;gap:10px;padding:0 20px 12px}
.sum-topo{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:0 !important;flex-direction:row !important}
.sum-pct{font-size:13px;font-weight:700;color:var(--vinho)}
.sum-barra{height:4px;border-radius:2px;background:var(--rosado);overflow:hidden}
.sum-barra i{display:block;height:100%;border-radius:2px;background:var(--vinho);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.dlg-sumario .corpo{padding:6px 12px max(34px, env(safe-area-inset-bottom, 0px))}
.sum-lista{counter-reset:cap}
.sum-lista li{counter-increment:cap}
.sum-lista a{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 12px;border-radius:10px;color:var(--tinta);font-size:14px;font-weight:500;text-decoration:none}
.sum-lista a::before{content:counter(cap);flex:none;width:24px;font-size:13px;font-weight:600;color:var(--cinza);font-variant-numeric:tabular-nums}
.sum-lista a:hover{background:var(--hover-linha)}
.sum-lista a[aria-current="true"]{background:var(--rosado);color:var(--vinho);font-weight:700}
.sum-lista a[aria-current="true"]::before{color:var(--vinho);font-weight:700}
.sum-lista a span{flex:1;min-width:0}
.sum-lista a small{flex:none;font-size:11px;font-weight:700}

.leitura{max-width:720px;font-size:16px;line-height:27px;color:var(--texto-leitura)}
.leitura section{margin-top:var(--s6);scroll-margin-top:calc(var(--cab-h) + 19px)}
.leitura section:first-child{margin-top:28px}
.leitura h2{display:flex;align-items:center;gap:12px;margin-bottom:16px;font:700 21px/26px var(--sans)}
.leitura h2 .cn{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:18px;background:var(--vinho);color:#fff;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.leitura h3{margin:var(--s5) 0 var(--s3);font:700 17px/1.3 var(--sans)}
.leitura p+p,.leitura p+.tabela-rolagem,.leitura p+.dirs,.leitura .tabela-rolagem+p,.leitura .dirs+p{margin-top:var(--s4)}
.leitura p:target,.leitura li:target{background:var(--rosado);box-shadow:0 0 0 6px var(--rosado);border-radius:2px}
.leitura b{font-weight:700}
.leitura a{color:var(--vinho);font-weight:500}
.leitura ul.pend{margin-top:var(--s4);display:grid;gap:var(--s3)}
.leitura ul.pend li{position:relative;padding-left:var(--s5)}
.leitura ul.pend li::before{content:"";position:absolute;left:0;top:.8em;width:10px;height:2px;background:var(--magenta)}
.leitura .fonte{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--linha);font-size:13px;line-height:1.55;color:var(--cinza)}
.leitura .tab{font-size:13.5px;line-height:1.5}
.leitura .tab caption{font-size:12px}
.manifesto{margin:var(--s5) 0;padding:var(--s4);border-radius:var(--r-cartao-g);background:var(--vinho);color:#fff;font-weight:600;font-size:17px;line-height:1.5}
.manifesto p+p,.leitura .manifesto p+p{margin-top:var(--s3)}
.manifesto p:last-child{color:#F6D3E1}

/* etiquetas de evidência */
.tag{display:inline-flex;align-items:center;gap:5px;margin-right:6px;padding:4px 8px 4px 7px;border-radius:var(--r-selo);font:700 11px/1 var(--sans);white-space:nowrap;vertical-align:2px}
.tag-F{color:#1F5B3F;background:#E1F0E8}
.tag-F::before{content:"■";font-size:8px}
.tag-D{color:#36457A;background:#E5E8F3}
.tag-D::before{content:"“";font-size:14px;line-height:.5;margin-top:5px}
.tag-I{color:#7A5A1E;background:#F6EBD3}
.tag-I::before{content:"◐";font-size:8px}
.tag-R{color:#fff;background:var(--selo)}
.tag-R::before{content:"→";font-size:10px}

/* paletas */
.dirs{display:grid;gap:var(--s4);margin-top:var(--s4)}
.dir{padding:var(--s4) var(--s4) var(--s2);border-radius:var(--r-cartao-g);box-shadow:var(--borda)}
.dir h3{margin:0;font-size:16px;line-height:1.3}
.chips{display:grid;margin-top:var(--s2)}
.chip{display:grid;grid-template-columns:22px 1fr auto;gap:var(--s3);align-items:center;width:100%;min-height:44px;padding:0 var(--s2);border:0;border-top:1px solid var(--linha);border-radius:0;background:transparent;font-size:14px;text-align:left}
.chip:hover{background:var(--hover-linha)}
.chip .amo{width:22px;height:22px;border-radius:50%;border:1px solid rgba(0,0,0,.25)}
.chip .hex{font-variant-numeric:tabular-nums;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.chip .pc{grid-column:2/-1;margin-top:-10px;padding-bottom:6px;color:var(--cinza);font-size:12.5px;font-variant-numeric:tabular-nums}
.chip .pc:empty{display:none}
.chips-nota{margin:var(--s2);font-size:13px;color:var(--cinza)}
.fim-estudo{display:grid;gap:var(--s3);max-width:720px;margin:var(--s6) 0 96px;padding:var(--s4);border-radius:var(--r-cartao-g);background:var(--rosado);font-size:14px;line-height:21px}
.fim-estudo a{color:var(--vinho);font-weight:600}
.fim-estudo .prox{color:var(--tinta-2)}
.leitura .abre{margin-top:var(--s5)}
.video-ref{display:grid;gap:var(--s4);margin-top:var(--s4)}
.video-ref video{width:100%;max-width:280px;aspect-ratio:9/16;border-radius:var(--r-cartao-g);background:#1b1b1b;object-fit:contain}
.video-ficha{display:grid;gap:var(--s3);align-content:start;font-size:14px;line-height:1.5}
.video-ficha dt{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cinza)}
.tab-fala tbody th{color:var(--cinza);font-weight:600}
.tab-fala td[data-label="Momento"]{font-weight:600;color:var(--vinho)}
.leitura .obs{margin-top:var(--s3);font-size:13px;color:var(--cinza)}

/* ───────── roteiros (11) ───────── */
.filtro-rot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:44px;margin-top:var(--s4);padding:3px;border-radius:var(--r-seg);background:var(--rosado)}
.rot-fil{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;padding:0 8px;border:0;border-radius:9px;background:transparent;color:var(--tinta-2);font:600 13px/1 var(--sans)}
.rot-fil span{font-size:11px;font-weight:500;color:var(--cinza);font-variant-numeric:tabular-nums}
.rot-fil:hover{color:var(--tinta)}
.rot-fil[aria-pressed="true"]{background:var(--branco);color:var(--vinho);box-shadow:var(--sombra-seg)}
#rot-contagem{margin-top:var(--s3);font-size:12px}
.roteiros-grid{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}
.roteiro{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--r-bloco);box-shadow:var(--borda);scroll-margin-top:calc(var(--cab-h) + 16px)}
/* miniatura de cada roteiro na lista */
.rot-mini{gap:10px;height:100%;color:inherit;text-decoration:none}
.rot-mini:hover{box-shadow:inset 0 0 0 1.5px var(--vinho)}
.rot-mini h2{color:var(--tinta)}
.rot-gancho{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.5;font-style:italic;color:var(--tinta-2)}
.rot-mini-pe{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-top:auto;padding-top:10px;border-top:1px solid var(--linha);font-size:12px;color:var(--cinza)}
.rot-mini-prod{display:inline-flex;align-items:center;gap:8px;min-width:0;font-weight:600;color:var(--tinta-2)}
.rot-mini-fotos{display:inline-flex;flex:none}
.rot-mini-foto{display:block;width:28px;height:28px;overflow:hidden;border-radius:50%;background:var(--rosado);box-shadow:0 0 0 2px var(--branco)}
.rot-mini-foto+.rot-mini-foto{margin-left:-8px}
.rot-mini-foto img{width:100%;height:100%;object-fit:cover}
.rot-mini-foto .foto-vazia{display:grid;place-items:center;width:100%;height:100%}
.rot-mini-foto .foto-vazia img{width:60%;height:auto;object-fit:contain}
@media (min-width:640px){
  .roteiros-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
}

/* ───────── criativos (conteúdos da API catalogos_api_laure) ───────── */
.cri-barra{display:grid;gap:12px;margin-top:var(--s4)}
.cri-campos{display:flex;flex-wrap:wrap;gap:8px}
.cri-campos .campo{flex:1 1 220px;margin:0}
.cri-campos .btn{min-height:44px}
#cri-contagem{margin-top:var(--s3);font-size:12px}
.cri-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px;margin:var(--s3) 0 0;padding:0;list-style:none}
.cri-cartao{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r-bloco);box-shadow:var(--borda);background:var(--branco)}
.cri-capa{position:relative;aspect-ratio:16/9;background:var(--rosado)}
.cri-capa img,.cri-capa video{display:block;width:100%;height:100%;object-fit:cover}
.cri-capa-ico{display:grid;place-items:center;width:100%;height:100%;color:var(--vinho)}
.cri-capa-ico svg{width:40px;height:40px;opacity:.7}
.cri-tipo,.cri-dur{position:absolute;display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:var(--r-selo);background:rgba(20,10,14,.72);color:#fff;font-size:11px;font-weight:700;line-height:1.2}
.cri-tipo{top:8px;left:8px}
.cri-tipo svg{width:12px;height:12px}
.cri-dur{right:8px;bottom:8px;font-variant-numeric:tabular-nums}
.cri-corpo{display:flex;flex-direction:column;gap:8px;flex:1;padding:14px 16px 12px}
.cri-meta{display:flex;flex-wrap:wrap;gap:6px}
.cri-corpo h2{font:700 16px/1.3 var(--sans);color:var(--tinta);overflow-wrap:anywhere}
.cri-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.5;color:var(--tinta-2)}
.cri-tags{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:var(--cinza)}
.cri-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:auto;padding-top:10px;border-top:1px solid var(--linha)}
.cri-acoes .btn{min-height:40px;padding:0 14px;font-size:14px}
/* tela de um roteiro (#roteiro/<id>) */
.rot-tela-cab{display:grid;gap:12px;margin-bottom:20px}
.rot-tela-cab h1{font:700 24px/1.2 var(--sans);overflow-wrap:anywhere}
.rot-tela-cab .rot-acoes .btn{flex:1 1 auto}
.rot-tela-grade{display:grid;gap:20px}
.rot-tela-lado{display:grid;gap:12px;align-content:start;min-width:0}
.rot-bloco{display:grid;gap:10px;padding:14px 16px;border-radius:var(--r-bloco);box-shadow:var(--borda)}
.pagina .rot-bloco>h2{font:700 11px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--cinza)}
.rot-bloco>.meta{font-size:12px;line-height:1.45}
.rot-pessoa{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:15px}
.rot-pessoa b{font-weight:600}
.rot-avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:20px;background:var(--rosado);color:var(--vinho-escuro);font-size:14px;font-weight:700}
.rot-ve-tipo{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600}
.rot-ve-tipo svg{width:14px;height:14px;flex:none}
.rot-nomes{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.rot-nomes li{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 3px;border-radius:var(--r-chip);background:var(--rosado);font-size:12.5px}
.rot-produtos-lista{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.rot-bloco .rot-player video{max-width:100%;max-height:72vh;margin:0 auto}
.rot-tela-principal{display:grid;gap:24px;min-width:0}
.rot-sec{display:grid;gap:12px}
.rot-sec>h2{display:flex;align-items:baseline;gap:8px;font:700 18px/1.3 var(--sans)}
.rot-sec>h2 .meta{font-size:13px;font-weight:600}
.rot-sec .rot-obs p{font-size:14px}
.rot-cenas-tela{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.rot-cenas-tela li{display:grid;gap:10px;padding:14px 16px;border-radius:var(--r-cartao-g);box-shadow:var(--borda)}
.rot-tempo{justify-self:start;padding:4px 10px;border-radius:var(--r-selo);background:var(--vinho);color:#fff;font-size:12px;font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums}
.rot-cena-oque,.rot-cena-fala{display:grid;gap:3px}
.rot-cena-oque p:last-child{font-size:14px;line-height:1.5;color:var(--tinta-2)}
.rot-cena-fala p:last-child{font-size:15.5px;line-height:1.55;color:var(--tinta)}
.rot-tp-texto{padding:16px 18px;border-radius:var(--r-cartao-g);background:var(--rosado);font-size:16px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}
.rot-texto{font-size:14px;line-height:1.55;white-space:pre-line;color:var(--tinta-2)}
.rot-sobre{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;padding-top:16px;border-top:1px solid var(--linha)}
.rot-sobre div{display:grid;gap:2px}
.rot-sobre dt{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cinza)}
.rot-sobre dd{font-size:13px;line-height:1.45;color:var(--tinta-2);overflow-wrap:anywhere}
.rot-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.roteiro .selo-badge{background:var(--vinho)}
.rot-chip{background:var(--rosado);color:var(--vinho-escuro)}
.rot-chip+.rot-chip{background:var(--branco);box-shadow:var(--borda);color:var(--tinta-2);font-weight:600}
.roteiro h2{font:700 17px/22px var(--sans)}
.roteiro .tabela-rolagem{margin-top:0}
.rot-versoes{display:grid;gap:8px}
.rot-versoes div{padding:10px 12px;border-radius:var(--r-cartao);background:var(--rosado)}
.rot-versoes dt{font-size:12px;font-weight:700;color:var(--vinho)}
.rot-versoes dd{margin:2px 0 0;font-size:13px;line-height:1.5}
.rot-material{font-size:13px;line-height:1.5;color:var(--tinta-2)}
.rot-origem{margin-top:auto;padding-top:10px;border-top:1px solid var(--linha);font-size:11.5px;line-height:16px}
.rot-origem a{color:var(--vinho);font-weight:600}
.rot-barra{display:flex;flex-direction:column;gap:10px}
.rot-barra .filtro-rot{margin-top:0}
.rot-filtro-grava .ctl{width:100%}
.rot-novo{position:fixed;right:var(--margem);bottom:calc(var(--barra-h) + 16px);z-index:35;min-height:52px;padding:0 20px 0 16px;border-radius:16px;font-size:14px;box-shadow:var(--sombra-fab)}
.rot-novo svg{width:20px;height:20px}
#roteiros-corpo{padding-bottom:72px}
#roteiros-corpo #rot-contagem{margin-bottom:var(--s4)}
.rot-aviso{margin:-8px 0 var(--s4);font-size:12px}
.rot-restrito{display:inline-flex;align-items:center;gap:4px}
.rot-restrito svg{width:12px;height:12px}
.rot-quem{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--tinta-2)}
.rot-quem b{font-weight:600;color:var(--tinta)}
.rot-voce{padding:2px 7px;border-radius:var(--r-selo);background:var(--rosado);color:var(--vinho-escuro);font-size:10.5px;font-weight:700}
.rot-rotulo{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cinza)}
.rot-obs{display:grid;gap:4px;padding:10px 12px;border-radius:var(--r-cartao);background:var(--rosado)}
.rot-obs .rot-rotulo{color:var(--vinho)}
.rot-obs p:last-child{font-size:13px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
.rot-tp{border-radius:var(--r-cartao);box-shadow:var(--borda)}
.rot-tp summary{display:flex;align-items:center;gap:4px;min-height:44px;padding:0 12px;font-size:13px;font-weight:600;color:var(--vinho);cursor:pointer}
.rot-tp summary span{font-weight:400;color:var(--cinza)}
.rot-tp p{padding:0 12px 12px;font-size:14px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}
.rot-video{display:grid;gap:8px}
.rot-video-acoes{display:flex;flex-wrap:wrap;gap:8px}
.rot-player:empty{display:none}
.rot-player video{display:block;width:100%;max-width:320px;max-height:70vh;border-radius:var(--r-cartao-g);background:#1b1b1b}
.rot-acoes{display:flex;flex-wrap:wrap;gap:8px}
.rot-acoes .btn{flex:1 1 auto}
.rot-produtos{display:grid;gap:6px}
.rot-produtos ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.rot-prod{flex:1 1 220px;min-width:0}
.rot-prod-caixa{display:flex;align-items:center;gap:10px;min-height:56px;padding:6px 10px 6px 6px;border-radius:var(--r-cartao);box-shadow:var(--borda);color:inherit;text-decoration:none}
a.rot-prod-caixa:hover{box-shadow:inset 0 0 0 1px var(--vinho)}
.rot-prod-fora .rot-prod-caixa{padding-left:12px}
.rot-prod-img{flex:none;width:44px;height:44px;overflow:hidden;border-radius:8px;background:var(--rosado)}
.rot-prod-img img{width:100%;height:100%;object-fit:cover}
.rot-prod-img .foto-vazia{display:grid;place-items:center;width:100%;height:100%}
.rot-prod-img .foto-vazia img{width:60%;height:auto;object-fit:contain}
.rot-prod-txt{display:grid;min-width:0;font-size:13px;line-height:1.35}
.rot-prod-txt b{font-weight:600;overflow-wrap:anywhere}
.rot-prod-txt span{font-size:11.5px;color:var(--cinza);font-variant-numeric:tabular-nums}

/* formulário do roteiro */
.rot-form-grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:12px}
.rot-marcas-op{display:flex;flex-wrap:wrap;gap:0 24px}
.rot-cenas>.dica{margin:-4px 0 10px}
.rot-cenas-lista{display:flex;flex-direction:column;gap:10px;margin:0 0 10px;padding:0;list-style:none}
.rot-cena-item fieldset{display:grid;gap:10px;padding:12px;border-radius:var(--r-cartao-g);box-shadow:var(--borda)}
.rot-cena-item legend{float:left;margin:0;font-size:12px;font-weight:700;color:var(--vinho)}
.rot-cena-grade{display:grid;gap:10px}
.rot-cena-grade textarea.ctl{min-height:72px}
.rot-cena-tirar{justify-self:start;min-height:40px;padding:0 6px}
.rot-tp-campo.ctl{min-height:140px}
.rot-pessoas{display:flex;flex-direction:column}
.rot-prod-campo{display:grid;gap:8px}
.rot-prod-lista{display:flex;flex-direction:column;max-height:240px;overflow-y:auto;padding:4px 8px;border-radius:var(--r-cartao);box-shadow:var(--borda)}
.rot-prod-lista label[hidden]{display:none}
.rot-prod-lista .meta{font-size:11.5px}
.rot-video-campo{display:grid;gap:12px}
.rot-arquivo.ctl{height:auto;padding:12px 14px;font-size:14px}
.rot-video-atual{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;padding:6px 6px 6px 12px;border-radius:var(--r-cartao);background:var(--rosado);font-size:13px}
.rot-video-atual[hidden]{display:none}
.rot-video-atual b{overflow-wrap:anywhere}

/* cadastro do produto: botão na ficha e formulário completo (js/cadastro.js) */
.cad-area{display:grid;gap:6px;margin:var(--s3) 0 0}
.cad-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0}
.cad-nota{margin:0;font-size:12.5px}
.cad-acoes .btn-texto.perigo{color:var(--selo)}
.prod-bloco .cad-acoes{margin:0 0 var(--s4)}
/* position: os textos só para leitor de tela (.sr, absolutos) ficam presos ao corpo que rola, não ao diálogo */
.pe-form{position:relative;gap:20px}
.pe-aviso{margin:0;font-size:13px}
.pe-atalhos{flex:none;display:flex;gap:8px;margin:0 -20px;padding:2px 20px;overflow-x:auto;scrollbar-width:none}
.pe-atalhos::-webkit-scrollbar{display:none}
.pe-erros{padding:12px 14px;border-radius:var(--r-cartao);background:var(--alerta-fundo);color:var(--selo);font-size:13px;line-height:1.45}
.pe-erros[hidden]{display:none}
.pe-erros:focus{outline:2px solid var(--selo);outline-offset:2px}
.pe-erros p{margin:0}
.pe-erros ul{margin:6px 0 0;padding-left:18px}
.pe-erros a{color:inherit;font-weight:600}
.pe-secao{display:grid;gap:12px;padding-top:4px;scroll-margin-top:8px}
.pe-secao>legend{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-top:12px;font-size:16px;font-weight:700;color:var(--vinho)}
.pe-secao+.pe-secao{border-top:1px solid var(--linha)}
.pe-grade{display:grid;gap:14px}
.pe-chave .marca-check{flex-direction:row-reverse;justify-content:space-between;gap:16px;font-weight:600}
.pe-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;margin:0;padding:0;list-style:none}
.pe-foto{display:grid;gap:4px;padding:6px;border-radius:var(--r-cartao);box-shadow:var(--borda)}
.pe-foto:first-child{box-shadow:inset 0 0 0 2px var(--vinho)}
.pe-foto-img{display:block;aspect-ratio:1;overflow:hidden;border-radius:6px;background:var(--rosado)}
.pe-foto-img img{width:100%;height:100%;object-fit:cover}
.pe-foto-n{font-size:12px;font-weight:600}
.pe-foto-acoes{display:flex;justify-content:space-between}
.pe-foto-acoes .btn-icone[disabled]{opacity:.3}
.pe-foto-vazia{grid-column:1/-1}
.pe-fotos-rodape{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0}
/* preços e custo: quanto sobra por unidade em cada preço */
.pe-resumo{display:grid;gap:8px;padding:12px 14px;border-radius:var(--r-cartao);background:var(--rosado)}
.pe-resumo .rot{margin:0;font-size:12px;font-weight:700;color:var(--tinta-2)}
.pe-resumo dl{display:grid;gap:6px;margin:0}
.pe-resumo dl>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px}
.pe-resumo dt{font-size:13px}
.pe-resumo dd{margin:0;font-size:13px;text-align:right}
.pe-resumo .m-ruim,.pe-resumo .m-boa{padding:1px 6px;border-radius:4px;font-weight:700;white-space:nowrap}
.pe-resumo>.meta{margin:0;font-size:12px}
@media (min-width:640px){
  .pe-grade{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
  .pe-largo{grid-column:1/-1}
  /* custo, embalagem e outros numa linha; atacado, venda e "de" na de baixo */
  #pe-s-precos .pe-grade{grid-template-columns:repeat(3,minmax(0,1fr))}
  /* nem todo campo tem dica: os campos de valor ficam alinhados na mesma linha */
  #pe-s-precos .campo{display:flex;flex-direction:column}
  #pe-s-precos .ctl-grupo{margin-top:auto}
}

/* folha do Exportar PDF: só aparece na impressão */
.rot-impressao{display:none}

/* ───────── checklist (12, 13) ───────── */
.chk-resumo{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;padding:14px;border-radius:var(--r-cartao-g);background:var(--rosado)}
.chk-resumo p{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:15px}
.chk-resumo p b{font-weight:700}
.chk-resumo .chk-atraso{margin-left:auto}
.chk-resumo b{font-variant-numeric:tabular-nums}
.chk-atraso{padding:4px 8px;border-radius:var(--r-selo);background:var(--selo);color:#fff;font-size:11px;font-weight:700}
.chk-barra{height:8px;border-radius:4px;background:var(--branco);overflow:hidden}
.chk-barra span{display:block;height:100%;border-radius:4px;background:var(--vinho);transition:width .3s}
.chk-barra-acoes{display:flex;gap:8px;margin:0 calc(var(--margem) * -1) 14px;padding:0 var(--margem);overflow-x:auto;scrollbar-width:none}
.chk-barra-acoes::-webkit-scrollbar{display:none}
.chk-filtro>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.chk-colunas{display:flex;flex-direction:column;gap:20px;padding-bottom:72px}
.chk-col{display:flex;flex-direction:column;gap:8px;min-width:0}
.chk-col h2{display:flex;align-items:center;gap:8px;font:700 16px/1.3 var(--sans)}
.chk-col h2 .meta{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--rosado);color:var(--vinho-escuro);font-size:12px;font-weight:700}
.chk-lista{display:flex;flex-direction:column;gap:8px}
.chk-card{display:grid;grid-template-columns:24px minmax(0,1fr) auto;column-gap:12px;row-gap:6px;align-items:start;padding:12px 12px 12px 14px;border-radius:var(--r-cartao-g);box-shadow:var(--borda)}
.chk-card::before{content:"";grid-column:1;grid-row:1/span 3;width:24px;height:24px;margin-top:1px;border-radius:12px;box-shadow:inset 0 0 0 2px var(--borda-campo)}
.chk-feito .chk-card::before{background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") no-repeat center/14px;box-shadow:none}
.chk-titulo{grid-column:2;padding:0;border:0;background:none;text-align:left;font:600 14px/19px var(--sans);color:var(--tinta);cursor:pointer;overflow-wrap:anywhere}
.chk-titulo:hover{color:var(--vinho);text-decoration:underline;text-underline-offset:3px}
.chk-feito .chk-titulo{color:var(--tinta-2)}
.chk-meta{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px;color:var(--tinta-2)}
.chk-resp{display:inline-flex;align-items:center;gap:5px;font-weight:500}
.chk-ini{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:10px;background:var(--rosado);color:var(--vinho-escuro);font-size:9px;font-weight:700}
.chk-prazo{color:var(--cinza)}
.chk-prazo.atrasada{color:var(--selo);font-weight:700}
.chk-prazo.hoje{color:#8A4B0C;font-weight:700}
.chk-obs{grid-column:2;font-size:12.5px;line-height:18px;color:var(--cinza);white-space:pre-line;overflow-wrap:anywhere}
.chk-status{grid-column:3;grid-row:1/span 3}
.chk-status .ctl{width:auto;min-height:36px;height:36px;padding:0 26px 0 10px;border-radius:18px;background-color:var(--rosado);background-position:right 8px center;background-size:14px 14px;box-shadow:none;color:var(--vinho-escuro);font-size:11.5px;font-weight:700}
.chk-vazia{font-size:13px}
.chk-form-grade{display:flex;flex-direction:column;gap:16px}
.chk-barra-acoes [data-chk-nova]{position:fixed;right:var(--margem);bottom:calc(var(--barra-h) + 16px);z-index:35;min-height:52px;padding:0 20px 0 16px;border-radius:16px;font-size:14px;box-shadow:var(--sombra-fab)}
.chk-barra-acoes [data-chk-nova] svg{width:20px;height:20px}

/* ───────── calendário de campanhas ─────────
   Cores das campanhas (nome guardado no banco) e dos tipos de data comemorativa. Todas escuras o
   bastante para texto branco por cima e para texto colorido sobre branco (contraste AA). */
.cor-vinho{--c:var(--vinho)}.cor-magenta{--c:var(--selo)}.cor-ambar{--c:#8A4B0C}.cor-verde{--c:var(--ok)}.cor-azul{--c:#1F4E8C}.cor-grafite{--c:var(--tinta-2)}
.t-feriado{--t:var(--selo)}.t-comercial{--t:var(--vinho)}.t-ecommerce{--t:#8A4B0C}
.cmp-barra{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px}
.cmp-nav{display:flex;align-items:center;gap:4px;flex:1 1 100%;min-width:0}
.cmp-nav .cmp-periodo{flex:1;min-width:0;font:700 17px/1.25 var(--sans);text-align:center}
.cmp-hoje{flex:none}
.cmp-vistas{flex:1 1 auto}
.cmp-nova{position:fixed;right:var(--margem);bottom:calc(var(--barra-h) + 16px);z-index:35;min-height:52px;padding:0 20px 0 16px;border-radius:16px;font-size:14px;box-shadow:var(--sombra-fab)}
.cmp-nova svg{width:20px;height:20px}
.cmp-filtros{position:relative;display:flex;align-items:center;gap:8px;margin:0 calc(var(--margem) * -1) 14px;padding:0 var(--margem);overflow-x:auto;scrollbar-width:none}
.cmp-filtros::-webkit-scrollbar{display:none}
.cmp-chip::before{content:"";flex:none;width:8px;height:8px;margin-right:8px;border-radius:4px;background:var(--t)}
.cmp-chip:has(input:checked){background:var(--t)}
.cmp-chip:has(input:checked)::before{background:#fff}
.cmp-filtro-status{flex:none}
.cmp-layout{display:flex;flex-direction:column;gap:20px;padding-bottom:88px}
.cmp-lado{display:flex;flex-direction:column;gap:16px}
.cmp-dt{font-size:12px;line-height:16px;font-weight:600;color:var(--t)}

/* mês: no celular, número do dia, marca da data comemorativa e pontos das campanhas */
.cmp-cab-dias{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--cinza);text-align:center;text-transform:uppercase}
.cmp-semana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:56px;border-top:1px solid var(--linha)}
.cmp-dia{grid-row:1/-1;position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:6px 2px;border:0;border-radius:10px;background:none;color:var(--tinta);text-align:center}
.cmp-dia:hover{background:var(--hover-linha)}
.cmp-dia:focus-visible{outline-offset:-2px}
.cmp-n{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:16px;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.cmp-dia.fora{color:var(--cinza)}
.cmp-dia.fora .cmp-n{font-weight:400}
.cmp-dia.hoje .cmp-n{color:var(--vinho);font-weight:700;box-shadow:inset 0 0 0 1.5px var(--vinho)}
.cmp-dia[aria-pressed="true"] .cmp-n{background:var(--vinho);color:#fff;box-shadow:none}
.cmp-dia .cmp-dt{display:none}
.cmp-dia.tem-data::after{content:"";position:absolute;top:6px;left:calc(50% + 12px);width:7px;height:7px;border-radius:4px;background:var(--t)}
.cmp-pontos{display:flex;gap:3px;height:6px}
.cmp-pontos i{width:6px;height:6px;border-radius:3px;background:var(--c)}
.cmp-faixa,.cmp-mais,.cmp-legenda{display:none}

/* painel do dia e próximas datas */
.cmp-painel{padding:16px;border-radius:var(--r-cartao-g);background:#FCF9F9;box-shadow:var(--borda)}
.cmp-lado .cmp-painel h2{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font:700 16px/1.3 var(--sans)}
.cmp-hoje-selo{padding:2px 8px;border-radius:var(--r-selo);background:var(--vinho);color:#fff;font-size:11px;font-weight:700}
.cmp-datas-lista,.cmp-dia-lista{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.cmp-data-item{display:grid;gap:2px;padding:10px 12px;border-radius:10px;background:var(--branco);box-shadow:inset 3px 0 0 var(--t),var(--borda)}
.cmp-data-item b{font-size:14px}
.cmp-tipo{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--t)}
.cmp-planejar{justify-self:start;min-height:40px;margin-left:-12px}
.cmp-dia-camp{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.cmp-item,.cmp-card{display:flex;gap:10px;flex:1;width:100%;min-width:0;padding:10px 12px;border:0;border-radius:10px;background:var(--branco);box-shadow:var(--borda);color:var(--tinta);text-align:left}
.cmp-item:hover,.cmp-card:hover{box-shadow:inset 0 0 0 1.5px var(--c)}
.cmp-item-cor{flex:none;width:4px;border-radius:2px;background:var(--c)}
.cmp-item.st-planejado .cmp-item-cor,.cmp-card.st-planejado .cmp-item-cor{background:none;box-shadow:inset 0 0 0 1.5px var(--c)}
.cmp-item-txt{display:grid;gap:2px;min-width:0}
.cmp-item-txt b{font-size:14px;line-height:19px;font-weight:600;overflow-wrap:anywhere}
.cmp-item-txt small{font-size:12px;line-height:16px;color:var(--tinta-2)}
.cmp-item-desc{font-size:12px;line-height:17px;color:var(--cinza);white-space:pre-line;overflow-wrap:anywhere}
.cmp-st{flex:none}
.cmp-proximas ol{display:flex;flex-direction:column;gap:2px}
.cmp-prox{display:flex;align-items:center;gap:12px;width:100%;padding:8px;border:0;border-radius:10px;background:none;color:var(--tinta);text-align:left}
.cmp-prox:hover{background:var(--branco)}
.cmp-prox-data{display:grid;place-content:center;flex:none;width:50px;height:50px;border-radius:10px;background:var(--branco);box-shadow:inset 0 -3px 0 var(--t),var(--borda);text-align:center}
.cmp-prox-data b{font-size:14px;line-height:1.1;font-variant-numeric:tabular-nums}
.cmp-prox-data small{font-size:10px;font-weight:600;color:var(--cinza);text-transform:uppercase}
.cmp-prox-txt{display:grid;min-width:0}
.cmp-prox-txt b{font-size:14px;line-height:19px;font-weight:600}
.cmp-prox-txt small{font-size:12px;line-height:16px;color:var(--tinta-2)}

/* semana: no celular, um dia embaixo do outro */
.cmp-semana-v{display:flex;flex-direction:column;gap:8px}
.cmp-col{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:start;gap:6px 12px;padding:10px;border-radius:var(--r-cartao-g);box-shadow:var(--borda)}
.cmp-col h3{grid-row:1/span 3}
.cmp-col>:not(h3){grid-column:2}
.cmp-col-dia{display:grid;place-items:center;width:56px;padding:6px 0;border:0;border-radius:10px;background:var(--rosado);color:var(--tinta)}
.cmp-col-dia span{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--tinta-2)}
.cmp-col-dia b{font-size:20px;line-height:1.15;font-variant-numeric:tabular-nums}
.cmp-col.hoje .cmp-col-dia{box-shadow:inset 0 0 0 1.5px var(--vinho)}
.cmp-col-dia[aria-pressed="true"]{background:var(--vinho);color:#fff}
.cmp-col-dia[aria-pressed="true"] span{color:#fff}
.cmp-col-datas,.cmp-col-lista{display:flex;flex-direction:column;gap:6px}
.cmp-col-vazia{align-self:center;font-size:12px}

/* formulário */
.cmp-form-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:479.98px){.cmp-form-grade>.campo:nth-child(n+3){grid-column:1/-1}}
.cmp-form-ref{padding:8px 12px;border-radius:8px;background:var(--rosado);color:var(--vinho-escuro);font-size:13px;font-weight:600}
.cmp-cores-op{display:flex;flex-wrap:wrap;gap:0 16px}
.cmp-cor-op{position:relative;display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:500;cursor:pointer}
.cmp-cor-op input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.cmp-cor-bola{flex:none;width:24px;height:24px;border-radius:12px;background:var(--c)}
.cmp-cor-op:has(input:checked){font-weight:700}
.cmp-cor-op:has(input:checked) .cmp-cor-bola{box-shadow:0 0 0 2px var(--branco),0 0 0 4px var(--c)}
.cmp-cor-op:has(input:focus-visible) .cmp-cor-bola{outline:2px solid var(--vinho);outline-offset:5px}
.cmp-cor-op:has(input[disabled]){cursor:default}

/* a partir de 640 px: as campanhas viram faixas que atravessam os dias */
@media (min-width:640px){
  .cmp-semana{grid-template-rows:48px repeat(3,24px) 20px}
  .cmp-dia{align-items:stretch;gap:2px;padding:4px 6px;border-radius:0;text-align:left;box-shadow:inset -1px 0 0 var(--linha)}
  .cmp-dia[style*="grid-column:7"]{box-shadow:none}
  .cmp-n{width:26px;height:26px;border-radius:13px;font-size:13px}
  .cmp-dia .cmp-dt{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:14px}
  .cmp-dia.tem-data::after,.cmp-pontos{display:none}
  .cmp-faixa{display:block;position:relative;z-index:1;align-self:center;height:20px;margin:0 3px;padding:0 6px;border-radius:5px;background:var(--c);color:#fff;font:600 11.5px/20px var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
  .cmp-faixa.st-planejado{background:var(--branco);color:var(--c);box-shadow:inset 0 0 0 1.5px var(--c)}
  .cmp-faixa:hover{filter:brightness(1.15)}
  .cmp-faixa.continua-antes{margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}
  .cmp-faixa.continua-depois{margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}
  .cmp-mais{display:block;grid-row:5;align-self:center;padding:0 8px;font-size:11px;font-weight:700;color:var(--tinta-2);pointer-events:none}
  .cmp-mes{border-bottom:1px solid var(--linha)}
  .cmp-legenda{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:10px}
  .cmp-legenda span{display:inline-flex;align-items:center;gap:6px}
  .cmp-legenda i{display:inline-block;width:18px;height:10px;border-radius:3px;background:var(--vinho)}
  .cmp-legenda i.contorno{background:none;box-shadow:inset 0 0 0 1.5px var(--vinho)}
}
@media (min-width:768px){
  .cmp-filtros{flex-wrap:wrap;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
  .cmp-semana-v{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
  .cmp-col{display:flex;flex-direction:column;min-height:260px;padding:8px}
  .cmp-col-dia{width:100%}
  .cmp-card{flex-direction:column;gap:6px;padding:8px}
  .cmp-card .cmp-item-cor{width:100%;height:4px}
}
@media (min-width:1024px){
  .cmp-barra{flex-wrap:nowrap;gap:var(--s4)}
  .cmp-nav{flex:0 1 auto}
  .cmp-nav .cmp-periodo{min-width:15ch;padding:0 4px;font-size:20px;text-align:left}
  .cmp-vistas{flex:none;margin-left:auto}
  .cmp-nova{position:static;min-height:44px;padding:0 20px;border-radius:var(--r-botao);box-shadow:none}
  .cmp-layout{padding-bottom:0}
  .cmp-chip::before{display:none}
  .marca-check.cmp-chip input:checked{background-color:var(--t)}
}
@media (min-width:1280px){
  .cmp-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:var(--s5)}
  .cmp-lado{position:sticky;top:24px}
  .cmp-layout.vista-semana{display:flex}
  .vista-semana .cmp-lado{position:static;flex-direction:row;align-items:start}
  .vista-semana .cmp-painel{flex:1 1 0;min-width:0}
}

/* ───────── gerenciamento de acessos (14a, 14b, 15, 16, 17) ───────── */
.resumo-acessos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.ind{display:flex;flex-direction:column;padding:10px 12px;border-radius:var(--r-cartao);background:var(--rosado);font-size:12px;line-height:16px;color:var(--tinta-2)}
.ind b{font-size:20px;line-height:24px;color:var(--tinta);font-variant-numeric:tabular-nums}
.ind.ind-ok b{color:var(--ok)}
.ind.ind-crit{background:var(--branco);box-shadow:inset 0 0 0 1.5px var(--selo)}
.ind.ind-crit b{color:var(--selo)}
.ind-revisao{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-cartao);background:var(--rosado);color:var(--vinho-escuro);font-size:13px;font-weight:700}
.ind-revisao.vencida{background:var(--selo);color:#fff}
.ind-revisao svg{width:18px;height:18px;flex:none}
#acessos-conteudo{display:flex;flex-direction:column;gap:14px}
#acessos-conteudo>*{margin-top:0}
.aviso-senha{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-cartao);box-shadow:var(--borda)}
.aviso-senha svg{width:18px;height:18px;flex:none;margin-top:1px;color:var(--vinho)}
.aviso-senha p{font-size:12.5px;line-height:18px;color:var(--tinta-2)}
.aviso-senha b{color:var(--tinta)}
.aviso-gravar{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-cartao);background:var(--alerta-fundo);color:var(--vinho-escuro);font-size:12.5px;line-height:18px}
.aviso-gravar svg{width:18px;height:18px;flex:none;margin-top:1px;color:var(--selo)}
.regras{border-radius:var(--r-cartao-g);background:var(--rosado)}
.regras summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 14px;font-size:15px;font-weight:700;cursor:pointer;list-style:none;border-radius:var(--r-cartao-g)}
.regras summary::-webkit-details-marker{display:none}
.regras summary::after,.filtros summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--tinta-2);border-bottom:2px solid var(--tinta-2);transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.regras[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.regras ul{display:flex;flex-direction:column;gap:10px;padding:0 14px 14px;counter-reset:regra}
.regras li{position:relative;padding-left:32px;font-size:13px;line-height:19px;color:var(--texto-leitura);counter-increment:regra;min-height:22px}
.regras li::before{content:counter(regra);position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:11px;background:var(--vinho);color:#fff;font-size:11px;font-weight:700}
.acoes-acessos{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
.acoes-acessos>.btn:first-child{grid-column:1/-1;min-height:48px}
.acoes-acessos .btn.sec{min-height:48px;padding:6px 10px;font-size:13px;line-height:16px}
.filtros summary{display:none}
.filtros-corpo{display:flex;flex-direction:column;gap:12px}
.filtro-q>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.filtro-q .ctl{min-height:44px;font-size:15px}
.filtros-chips{display:flex;gap:8px;margin:0 calc(var(--margem) * -1);padding:0 var(--margem);overflow-x:auto;scrollbar-width:none}
.filtros-chips::-webkit-scrollbar{display:none}
.filtros-chips .campo{flex:none}
.contas-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:6px}
.contas-h{font:700 17px/1.3 var(--sans)}
.contas-cab .btn{min-height:44px;padding:0 4px;background:none;box-shadow:none;font-size:13px}
.tabela-contas{margin-top:-4px}
.contas{width:100%;border-collapse:collapse;text-align:left}
.contas,.contas tbody,.contas tr,.contas td,.contas tbody th{display:block}
.contas thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.contas tbody{display:flex;flex-direction:column;gap:12px}
.contas tr{position:relative;display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 14px;padding:12px 14px;border-radius:var(--r-cartao-g);box-shadow:var(--borda)}
.contas tr:hover{background:var(--hover-linha)}
.contas tbody th{order:1;flex:1 1 0;min-width:0;padding:0}
.contas .abrir{padding:0;border:0;background:none;color:var(--tinta);font:700 14px/1.3 var(--sans);text-align:left}
.contas .abrir::after{content:"";position:absolute;inset:0;border-radius:var(--r-cartao-g)}
.contas .abrir:focus-visible{outline:none}
.contas tr:has(.abrir:focus-visible){box-shadow:inset 0 0 0 2px var(--vinho)}
.contas td{padding:0;font-size:12px;color:var(--cinza)}
.contas td[data-label="Status"]{order:2;flex:none}
.contas td[data-label="Status"] .selo{margin:0}
.contas td[data-label="Conta"]{order:3;flex-basis:100%;margin-top:-4px;font-size:12.5px;color:var(--tinta-2);overflow-wrap:anywhere}
.contas td[data-label="Titular"],.contas td[data-label="Administradores"],.contas td[data-label="Duas etapas"]{order:4}
.contas td[data-label="Titular"]::before{content:"Titular: "}
.contas td[data-label="Administradores"]::before{content:"Admins: "}
.contas td[data-label="Duas etapas"]::before{content:"Duas etapas: "}
.contas td[data-label="Titular"],.contas td[data-label="Administradores"],.contas td[data-label="Duas etapas"]{font-weight:600;color:var(--texto-leitura)}
.contas td[data-label="Titular"]::before,.contas td[data-label="Administradores"]::before,.contas td[data-label="Duas etapas"]::before{font-weight:400;color:var(--cinza)}
.contas td[data-label="Alertas"]{order:5;flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.contas td[data-label="Alertas"] .selo{margin:0}
.pedidos{margin-top:14px}
.pedidos h2{font:700 17px/1.3 var(--sans)}
.pedidos .intro{margin-top:4px;font-size:12.5px;line-height:18px;color:var(--cinza)}
.pedidos .tab caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#acessos-conteudo>.barra-acoes:last-child{justify-content:center}
#btn-restaurar{background:none;box-shadow:none;font-size:13px}
.etiquetas{display:flex;flex-wrap:wrap;gap:6px}
.etq{display:inline-flex;align-items:center;gap:2px;height:36px;padding:0 4px 0 12px;border-radius:18px;background:var(--rosado);font-size:13px;font-weight:600}
.etq button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:14px;background:none;color:var(--tinta-2);font-size:18px;line-height:1}
.etq button:hover{background:#E3D7D9}
.adc{display:grid;grid-template-columns:1fr auto;gap:8px}
.adc .ctl{min-height:44px}
.adc .btn{min-height:44px;padding:0 14px;font-size:14px}
.outros-lin{display:grid;grid-template-columns:minmax(0,1fr) 110px 36px;gap:6px;align-items:center}
.outros-lin .ctl{min-height:44px;font-size:14px}
.outros-lin+.outros-lin{margin-top:8px}
.outros-lin .fechar{width:36px;font-size:20px}
#btn-outro-add{min-height:40px;padding:0;background:none;box-shadow:none}
#dlg-saida .corpo,#dlg-pedido .corpo{gap:14px}
.alertas-painel ul{display:flex;flex-direction:column;gap:8px}
.alertas-painel li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:var(--alerta-fundo);font-size:12.5px;line-height:18px;color:var(--vinho-escuro)}
.alertas-painel li .selo{margin:0;padding:0;background:none;color:var(--selo);font-size:12.5px}
.alertas-painel li .selo svg{display:none}
.painel .corpo>.meta{font-size:12.5px;line-height:18px;color:var(--tinta-2)}
.hist{display:flex;flex-direction:column;gap:8px}
.hist h3{font-size:13px;font-weight:600}
.hist li{padding:10px 12px;border-radius:10px;background:var(--rosado);font-size:12.5px;line-height:18px;color:var(--tinta-2)}
.hist li+li{margin-top:6px}
.hist li b{color:var(--tinta)}
.hist li span{display:block}
.acoes-conta{display:flex;flex-direction:column;gap:4px}
.acoes-conta .btn.sec{min-height:48px}
.acoes-conta:not(:has(button:not([hidden]))){display:none}
.lista-saida{border-radius:var(--r-cartao-g);box-shadow:var(--borda);overflow:hidden}
.lista-saida:empty{display:none}
.lista-saida li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;box-shadow:0 1px 0 var(--linha)}
.lista-saida input{margin-top:1px}
.lista-saida label{flex:1;display:flex;flex-direction:column;gap:2px;font-size:13.5px;line-height:18px}
.lista-saida small{display:block;font-size:12px;color:var(--cinza)}
#saida-aviso{font-size:12.5px;line-height:18px;color:var(--tinta-2)}

/* ───────── material de consulta (23) ───────── */
.consulta-aba:not([hidden]){display:flex;flex-direction:column;height:calc(100dvh - var(--cab-h) - var(--barra-h))}
.consulta-aba .barra-c{flex:none;padding:10px var(--margem);border-bottom:1px solid var(--linha)}
.consulta-aba .barra-c h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.consulta-aba .barra-c .meta{font-size:12.5px;line-height:18px;color:var(--tinta-2)}
.consulta-aba iframe{flex:1 1 auto;display:block;width:100%;min-height:0;border:0;background:var(--rosado)}
body.em-consulta .rodape{display:none}

/* ───────── rodapé (no celular, só "Sobre os dados" na aba Início) ───────── */
.rodape{display:none}
body[data-aba="inicio"] .rodape{display:block}
.rodape .wrap{margin-top:var(--s6);padding-top:20px;padding-bottom:28px}
.rodape-colunas{display:flex;flex-direction:column;gap:var(--s4);padding-top:20px;border-top:1px solid var(--linha)}
.rodape-colunas>div:not(:last-child){display:none}
.rodape h2{margin-bottom:8px;font:700 11px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--cinza)}
.rodape li{margin-top:var(--s2)}
.rodape a{display:inline-block;padding:3px 0;font-size:14px;text-decoration:none}
.rodape a:hover{text-decoration:underline}
.rodape p{max-width:60ch;font-size:12.5px;line-height:19px;color:var(--cinza)}
.rodape-fim{margin-top:6px;font-size:12.5px;line-height:19px;color:var(--cinza)}

/* menu lateral (computador): grupos por tarefa, item ativo com marcador vinho e modo recolhido só com ícones */
.sb{background:#fff;color:#2B2326;border-right:1px solid #F0E6E9;font-size:14px}
.sb :focus-visible{outline:2px solid var(--vinho);outline-offset:-2px}
.sb-header{display:flex;flex-direction:column;gap:12px;padding:16px 12px 8px}
.sb-topo{display:flex;align-items:center;gap:4px}
.sb-marca{flex:1;min-width:0;display:flex;align-items:center;gap:10px;height:44px;padding:4px;border-radius:12px;color:inherit;text-decoration:none}
.sb-marca:hover{background:#FBF5F7}
.sb-marca-ico{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--magenta),var(--vinho));box-shadow:0 4px 10px -4px rgba(122,31,61,.6)}
.sb-marca-ico img{width:21px;height:auto}
.sb-marca-txt{display:grid;min-width:0;line-height:1.2}
.sb-marca-txt b{font-size:15px;color:var(--vinho)}
.sb-marca-txt small{font-size:11.5px;color:var(--cinza)}
.sb-recolher{display:grid;place-items:center;flex:none;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:none;color:#8A7A7F}
.sb-recolher:hover{background:#F5ECEF;color:var(--vinho)}
.sb-recolher .sb-ico{width:18px;height:18px;transition:transform .2s}
.sb-input{display:flex;align-items:center;gap:8px;width:100%;height:38px;padding:0 10px;border:0;border-radius:10px;background:#F7F2F3;color:#5F5357;font-size:13.5px;text-align:left;transition:background .15s}
.sb-input:hover{background:#F1E8EB;color:var(--tinta)}
.sb-input .sb-ico{width:16px;height:16px}
.sb-input kbd{margin-left:auto;padding:3px 6px;border-radius:5px;background:#fff;box-shadow:0 1px 0 #E5D9DD;font:600 11px/1 var(--sans);color:#5F5357}
.sb-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:4px 0 12px;scrollbar-width:thin}
.lado .sb-group{display:flex;flex-direction:column;padding:6px 12px}
.lado .sb-group-label{display:flex;align-items:center;height:28px;padding:0 10px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#74676C;white-space:nowrap}
.lado .sb-admin{margin-top:auto;padding-top:12px;border-top:1px solid #F0E6E9}
.sb-menu{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.lado .sb-btn{position:relative;display:flex;align-items:center;gap:12px;height:40px;padding:0 10px;border-radius:10px;color:#4A3F43;font-weight:500;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.lado .sb-btn .sb-txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.lado .sb-btn:hover{background:#FBF5F7;color:var(--vinho)}
.lado .sb-btn[aria-current]{background:#F7EBEF;color:var(--vinho);font-weight:700}
.lado .sb-btn[aria-current]::before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--vinho)}
.sb-ico{width:18px;height:18px;flex:none}
.lado .sb-btn .sb-ico{color:#8A7A7F;transition:color .15s}
.lado .sb-btn:hover .sb-ico,.lado .sb-btn[aria-current] .sb-ico{color:var(--vinho)}
.lado .sb-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;border-radius:10px;background:var(--magenta);color:#fff;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}
.sb-footer{padding:12px;border-top:1px solid #F0E6E9}
.sb-footer:not(:has(.sb-conta:not([hidden]))){display:none}
.lado .sb-conta{display:flex;align-items:center;gap:6px;padding:8px;border-radius:12px;background:#FBF7F8}
.lado .sb-conta[hidden]{display:none}
.lado .sb-conta-txt{flex:1;display:flex;align-items:center;gap:10px;min-width:0;font-size:12px;line-height:1.3;color:var(--tinta-2)}
.lado .sb-conta-txt>span:last-child{min-width:0}
.lado .sb-conta-txt b,.lado .sb-conta-txt small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lado .sb-conta-txt b{color:var(--tinta);font-size:12.5px;font-weight:600}
.lado .sb-conta-txt small{font-size:11.5px;color:var(--cinza)}
.lado .sb-conta-ini{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--vinho);color:#fff;font-size:12px;font-weight:700}
.lado .sb-conta-ponto{display:none}
.sb-conta-ini{display:none}
.sb-conta-ponto{flex:none;width:8px;height:8px;margin-top:5px;border-radius:50%;background:#B8A6AB}
.sb-conta-ponto.ok{background:var(--ok)}
.sb-conta-acoes{display:flex;flex-wrap:wrap;gap:6px}
.lado .sb-conta-acoes{flex:none;flex-wrap:nowrap;gap:2px}
.lado .sb-conta .btn{width:32px;height:32px;min-height:32px;padding:0;border-radius:8px;background:none;box-shadow:none;color:#8A7A7F}
.lado .sb-conta .btn:hover{background:#F1E8EB;color:var(--vinho)}
.lado .sb-conta .btn svg{width:17px;height:17px}
.lado .sb-conta .btn span,.sb-mini .lado .sb-txt,.sb-mini .sb-marca-txt,.sb-mini .lado .sb-conta-txt>span:last-child{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* recolhido: só os ícones, com o nome do item ao passar o mouse (title) */
@media (min-width:1024px){
  body.sb-mini{--lado-w:76px}
  .sb-mini .sb-header{align-items:center}
  .sb-mini .sb-topo{flex-direction:column;gap:8px}
  .sb-mini .sb-marca{flex:none}
  .sb-mini .sb-recolher .sb-ico{transform:scaleX(-1)}
  .sb-mini .sb-input{justify-content:center;width:44px;padding:0}
  .sb-mini .sb-input kbd{display:none}
  .sb-mini .lado .sb-group-label{display:none}
  .sb-mini .lado .sb-group:not(:first-child):not(.sb-admin)::before{content:"";display:block;height:1px;margin:0 8px 8px;background:#F0E6E9}
  .sb-mini .lado .sb-btn{justify-content:center;width:44px;height:44px;margin:0 auto;padding:0;gap:0}
  .sb-mini .lado .sb-btn[aria-current]::before{left:-16px}
  .sb-mini .lado .sb-badge{position:absolute;top:4px;right:2px;min-width:17px;height:17px;padding:0 4px;font-size:10px;box-shadow:0 0 0 2px #fff}
  .sb-mini .sb-footer{padding:12px 8px}
  .sb-mini .lado .sb-conta{flex-direction:column;gap:6px;padding:8px 0;background:none}
  .sb-mini .lado .sb-conta-txt{flex:none}
  .sb-mini .lado .sb-conta-acoes{flex-direction:column}
}

/* Biblioteca: abas Estudos e Pesquisas originais */
.bib-abas{display:grid;width:100%;margin-bottom:16px}
.bib-n{display:inline-grid;place-items:center;min-width:20px;height:18px;margin-left:4px;padding:0 5px;border-radius:9px;background:rgba(122,31,61,.1);font-size:11px}
.bib-dica{margin-bottom:14px}
.bib-cartoes{flex-direction:column;margin:0;padding:0;overflow:visible}
.bib-cartoes .cartao{width:auto;min-height:0}
.bib-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fff;color:var(--vinho)}
.bib-ico .sb-ico{width:20px;height:20px}
@media (min-width:768px){
  .bib-abas{display:inline-grid;width:auto}
  .bib-cartoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
}

/* ═════════ tablet: 768 px a 1023 px ═════════ */
@media (min-width:768px){
  /* a página ocupa a largura da tela; as margens crescem com ela */
  :root{--margem:24px}
  .rot-cena-grade{grid-template-columns:110px minmax(0,1fr) minmax(0,1fr)}
  .rot-acoes .btn{flex:none}
  .hero{margin:16px var(--margem) 0}
  .dlg,.painel{max-width:560px}
  .cat-grade{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
  .barra-inf{justify-content:center}
  .barra-inf a{flex:0 1 112px}
  .galeria{margin:0}
  .galeria-foto{border-radius:var(--r-cartao-g);height:auto;aspect-ratio:4/3}
  .galeria-conta{right:12px}
  .ficha-abas{margin-left:0;margin-right:0}
  .pl-lista{margin-left:0;margin-right:0}
  .tx-salvar{margin-left:0;margin-right:0;padding-left:0;padding-right:0}
  .cartoes,.cat-kpis,.cat-atalhos,.chips-linha,.filtros-chips,.chk-barra-acoes{margin-left:0;margin-right:0;padding-left:0;padding-right:0}
  .resumo-acessos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .estudos-grid{display:grid;grid-template-columns:1fr 1fr}
  .video-ref{grid-template-columns:240px 1fr}
  .ent-marca{gap:48px;padding:48px 56px 88px}
  .ent-marca h1{font-size:60px}
  .ent-desc{font-size:17px}
  .ent-flor{width:360px;right:-100px;bottom:-90px}
  .ent-lado{padding:48px 56px 32px}
  .ent-caixa{max-width:420px}
}

/* ═════════ computador: a partir de 1024 px ═════════ */
@media (min-width:1024px){
  :root{--margem:clamp(32px,3vw,72px);--cab-h:0px;--barra-h:0px}
  html{scroll-padding-top:24px}
  body{font-size:15px}
  .sr-movel{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
  .shell{display:grid;grid-template-columns:var(--lado-w) minmax(0,1fr);transition:grid-template-columns .22s var(--entrada)}
  .area{padding-bottom:0}
  .lado{display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
  .cab,.barra-inf{display:none}
  .wrap{padding:0 var(--margem)}
  .pagina{padding-top:var(--s7);padding-bottom:96px}
  .pagina h1{font:700 clamp(32px,1.2rem + 1.4vw,44px)/1.12 var(--sans);letter-spacing:-.01em}
  .pagina h2{font:700 22px/1.25 var(--sans)}
  .intro{font-size:16px;line-height:1.6}
  .cab-pagina{margin-bottom:var(--s6);padding-bottom:var(--s5);border-bottom:1px solid var(--linha)}
  .cab-pagina>h1{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
  .cab-pagina>h1+.intro{margin-top:var(--s3)}
  .migalha{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--s5);font-size:14px;color:var(--cinza)}
  .migalha a{color:var(--vinho);font-weight:600}
  .barra-leitura{top:0;height:4px;background:transparent}
  .toast{bottom:24px}
  .btn.peq{min-height:36px;padding:0 12px;font-size:13px}
  .btn{min-height:44px;font-size:14px}
  .ctl{min-height:44px;font-size:15px}
  .so-movel,.cat-visao-movel,.btn-filtro,.cat-atalhos,.ficha-abas,.inicio-h,.contas-h{display:none !important}
  .cat-f{display:grid}
  .cat-crit.cat-f{display:flex}
  .cat-busca>label{position:static;width:auto;height:auto;overflow:visible;clip:auto}
  .vazio-lista{text-align:left}

  /* diálogos centralizados (raio 16) e painel lateral */
  .dlg{inset:0;margin:auto;width:min(640px,calc(100vw - 48px));height:auto;max-width:none;max-height:calc(100dvh - 48px);border-radius:var(--r-bloco);box-shadow:0 24px 64px rgba(0,0,0,.24)}
  .dlg-curta{width:min(480px,calc(100vw - 48px))}
  .dlg-alta{height:auto}
  .dlg .alca,.painel .alca{display:none}
  .painel{inset:0 0 0 auto;margin:0;width:min(560px,100vw);height:100dvh;max-height:100dvh;border-radius:0;box-shadow:-12px 0 40px rgba(0,0,0,.16)}
  dialog header{padding:20px 16px 14px 24px;border-bottom:1px solid var(--linha);touch-action:auto}
  dialog header h2{padding-top:4px;font-size:22px;line-height:28px}
  dialog .corpo{padding:20px 24px}
  dialog footer{flex-direction:row;justify-content:flex-start;padding:16px 24px;border-top:1px solid var(--linha)}
  dialog footer .btn,dialog footer .btn.sec{flex:none;min-height:44px}
  dialog footer .btn.sec{box-shadow:inset 0 0 0 1.5px var(--vinho);background:#fff}
  .dlg-curta footer{flex-direction:row;padding-top:16px;border-top:1px solid var(--linha)}
  .dlg-confirma header{flex-direction:row;align-items:center;gap:14px}
  .conf-ico{width:44px;height:44px}
  #dlg-filtros{display:none !important}
  .busca{inset:8vh auto auto 50%;transform:translateX(-50%);width:min(680px,calc(100vw - 32px));height:auto;max-height:80dvh;border-radius:var(--r-bloco);box-shadow:0 24px 64px rgba(0,0,0,.24)}
  .busca .campo-b{height:auto;gap:8px;padding:16px;border-bottom:1px solid var(--linha)}
  .busca-voltar,.busca-dica{display:none}
  .busca-x{display:inline-flex}
  .busca-pilula input{height:48px;border-radius:var(--r-campo);background:#fff;box-shadow:var(--borda-forte)}
  .busca-pilula input:focus{box-shadow:inset 0 0 0 2px var(--vinho)}
  @media (prefers-reduced-motion:no-preference){
    .dlg[open]{animation:aparece .2s ease-out}
    .painel[open]{animation:entra .24s var(--entrada)}
    .busca[open]{animation:none}
  }

  /* entrar: tela inteira, marca à esquerda e formulário à direita, sem o menu lateral */
  .hero h1 .marca-pro{font-size:.9em}
  .hero p.hero-by{margin-top:6px}
  body.sem-login .shell{display:block}
  body.sem-login .lado{display:none}
  .entrar{min-height:100vh;flex-direction:row;align-items:stretch}
  .ent-marca{flex:1 1 55%;justify-content:space-between;gap:48px;padding:56px clamp(48px,5vw,88px)}
  .ent-marca h1{font-size:clamp(60px,2rem + 3.6vw,96px)}
  .ent-desc{max-width:30ch;font-size:clamp(17px,.8rem + .5vw,20px)}
  .ent-flor{width:clamp(420px,36vw,620px);right:-8%;bottom:-14%}
  .ent-lado{flex:0 0 min(560px,45%);justify-content:center;margin:0;padding:56px clamp(40px,4.5vw,80px) 32px;border-radius:0}
  .ent-caixa{flex:none;max-width:400px}
  .ent-rodape{margin-top:56px}

  /* início */
  .hero{max-width:none;margin:0;border-radius:0}
  .hero .wrap{min-height:clamp(260px,30vw,360px);justify-content:center;gap:0;padding-top:var(--s7);padding-bottom:var(--s7)}
  .hero h1{font:700 clamp(36px,1.4rem + 2.4vw,56px)/1.06 var(--sans)}
  .hero p{max-width:42ch;margin-top:var(--s4);font-size:17px;line-height:1.55}
  .hero .btn{margin-top:var(--s5)}
  .hero .flor{right:clamp(16px,8vw,120px);top:50%;transform:translateY(-50%);width:clamp(150px,20vw,280px);opacity:.95}
  .tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s5);margin-top:var(--s6);box-shadow:none;overflow:visible;border-radius:0}
  .tile{flex-direction:column;justify-content:flex-start;text-align:center;padding:var(--s5) var(--s4);border-radius:var(--r-bloco);box-shadow:var(--borda)}
  .tile:hover{background:var(--branco);box-shadow:inset 0 0 0 1.5px var(--vinho)}
  .tile-ico{width:56px;height:56px;border-radius:16px}
  .tile-ico svg{width:28px;height:28px}
  .tile-txt{align-items:center;gap:6px}
  .tile h2{font:700 20px/1.25 var(--sans)}
  .tile:hover h2{text-decoration:underline;text-underline-offset:4px}
  .tile .estado{font-size:14px}
  .tile .d{max-width:34ch;font-size:14px;line-height:1.5;color:var(--tinta-2)}
  .tile-seta{display:none}
  .secao{margin-top:var(--s8)}
  .secao>h2{font-size:24px;line-height:1.25}
  .secao>.intro{font-size:16px;line-height:1.6}
  .cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s4);margin:var(--s5) 0 0;padding:0;overflow:visible}
  .cartao{width:auto;min-height:0;padding:var(--s5)}
  .cartao h3{font-size:18px;line-height:1.3}
  .cartao p{font-size:14px;line-height:1.55}

  /* catálogo */
  .cat-kpis{flex-wrap:wrap;margin:var(--s4) 0 0;padding:0;overflow:visible}
  .cat-barra{gap:var(--s3) var(--s4);padding-top:0}
  .cat-barra>.campo{flex:0 1 200px}
  .cat-barra>.cat-busca{flex:1 1 240px}
  .cat-barra>.campo:has(.seg){flex:0 1 auto}
  .cat-busca .ctl{min-height:44px}
  .cat-res-linha{margin:var(--s4) 0 var(--s5);padding-top:var(--s4);border-top:1px solid var(--linha)}
  .cat-res-acoes{display:flex;flex-wrap:wrap;gap:var(--s2)}
  .cat-grupo{margin-top:0}
  .cat-grupo+.cat-grupo{margin-top:var(--s7)}
  .cat-grupo h2{font-size:20px}
  #cat-lista>.cat-grade{margin-top:0}
  .cat-grade{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--s4)}
  .prod-card:hover{background:var(--branco);box-shadow:inset 0 0 0 1.5px var(--vinho)}
  .prod-card:hover .prod-nome{text-decoration:underline;text-underline-offset:3px}
  .prod-foto-img{object-fit:contain;background:#fff}
  .prod-img{background:#fff;border-bottom:1px solid var(--linha)}
  .prod-selos .selo-cat{box-shadow:var(--borda)}
  .selo-crit{left:auto;right:8px}
  .prod-corpo{gap:4px;padding:var(--s3) var(--s3) var(--s4)}
  .cat-grupo .prod-linha{display:block}
  .prod-linha{font-size:12px}
  .prod-nome{font-size:15px;line-height:1.3;font-weight:700}
  .prod-preco{padding-top:6px}
  .prod-preco b{font-size:17px}
  .prod-preco s{font-size:13px}
  .prod-sku{font-size:12px;white-space:normal;overflow:visible;overflow-wrap:anywhere}
  .pl-lista{display:none}
  .pl-tabela{display:block}

  /* ficha do produto: tudo na mesma página */
  #produto-corpo[data-ficha-aba] [data-painel]{display:block !important}
  #produto-corpo [data-painel="produto"]{display:block}
  .prod-topo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s6);align-items:start}
  .galeria{position:sticky;top:24px;margin:0;display:grid;gap:var(--s3)}
  .galeria-foto{aspect-ratio:1;height:auto;border-radius:var(--r-cartao);background:#fff;box-shadow:var(--borda)}
  .galeria-foto img{object-fit:contain}
  .galeria-conta{display:none}
  .galeria-minis{position:static;justify-content:flex-start;flex-wrap:wrap;gap:8px}
  .galeria-mini{width:64px;height:64px;border-radius:8px;background:#fff;box-shadow:var(--borda);overflow:hidden}
  .galeria-mini::before{display:none}
  .galeria-mini>*{display:block;width:100%;height:100%;object-fit:contain}
  .galeria-mini[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--vinho)}
  .prod-info{padding-top:0}
  .prod-info .prod-linha::before{content:none}
  .prod-info h1{font:700 clamp(26px,1.2rem + 1.4vw,36px)/1.15 var(--sans)}
  .prod-info .btn{align-self:flex-start}
  .preco-acoes .btn{flex:none}
  .prod-info>p>.btn.sec{width:auto;box-shadow:inset 0 0 0 1.5px var(--vinho)}
  .ficha-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:0;overflow:hidden;background:var(--linha);box-shadow:inset 0 0 0 1px var(--linha)}
  .ficha-mini div{flex-direction:column;justify-content:flex-start;gap:2px;padding:10px 12px;border:0;background:#fff}
  .ficha-mini dd{text-align:left}
  .piramide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding:0;overflow:hidden;background:var(--linha)}
  .piramide div{flex-direction:column;justify-content:flex-start;gap:2px;padding:10px 12px;border:0;background:#fff}
  .piramide dd{text-align:left}
  .ficha-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;padding:0;overflow:hidden;background:var(--linha)}
  .ficha-grade div{flex-direction:column;justify-content:flex-start;gap:2px;padding:10px 12px;border:0;background:#fff}
  .ficha-grade dd{text-align:left;font-weight:500}
  .ficha-mini dt,.ficha-grade dt,.piramide dt{max-width:none;font-size:12px;font-weight:600}
  .ficha-mini dd,.ficha-grade dd,.piramide dd{font-size:14.5px}
  .prod-info .h-sec{font-size:16px}
  .prod-bloco{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--linha)}
  .prod-bloco>h2{margin-bottom:var(--s3);font:700 22px/1.25 var(--sans)}
  .prod-bloco h3{margin:var(--s5) 0 var(--s3);font-size:17px}
  .prod-bloco.interno{padding:var(--s5);border-radius:var(--r-bloco);background:#FCF9F9;box-shadow:var(--borda);border-top:0}
  .interno>h2#h-int{position:static;width:auto;height:auto;overflow:visible;clip:auto}
  #sec-custos>h2{font-size:22px}
  .prod-desc{font-size:15.5px;line-height:1.7}
  .lista-traco{display:grid;gap:6px}
  .lista-traco li{position:relative;padding:0 0 0 18px;border-radius:0;background:none;color:var(--tinta);font-size:14.5px;line-height:1.5;font-weight:400}
  .lista-traco li::before{content:"";position:absolute;left:0;top:.7em;width:8px;height:2px;background:var(--magenta)}
  .mkt-campo{background:#fff;box-shadow:var(--borda)}
  .mkt-campo .btn{width:auto;align-self:flex-start}
  .prod-nav{grid-template-columns:1fr auto 1fr;gap:var(--s4);margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--linha)}
  .prod-nav>span:empty{display:block}
  .prod-nav a{min-height:0;padding:0;box-shadow:none;color:var(--vinho);font-size:14.5px}
  .prod-nav a:hover{background:none;text-decoration:underline}
  .prod-nav .prod-nav-cat{grid-column:auto;grid-row:auto;min-height:40px;padding:0 14px;border-radius:var(--r-botao);box-shadow:inset 0 0 0 1.5px var(--vinho)}
  .form-preco-campos{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
  .form-preco .barra-acoes .btn{flex:none}

  /* custos e canais lado a lado, sem sanfona */
  .custo-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--s4);padding:0;box-shadow:none}
  .custo-grade::before{content:none}
  #custos-corpo>h3:first-child{position:static;width:auto;height:auto;overflow:visible;clip:auto}
  #custos-corpo>h3{flex-direction:row;align-items:baseline;gap:6px}
  .custo-grade>.campo{display:grid;grid-template-columns:1fr;grid-template-areas:none;row-gap:6px}
  .custo-grade>.campo>*{grid-area:auto !important}
  .custo-grade .ctl{min-height:44px}
  .custo-total{flex-direction:column;align-items:flex-start;gap:6px;padding:var(--s3) var(--s4);border:0;border-radius:var(--r-cartao);box-shadow:var(--borda);background:#fff}
  .custo-total b{font-size:22px}
  #ct-alerta{margin-top:var(--s4);padding:var(--s3) var(--s4);border-radius:var(--r-cartao);box-shadow:var(--borda);background:#fff;font-size:14px;color:var(--tinta-2)}
  .canais-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:var(--s4)}
  .canal-card{background:#fff}
  .canal-card:not(.aberto)>:not(.canal-topo){display:flex}
  .canal-card:not(.aberto)>.campo{display:grid}
  .canal-card:not(.aberto){padding-block:14px;justify-content:flex-start}
  .canal-card:not(.aberto):hover{background:#fff}
  .canal-topo{pointer-events:none}
  .canal-alterna::after{content:none}
  .canal-topo .seta,.canal-lucro{display:none !important}
  .canal-card>.campo{grid-template-columns:1fr;grid-template-areas:none;row-gap:6px}
  .canal-card>.campo>*{grid-area:auto !important}
  .tx-salvar{position:static;margin:var(--s5) 0 0;padding:var(--s4) 0 0;justify-content:flex-end;align-items:center}
  .tx-salvar .meta{flex-basis:auto;margin-right:auto;text-align:left;font-size:13px}
  .tx-salvar .btn{flex:none;min-height:44px;padding:0 20px;font-size:14px}

  /* taxas */
  .tx-geral{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s4);max-width:720px;margin-bottom:var(--s6);padding:0;background:none}
  .tx-geral>.campo,.tx-grade>.campo{grid-template-columns:1fr;grid-template-areas:none;row-gap:6px}
  .tx-geral>.campo>*,.tx-grade>.campo>*{grid-area:auto !important}
  .tx-geral .dica{color:var(--cinza)}
  .tx-canal summary{flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px 12px;min-height:56px;padding:12px 44px 12px 16px}
  .contas td .meta{white-space:nowrap}
  .tx-nome{font-size:16px}
  .tx-corpo{padding:8px 16px 20px;border-top:1px solid var(--linha);gap:var(--s4)}
  .tx-linha{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:end;gap:var(--s3);padding-top:var(--s3)}
  .tx-ajuda{font-size:14px;color:var(--tinta-2);max-width:72ch}
  .tx-faixas-tit{display:none}
  .tx-faixas thead{display:table-header-group}
  .tx-faixas thead tr,.tx-faixas tbody tr{display:table-row}
  .tx-faixas thead th{padding:var(--s3);font-size:13px;color:var(--tinta);background:var(--rosado)}
  .tx-faixas td{padding:var(--s2) var(--s3)}
  .tx-faixas .ctl{min-width:96px}
  .tx-faixas .fechar{width:40px}
  .tx-corpo .tabela-rolagem{box-shadow:var(--borda);border-radius:var(--r-cartao);overflow:auto}
  .tx-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s4)}
  .tx-rodape{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--s3)}
  .tx-rodape .meta{margin-right:auto;font-weight:400;color:var(--cinza)}
  .tx-rodape .btn{width:auto}
  .tx-rodape .btn.perigo{box-shadow:inset 0 0 0 1.5px var(--selo);background:#fff}
  .tx-corpo>p>.btn.sec,.tx-corpo .tx-add{min-height:36px;padding:0 12px;box-shadow:inset 0 0 0 1.5px var(--vinho);background:#fff}
  #taxas-corpo>p>.btn{width:auto}
  .tx-dados{margin-top:var(--s7);padding-top:var(--s5)}
  .tx-dados h2{font-size:20px}

  /* atacado (configuração) */
  .atc-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;max-width:820px;gap:var(--s4)}
  .atc-acoes{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}
  .atc-acoes .btn{width:auto}
  .atc-h{flex-direction:row;align-items:baseline;gap:6px;margin:var(--s6) 0 var(--s2);font-size:20px}
  .atc-h .meta{font-size:14px;font-weight:600;color:var(--cinza)}

  /* tabelas de volta a tabela */
  .tabela-rolagem{margin-top:var(--s5);overflow-x:auto;border-radius:var(--r-cartao);box-shadow:var(--borda)}
  .tab{display:table;font-size:14.5px}
  .tab caption{display:table-caption;padding:var(--s3) var(--s4)}
  .tab thead{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;display:table-header-group}
  .tab tbody{display:table-row-group}
  .tab tr,.tx-faixas tbody tr,.tx-faixas thead tr{display:table-row;padding:0;border-radius:0;box-shadow:none;background:none}
  .tab tr::before{content:none !important}
  .tab td,.tab th,.tab tbody th{display:table-cell;padding:var(--s3) var(--s4);vertical-align:top;font-size:inherit;color:inherit;border-radius:0;background:none}
  .tab th{font-weight:700;background:var(--rosado);white-space:nowrap;font-size:14px}
  .tab td,.tab tbody th{border-top:1px solid var(--linha)}
  .tab tbody th{background:transparent;white-space:normal}
  .tab td[data-label]::before{content:none !important}
  .tab tbody tr:hover td,.tab tbody tr:hover th{background:#FAF7F7}
  .rot-tab tbody th{color:var(--tinta-2);font-weight:600;white-space:nowrap}
  .rot-tab tbody{border:0;margin:0}
  .rot-tab td[data-label="Cena"]{font-weight:400;font-size:inherit}
  .tab-ped td[data-label="Nível"]{background:none;font-size:inherit;font-weight:400;color:inherit}
  .tab-ped td[data-label="Quem pediu"]{font-weight:400}
  .tab-ped tbody th{font-size:inherit;color:inherit;font-weight:700}
  .pedidos .tab caption{position:static;width:auto;height:auto;overflow:visible;clip:auto}
  .atc-tab tbody{border-radius:0;box-shadow:none;overflow:visible}
  .atc-tab td,.atc-tab th{white-space:nowrap}
  .atc-tab td[data-label="Atacado"]{color:inherit}
  .tab-div td[data-label="Planilha oficial"],.tab-div td[data-label="Site ou diagnóstico"]{font-size:inherit;color:inherit}
  .tab-div td[data-label="Gravidade"]{padding:var(--s3) var(--s4)}
  .usu-tab tbody th{display:table-cell;border-bottom:0}
  .usu-ini{display:none}
  .usu-tab tbody th b{display:block}
  .usu-email{white-space:normal;overflow-wrap:anywhere}
  .usu-tab td{font-size:inherit;font-weight:400}
  .usu-tab td[data-label="Situação"]{position:static}
  .usu-tab td[data-label="Acesso"] .selo-cat.ok{padding:4px 7px;background:var(--ok-fundo);color:var(--ok);font-size:11px;font-weight:700}
  .usu-tab td.usu-editar .btn{position:static;width:auto;height:auto;min-height:36px;padding:0 12px;border-radius:var(--r-botao);background:#fff;box-shadow:inset 0 0 0 1.5px var(--vinho);color:var(--vinho);font-size:13px}
  .usu-tab tbody th:has(+ td) .meta{display:inline}
  .usu-barra .meta{font-weight:400;color:var(--cinza)}
  .tx-faixas td{border-top:1px solid var(--linha)}
  .tx-faixas td,.tx-faixas th{vertical-align:middle}
  .tx-faixas .meta{min-height:0;padding:0;box-shadow:none}

  /* estudos */
  .estudos-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s5)}
  .estudo-card{gap:0;padding:0;overflow:hidden;border-radius:var(--r-bloco)}
  .estudo-card:hover{background:var(--branco);box-shadow:inset 0 0 0 1.5px var(--vinho)}
  .estudo-card .topo{align-items:flex-end;justify-content:space-between;min-height:120px;padding:var(--s5) var(--s5) var(--s4);background:var(--rosado)}
  .estudo-card .n{font-size:56px;line-height:.9;color:var(--selo)}
  .estudo-card .topo .selo-badge{background:var(--selo);color:#fff}
  .estudo-card .corpo{flex:1;padding:var(--s5)}
  .estudo-card h2{font-size:21px;line-height:1.25}
  .estudo-card:hover h2{text-decoration:underline;text-underline-offset:4px}
  .estudo-card p{font-size:14.5px;line-height:1.6}
  .estudo-card .meta{margin-top:auto;padding-top:var(--s3)}
  .estudo-card.vazio .topo{background:transparent}
  .aba-estudo .pagina{padding:var(--s7) var(--margem) 96px}
  .est-cab{gap:var(--s3)}
  .est-cab h1{font:700 clamp(30px,1.2rem + 1.6vw,44px)/1.1 var(--sans)}
  .est-cab .assina{font-size:clamp(17px,1rem + .4vw,21px);line-height:1.35;font-weight:500;color:var(--selo)}
  .ficha{margin-top:var(--s3)}
  .leitura{font-size:17px;line-height:1.75}
  .leitura section{scroll-margin-top:24px;margin-top:var(--s8)}
  .leitura section:first-child{margin-top:var(--s7)}
  .leitura h2{font-size:clamp(23px,1.1rem + .8vw,28px);line-height:1.2}
  .manifesto{padding:var(--s5);font-size:clamp(17px,1rem + .45vw,21px)}
  .chip{grid-template-columns:22px 14ch 9ch 1fr}
  .chip .pc{grid-column:auto;margin:0;padding:0}
  .chip .pc:empty{display:block}
  .fab-sumario{bottom:24px}
  .fim-estudo{margin-bottom:0}

  /* roteiros */
  .filtro-rot{display:inline-flex;gap:4px;height:auto;padding:4px;border-radius:10px}
  .rot-fil{height:36px;padding:0 14px;border-radius:8px;font-size:14px}
  .roteiros-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:var(--s5)}
  .rot-tela-cab{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--s3) var(--s5);margin-bottom:var(--s6);padding-bottom:var(--s5);border-bottom:1px solid var(--linha)}
  .rot-tela-cab .rot-meta{grid-column:1/-1}
  .rot-tela-cab h1{font-size:clamp(26px,1.2rem + 1.4vw,36px);line-height:1.15}
  .rot-tela-cab .rot-acoes{flex-wrap:nowrap}
  .rot-tela-cab .rot-acoes .btn{flex:none}
  .rot-tela-grade{grid-template-columns:minmax(0,1fr) 360px;gap:var(--s7);align-items:start}
  .rot-tela-principal{grid-column:1;grid-row:1;gap:var(--s7)}
  .rot-tela-lado{grid-column:2;grid-row:1;gap:var(--s4)}
  .rot-bloco{padding:var(--s4) var(--s5)}
  .rot-sec>h2{font-size:22px}
  .rot-cenas-tela{gap:var(--s3)}
  .rot-cenas-tela li{grid-template-columns:120px minmax(0,1fr) minmax(0,1.3fr);gap:var(--s5);padding:var(--s4) var(--s5);align-items:start}
  .rot-tp-texto{padding:var(--s5);font-size:17px}
  .roteiro{padding:var(--s5)}
  .roteiro h2{font-size:20px;line-height:1.25}
  .roteiro .tabela-rolagem{margin-top:0}
  .rot-versoes{grid-template-columns:1fr 1fr}
  .rot-barra{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4)}
  .rot-filtro-grava .ctl{width:auto}
  .rot-novo{position:static;min-height:44px;margin-left:auto;padding:0 20px;border-radius:var(--r-botao);box-shadow:none}
  #roteiros-corpo{padding-bottom:0}
  #roteiros-corpo #rot-contagem{margin-bottom:var(--s5)}
  .rot-player video{max-width:280px}
  .dlg-larga{width:min(840px,calc(100vw - 48px))}

  /* checklist */
  .chk-resumo{max-width:520px;margin-bottom:var(--s5)}
  .chk-barra-acoes{flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);margin:0 0 var(--s5);padding:0;overflow:visible}
  .chk-barra-acoes [data-chk-nova]{position:static;min-height:44px;padding:0 20px;border-radius:var(--r-botao);box-shadow:none}
  .chk-colunas{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:var(--s4);padding-bottom:0}
  .chk-col{padding:var(--s3);border-radius:var(--r-bloco);background:#FCF9F9;box-shadow:var(--borda)}
  .chk-col h2{padding:4px 4px 4px}
  .chk-col.chk-fazendo h2{color:#8A4B0C}
  .chk-col.chk-feito h2{color:var(--ok)}
  .chk-card{background:#fff}
  .chk-card.atrasada{box-shadow:var(--borda),inset 4px 0 0 var(--selo)}

  /* acessos */
  .resumo-acessos{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s4)}
  .ind{min-width:120px}
  .ind-revisao{flex-basis:100%;max-width:520px}
  #acessos-conteudo{gap:var(--s4)}
  .acoes-acessos{display:flex;flex-wrap:wrap;gap:var(--s3)}
  .acoes-acessos .btn.sec,.acoes-acessos>.btn:first-child{min-height:44px;padding:0 20px;font-size:14px}
  .filtros-corpo{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:var(--s4)}
  .filtro-q{flex:1 1 240px}
  .filtro-q>label{position:static;width:auto;height:auto;overflow:visible;clip:auto}
  .filtros-chips{display:contents}
  .filtros-chips .campo{flex:0 1 200px}
  .filtros-chips .campo>label{font:600 13px/18px var(--sans)}
  select.chip-sel{width:100%;height:44px;min-height:44px;padding:0 40px 0 14px;border-radius:var(--r-campo);box-shadow:var(--borda-forte);font:400 15px/1.3 var(--sans);background-position:right 12px center;background-size:18px 18px}
  .chip-check{height:44px;min-height:44px;padding:0;border-radius:0;box-shadow:none;background:none !important;color:inherit !important;font:500 14px/1 var(--sans);gap:10px}
  .chip-check input{position:static;opacity:1;width:22px;height:22px}
  .contas-cab{display:contents}
  .contas-cab .btn{min-height:36px;padding:0 12px;box-shadow:inset 0 0 0 1.5px var(--vinho);background:#fff}
  .tabela-contas{margin-top:0;overflow-x:auto}
  .contas{display:table;font-size:14.5px}
  .contas thead{position:static;width:auto;height:auto;overflow:visible;clip:auto;display:table-header-group}
  .contas tbody{display:table-row-group}
  .contas tr{display:table-row;padding:0;border-radius:0;box-shadow:none}
  .contas th,.contas td,.contas tbody th{display:table-cell;height:56px;padding:0 var(--s3);border-bottom:1px solid var(--linha);vertical-align:middle;font-size:inherit;color:inherit;font-weight:400}
  .contas thead th{height:44px;border-bottom:0;background:var(--rosado);font-weight:700;white-space:nowrap}
  .contas thead th button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0;border:0;background:none;font-weight:700}
  .contas thead th button::after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.3}
  .contas thead th[aria-sort="ascending"] button::after{border-top:0;border-bottom:5px solid currentColor;opacity:1}
  .contas thead th[aria-sort="descending"] button::after{border-top:5px solid currentColor;opacity:1}
  .contas td::before{content:none !important}
  .contas tr:hover{background:none}
  .contas tbody tr:hover td,.contas tbody tr:hover th{background:#FAF7F7}
  .contas .abrir{min-height:44px;color:var(--vinho);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
  .contas .abrir::after{content:none}
  .contas .abrir:focus-visible{outline:2px solid var(--vinho);outline-offset:2px}
  .contas tr:has(.abrir:focus-visible){box-shadow:none}
  .contas td[data-label="Conta"]{margin:0;font-size:inherit;color:inherit}
  .contas td[data-label="Titular"],.contas td[data-label="Administradores"],.contas td[data-label="Duas etapas"]{font-weight:400;color:inherit}
  .contas td[data-label="Alertas"]{display:table-cell;margin:0}
  .contas td[data-label="Alertas"] .selo{margin:2px 6px 2px 0}
  .contas .conta-id{min-width:190px;overflow-wrap:break-word}
  .contas td.admins{font-variant-numeric:tabular-nums}
  .pedidos{margin-top:var(--s7)}
  .pedidos h2{font-size:22px}
  .pedidos .intro{font-size:16px;color:var(--tinta-2)}
  #acessos-conteudo>.barra-acoes:last-child{justify-content:flex-start}
  #btn-restaurar{box-shadow:inset 0 0 0 1.5px var(--vinho);background:#fff}
  .dois{grid-template-columns:1fr 1fr}
  .outros-lin{grid-template-columns:1fr 140px auto}
  .acoes-conta{flex-direction:row;flex-wrap:wrap;justify-content:space-between;padding-top:var(--s4);border-top:1px solid var(--linha)}
  dialog .corpo .btn.perigo,.acoes-conta .btn.perigo{box-shadow:inset 0 0 0 1.5px var(--selo);background:#fff}
  .acao-perigo{justify-content:flex-start}
  .usu-grade{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
  .usu-mods{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 var(--s4);margin-left:32px}
  .usu-conta{justify-content:flex-start}
  .usu-conta .btn{flex:none}
  .usu-conta .btn.perigo{box-shadow:inset 0 0 0 1.5px var(--selo);background:#fff}
  .chk-form-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}

  /* consulta */
  .consulta-aba:not([hidden]){height:100vh}
  .consulta-aba .barra-c{display:flex;align-items:center;gap:var(--s4);min-height:64px;padding:var(--s3) var(--s5)}
  .consulta-aba .barra-c h1{position:static;width:auto;height:auto;overflow:visible;clip:auto;font:700 18px/1.25 var(--sans)}
  .consulta-aba .barra-c .meta{margin-top:2px;font-size:13px;color:var(--cinza)}
  .consulta-aba iframe{background:#fff}

  /* rodapé completo */
  .rodape,body[data-aba] .rodape{display:block;margin-top:var(--s7);border-top:1px solid var(--linha)}
  body.em-consulta .rodape{display:none}
  .rodape .wrap{margin-top:0;padding-top:var(--s7);padding-bottom:var(--s5)}
  .rodape-colunas{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s6);padding-top:0;border-top:0}
  .rodape-colunas>div:not(:last-child){display:block}
  .rodape h2{margin-bottom:var(--s3);font:600 13px/1.3 var(--sans);letter-spacing:.06em}
  .rodape p{max-width:40ch;font-size:14px;line-height:1.6;color:var(--tinta-2)}
  .rodape-fim{margin-top:var(--s7);padding-top:var(--s4);border-top:1px solid var(--linha);font-size:12.5px;color:var(--cinza)}
}

/* sumário ao lado do texto só em telas largas; antes disso, o botão flutuante abre a gaveta */
@media (min-width:1280px){
  .estudo-grid{display:grid;grid-template-columns:minmax(0,720px) 240px;justify-content:start;gap:var(--s8);align-items:start}
  .lateral{display:block;position:sticky;top:24px}
  .aba-estudo:not([hidden]) .fab-sumario,[data-cab-para="estudo"]{display:none}
  .contas thead th{position:sticky;top:0;z-index:2}
}

/* telas muito largas: a foto do produto para de crescer e o texto ganha o espaço */
@media (min-width:1600px){
  .prod-topo{grid-template-columns:640px minmax(0,1fr)}
}

/* ───────── impressão ───────── */
@media print{
  body{background:#fff;color:#000}
  .lado,.cab,.barra-inf,.lateral,.fab-sumario,.skip,.toast,.rodape,.barra-leitura,.fim-estudo,.tx-salvar,.preco-acoes,.ficha-abas{display:none !important}
  .shell{display:block}
  .area{padding:0}
  .pagina{padding:0}
  .wrap{max-width:none;padding:0}
  .leitura{max-width:none;font-size:11pt}
  .leitura a[href^="http"]::after,.leitura a[href^="../"]::after{content:" (" attr(href) ")";font-size:9pt;word-break:break-all}
  .manifesto{background:#fff;color:#000;border:1px solid #000}
  .manifesto p:last-child{color:#000}
  .leitura h2{break-after:avoid}
  .tab tr,.dir{break-inside:avoid}
  #produto-corpo [data-painel]{display:block !important}
  body.imprimindo-roteiro>*:not(.rot-impressao){display:none !important}
  body.imprimindo-roteiro .rot-impressao{display:block;font:11pt/1.5 var(--sans);color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rot-impressao h1{margin:2pt 0 6pt;font-size:20pt;line-height:1.2}
  .rot-impressao h2{margin:14pt 0 4pt;font-size:12pt;break-after:avoid}
  .rot-impressao .imp-marca{font-size:8.5pt;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7A1F3D}
  .rot-impressao .imp-info{font-size:10pt;color:#333}
  .rot-impressao table{width:100%;margin-top:10pt;border-collapse:collapse;font-size:10pt}
  .rot-impressao th,.rot-impressao td{padding:5pt 6pt;border:1px solid #999;text-align:left;vertical-align:top}
  .rot-impressao th{background:#F3E9EC}
  .rot-impressao td:first-child{width:18%;font-weight:600}
  .rot-impressao tr{break-inside:avoid}
  .rot-impressao .imp-texto{white-space:pre-line;overflow-wrap:anywhere}
  .rot-impressao .imp-rodape{margin-top:18pt;padding-top:6pt;border-top:1px solid #999;font-size:8.5pt;color:#555}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
}
.voce{font-weight:400;color:var(--cinza)}
.galeria-foto .foto-vazia img,.galeria-mini .foto-vazia img{width:30%;height:auto;object-fit:contain}
.pl-foto .foto-vazia img{width:50%;height:auto}

/* ───────── integrador Shopee (mockup; js/shopee.js) ───────── */
.shp{display:grid;gap:var(--s4);max-width:780px}
.shp-hero{display:flex;align-items:center;gap:var(--s4);padding:var(--s5);border-radius:var(--r-bloco);background:linear-gradient(135deg,#FFF5F2 0%,#FFE6DE 100%);box-shadow:inset 0 0 0 1px #F8D3C9}
.shp-marca{display:grid;place-items:center;flex:none;width:68px;height:68px;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(238,77,45,.22)}
.shp-marca .shp-logo{width:42px;height:42px}
.shp-hero-txt{min-width:0}
.shp-sobre{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#C2391B}
.pagina .shp-hero h2{margin-top:2px;font-size:21px;line-height:26px}
.shp-status{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:6px 12px;border-radius:var(--r-chip);background:#fff;box-shadow:inset 0 0 0 1px #F8D3C9;font-size:13px;font-weight:600;line-height:18px;color:#9A3412}
.shp-ponto{flex:none;width:8px;height:8px;border-radius:50%;background:#F59E0B;box-shadow:0 0 0 3px rgba(245,158,11,.22)}
.shp-corpo{padding:var(--s5);border-radius:var(--r-bloco);background:var(--branco);box-shadow:var(--borda)}
.shp-reqs{display:grid;gap:var(--s2);margin-top:var(--s3);padding:0;list-style:none}
.shp-req{display:flex;align-items:center;gap:var(--s3);padding:12px 14px;border-radius:var(--r-cartao);box-shadow:var(--borda);transition:background .25s,box-shadow .25s}
.shp-req-ico{flex:none;width:26px;height:26px;border-radius:50%;border:2px dashed #E9A897}
.shp-req-txt{display:grid;flex:1;gap:2px;min-width:0}
.shp-req-txt b{font-size:14px;line-height:19px}
.shp-req-txt span{font-size:13px;line-height:18px;color:var(--cinza)}
.shp-req.pendente{background:#FFF7F5;box-shadow:inset 0 0 0 1.5px #F3B4A4}
.shp-req.pendente .shp-req-ico{border-color:#EE4D2D}
.shp-acao{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);margin-top:var(--s5)}
.btn-shopee{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 26px 0 16px;border:0;border-radius:var(--r-botao);background:#EE4D2D;color:#fff;font:700 16px/1 var(--sans);cursor:pointer;box-shadow:0 8px 20px rgba(238,77,45,.32);transition:background .15s,box-shadow .15s,transform .15s}
.btn-shopee:hover{background:#D73211;box-shadow:0 10px 26px rgba(238,77,45,.42)}
.btn-shopee:active{transform:translateY(1px)}
.btn-shopee:focus-visible{outline:3px solid #FDBA9F;outline-offset:2px}
.btn-shopee .shp-logo{flex:none;width:30px;height:30px}
.btn-shopee.conferindo{background:#F2765C;cursor:progress}
.btn-shopee.conferindo::after{content:"";flex:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:ent-gira .8s linear infinite}
.shp-aviso{margin-top:var(--s4);padding:14px 16px;border-radius:var(--r-cartao);background:#FFF4E5;box-shadow:inset 0 0 0 1px #F9D9A8;font-size:14px;line-height:20px;color:#7C2D12}
.shp-aviso-tit{margin-bottom:4px;font-weight:700}
@media (prefers-reduced-motion:no-preference){
  .shp-ponto{animation:shp-pulsa 1.8s ease-in-out infinite}
  .shp-aviso:not([hidden]){animation:aparece .2s ease-out}
}
@keyframes shp-pulsa{50%{box-shadow:0 0 0 7px rgba(245,158,11,0)}}
@media (max-width:767px){
  .shp-hero{flex-direction:column;align-items:flex-start;padding:var(--s4)}
  .shp-corpo{padding:var(--s4)}
  .btn-shopee{width:100%;justify-content:center}
}
