/* Curadoria do catálogo — densidade alta de propósito: o trabalho é percorrer
   dezenas de itens, então a lista prioriza varredura rápida sobre respiro. */
:root{
  --tinta:#1f2328; --suave:#6b7280; --linha:#e5e7eb; --fundo:#f7f8fa;
  --primaria:#0b6bcb; --primaria-esc:#084d93; --ok:#1a7f37; --alerta:#b45309;
  --perigo:#b42318; --branco:#fff;
}
*{box-sizing:border-box}
body{margin:0;font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
     color:var(--tinta);background:var(--fundo)}

.topo{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
      padding:18px 24px;background:var(--branco);border-bottom:1px solid var(--linha)}
.topo h1{margin:0;font-size:19px}
.sub{margin:4px 0 0;color:var(--suave);max-width:70ch}
.voltar{color:var(--primaria);text-decoration:none;white-space:nowrap;font-size:13px}

.painel{display:flex;gap:12px;padding:16px 24px;flex-wrap:wrap}
.cartao{background:var(--branco);border:1px solid var(--linha);border-radius:8px;
        padding:12px 16px;display:flex;flex-direction:column;min-width:120px}
.cartao .num{font-size:26px;font-weight:600;line-height:1.1}
.cartao span:last-child{color:var(--suave);font-size:12px}
.cartao-botao{font:inherit;text-align:left;cursor:pointer;color:var(--tinta)}
.cartao-botao:hover{border-color:var(--primaria)}
.cartao.aviso{flex:1;min-width:280px;background:#fffbeb;border-color:#fcd34d;
              font-size:12.5px;color:#78350f;justify-content:center}

.filtros{display:flex;gap:10px;padding:0 24px 12px;flex-wrap:wrap;align-items:center}
.filtros input[type=search],.filtros select{
  padding:8px 10px;border:1px solid var(--linha);border-radius:6px;background:var(--branco);font:inherit}
.filtros input[type=search]{flex:1;min-width:220px}
.sel-todos{font-size:12.5px;color:var(--suave);display:flex;gap:6px;align-items:center}
.novo-med{padding:8px 12px;border:1px solid var(--primaria);border-radius:6px;
          background:#fff;color:var(--primaria);cursor:pointer}

.fila-rapida{margin:0 24px 12px;padding:12px 14px;border:1px solid #93c5fd;
             border-radius:8px;background:#eff6ff;display:flex;align-items:center;
             gap:10px;flex-wrap:wrap;color:var(--primaria-esc)}
.fila-rapida[hidden]{display:none}
.fila-rapida div{display:flex;flex-direction:column;flex:1;min-width:230px}
.fila-rapida span{font-size:12px;color:var(--suave)}
.fila-rapida button{padding:8px 12px;border:1px solid var(--primaria);border-radius:6px;
                    background:var(--primaria);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.fila-rapida button.secundario{background:#fff;color:var(--primaria);font-weight:500}

.lote{position:sticky;top:0;z-index:5;display:flex;gap:8px;align-items:center;
      padding:10px 24px;background:#0b6bcb;color:#fff;flex-wrap:wrap}
.lote input{flex:1;min-width:220px;padding:7px 10px;border:0;border-radius:6px;font:inherit}
.lote button{padding:7px 14px;border:0;border-radius:6px;background:#fff;
             color:var(--primaria-esc);font-weight:600;cursor:pointer}
.lote button.publicar{background:var(--ok);color:#fff}
.lote button.limpar{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}

.lista{padding:0 24px 40px;display:flex;flex-direction:column;gap:6px}
.item{display:flex;gap:10px;background:var(--branco);border:1px solid var(--linha);
      border-radius:8px;padding:10px 12px;align-items:flex-start}
.ordem-fila{flex:0 0 28px;height:28px;border-radius:99px;background:#eff6ff;
            color:var(--primaria-esc);display:grid;place-items:center;font-size:11px;font-weight:700}
.item.sel{border-color:var(--primaria);box-shadow:0 0 0 1px var(--primaria) inset}
.item .corpo{flex:1;cursor:pointer;min-width:0}
.linha1{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pa{color:var(--suave);font-size:12.5px}
.classe{font-size:13px;margin-top:2px}
.marcas{font-size:12px;color:var(--primaria-esc);margin-top:3px}
.apres{font-size:12px;color:var(--suave);margin-top:2px}
.falta{color:var(--alerta);font-style:italic}
.tags{margin-top:6px;display:flex;gap:5px;flex-wrap:wrap}

.tag{font-size:11px;padding:2px 7px;border-radius:99px;border:1px solid var(--linha);
     background:var(--fundo);color:var(--suave)}
.tag-lacuna{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.tag-ok{background:#ecfdf5;border-color:#6ee7b7;color:var(--ok)}
.tag-uso{background:#eff6ff;border-color:#93c5fd;color:var(--primaria-esc)}
.tag-especial{background:#fef2f2;border-color:#fca5a5;color:var(--perigo)}

.status{font-size:11px;padding:2px 8px;border-radius:99px;text-transform:uppercase;
        letter-spacing:.03em;font-weight:600}
.s-rascunho{background:#f3f4f6;color:#4b5563}
.s-em_revisao{background:#fef3c7;color:#92400e}
.s-aprovado{background:#dbeafe;color:#1e40af}
.s-publicado{background:#dcfce7;color:#166534}
.s-descontinuado{background:#fee2e2;color:#991b1b;text-decoration:line-through}

.gaveta{position:fixed;inset:0;width:100%;height:100%;
        background:var(--branco);overflow-y:auto;z-index:10}
.gaveta-topo{display:flex;justify-content:space-between;align-items:center;
             padding:16px max(24px,calc((100% - 1180px)/2));border-bottom:1px solid var(--linha);
             position:sticky;top:0;background:var(--branco);z-index:2}
.gaveta-topo h2{margin:0;font-size:16px}
.gaveta-topo button{border:0;background:none;font-size:20px;cursor:pointer;color:var(--suave)}
.gaveta-corpo{padding:20px 24px 70px;max-width:1180px;margin:0 auto}
.grade-med{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.grade-med .campo{margin-bottom:0}
.titulo-secao{display:flex;align-items:center;justify-content:space-between;gap:12px;
              margin-top:24px;border-bottom:1px solid var(--linha)}
.titulo-secao h3{margin:0;border:0}
.titulo-secao .nova-regra{margin:0 0 7px}
.nav-fila{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;
          margin:0 0 14px;padding:9px;background:var(--fundo);border:1px solid var(--linha);
          border-radius:7px}
.nav-fila b{text-align:center;font-size:12px;color:var(--suave)}
.nav-fila button{padding:6px 9px;border:1px solid var(--linha);border-radius:5px;
                 background:#fff;color:var(--primaria);cursor:pointer}
.nav-fila button:last-child{justify-self:end}.nav-fila button:disabled{color:#9ca3af;cursor:default}
.campo{margin-bottom:12px;display:flex;flex-direction:column;gap:4px}
.campo label{font-size:12.5px;font-weight:600}
.campo label small{display:block;font-weight:400;color:var(--suave);margin-top:2px}
.campo input,.campo textarea{padding:8px 10px;border:1px solid var(--linha);
                             border-radius:6px;font:inherit}
.campo select{padding:8px 10px;border:1px solid var(--linha);border-radius:6px;
              background:var(--branco);font:inherit}
.campo.linha label{flex-direction:row;font-weight:400}
.marcas-apresentacoes{display:flex;gap:5px;flex-wrap:wrap;padding:7px 0}

.acoes{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.acoes button{padding:8px 14px;border:1px solid var(--linha);border-radius:6px;
              background:var(--branco);cursor:pointer;font:inherit}
.acoes button.publicar{background:var(--ok);color:#fff;border-color:var(--ok)}
.acoes button.aprovar{background:var(--primaria);color:#fff;border-color:var(--primaria)}
.acoes button.perigo{color:var(--perigo);border-color:#fca5a5}
.fila-aviso{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;
            padding:8px 10px;color:var(--primaria-esc);margin:0 0 14px}
.revisar-sequencia{display:block;width:100%;margin-bottom:10px;padding:9px 12px;
                   border:1px solid var(--primaria);border-radius:6px;
                   background:var(--primaria);color:#fff;font:inherit;
                   font-weight:600;cursor:pointer}
.revisar-sequencia:hover{background:var(--primaria-esc)}

.gaveta h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;
           color:var(--suave);margin:22px 0 8px}
.mini{margin:0;padding-left:18px;font-size:13px}
.mini li{margin:4px 0}
.apresentacoes-curadoria li{margin:8px 0;padding-bottom:7px;border-bottom:1px solid var(--linha)}
.ap-grupos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:10px 0 20px}
.ap-grupo{border:1px solid var(--linha);border-radius:8px;padding:10px 12px;min-width:0}
.ap-grupo h4{margin:0 0 7px;font-size:13px}.ap-grupo h4 span{color:var(--suave)}
.ap-visiveis{border-color:#86efac;background:#f0fdf4}.ap-revisao{border-color:#fcd34d;background:#fffbeb}
.ap-retiradas{grid-column:1/-1;border:1px solid var(--linha);border-radius:8px;padding:9px 12px}
.ap-retiradas summary{cursor:pointer;color:var(--suave);font-weight:600}
.visibilidade{display:inline-block;margin-left:4px;font-size:11px;font-weight:600}
.visibilidade.visivel{color:var(--ok)}
.visibilidade.oculta{color:var(--perigo)}
.hist .quando{color:var(--suave);font-size:11.5px}
.hist .just{color:var(--suave);font-size:12px;margin-top:2px}
.prescricao-da-apresentacao{margin:6px 0 2px;padding:6px 8px;border-radius:6px;
                            font-size:12px;background:#f9fafb;border:1px solid var(--linha)}
.prescricao-da-apresentacao.definida{background:#ecfdf5;border-color:#a7f3d0;color:#166534}
.prescricao-da-apresentacao.ausente{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.prescricao-da-apresentacao small{color:inherit}.regra-vinculo{font-size:11.5px;color:var(--suave);margin-top:2px}
.titulo-prescricao{align-items:flex-end}.titulo-prescricao>div>p{margin:3px 0 8px;color:var(--suave);font-size:12px}
.prescricao-vazia{display:flex;flex-direction:column;gap:3px;padding:12px 14px;
                  border:1px solid #fdba74;background:#fff7ed;color:#9a3412;border-radius:7px}
.prescricao-vazia span{font-size:12px}
.organizar-catalogo{display:flex;align-items:center;gap:14px;justify-content:space-between;
                    padding:11px 13px;border:1px solid #c4b5fd;background:#f5f3ff;border-radius:8px}
.organizar-catalogo div{display:flex;flex-direction:column}.organizar-catalogo small{color:#6d28d9}
.organizar-catalogo button,.acao-principal{padding:7px 11px;border:1px solid #7c3aed;background:#fff;
                                          color:#6d28d9;border-radius:6px;cursor:pointer;white-space:nowrap}
.organizador-aviso{display:flex;flex-direction:column;padding:12px 14px;border:1px solid #c4b5fd;
                   background:#f5f3ff;border-radius:8px;margin-bottom:14px}
.organizador-aviso span{font-size:17px}.organizador-aviso small{color:var(--suave);margin-top:3px}
.organizador-bloco{padding:12px 14px;border:1px solid var(--linha);border-radius:8px;margin:12px 0}
.organizador-bloco h3{margin-top:0}.organizador-bloco.separar{border-color:#93c5fd;background:#eff6ff}
.destinos-lista{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}
.destino-item{display:flex;align-items:center;justify-content:space-between;gap:10px;
              padding:8px 10px;border:1px solid var(--linha);border-radius:6px;background:#fff}
.destino-item div{display:flex;flex-direction:column;min-width:0}.destino-item span,.destino-item small{color:var(--suave);font-size:12px}
.destino-item button{padding:6px 9px;border:1px solid var(--primaria);background:#fff;
                     color:var(--primaria);border-radius:5px;cursor:pointer;white-space:nowrap}

.carregando,.vazio,.erro{color:var(--suave);padding:24px 0}
.erro{color:var(--perigo)}

.pendencias{margin:0 24px 14px;padding:14px;background:#fff7ed;
            border:1px solid #fdba74;border-radius:8px}
.pendencias-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pendencias-topo h2{font-size:16px;margin:0}
.pendencias-topo p{font-size:12px;color:var(--suave);margin:3px 0 10px}
.pendencias-topo button{border:1px solid var(--linha);background:#fff;border-radius:5px;padding:5px 10px;cursor:pointer}
.pendencia-item{background:#fff;border-top:1px solid #fed7aa;padding:9px 10px}
.pendencia-item:first-child{border-top:0}
.ajuda{font-size:12px;color:var(--suave);margin:-4px 0 8px}
.componente-ap{display:grid;grid-template-columns:minmax(140px,2fr) 90px 65px auto 70px minmax(100px,1fr) auto;
               gap:5px;align-items:center;margin-bottom:7px}
.componente-ap input{min-width:0;padding:7px 8px;border:1px solid var(--linha);border-radius:5px;font:inherit}
.componente-ap button{border:1px solid var(--linha);background:#fff;border-radius:5px;color:var(--perigo);padding:6px 8px;cursor:pointer}

/* Editor de regra de dose */
.regras .doses{margin:4px 0;display:flex;gap:8px;flex-wrap:wrap}
.dose{font-size:12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;padding:1px 6px}
.dose i{color:var(--alerta);font-size:11px}
.instrucao-regra{font-size:12px;background:#ecfdf5;border:1px solid #a7f3d0;
                 border-radius:4px;padding:4px 7px;color:#166534}
.previa-regra{margin:0 0 14px;padding:10px;border:1px solid #a7f3d0;border-radius:6px;
              background:#ecfdf5;display:flex;flex-direction:column;gap:4px}
.previa-regra span{font-size:11px;text-transform:uppercase;color:#166534}
.previa-regra b{font-size:13px;font-weight:500}
.previa-regra small{font-size:12px;color:#166534}
.instrucao-campos{display:grid;grid-template-columns:1fr .65fr .9fr 1.5fr;gap:8px}
.instrucao-campos.dois{grid-template-columns:1fr 1fr}
.acoes-mini{margin-top:4px;display:flex;gap:6px}
.acoes-mini button{font-size:11.5px;padding:3px 8px;border:1px solid var(--linha);
                   border-radius:4px;background:var(--branco);cursor:pointer}
.linha-dose{display:flex;gap:6px;align-items:center;margin-bottom:5px}
.linha-dose input[type=text],.linha-dose input:not([type]){flex:1}
.linha-dose input{padding:6px 8px;border:1px solid var(--linha);border-radius:5px;font:inherit;min-width:0}
.linha-dose label{font-size:11.5px;color:var(--suave);display:flex;gap:3px;align-items:center;white-space:nowrap}
.linha-dose button{border:1px solid var(--linha);background:var(--branco);border-radius:5px;
                   cursor:pointer;padding:4px 8px;color:var(--perigo)}
button.add{margin-top:4px;font-size:12px;padding:5px 10px;border:1px dashed var(--linha);
           background:var(--branco);border-radius:5px;cursor:pointer}
button.nova-regra{margin-top:10px;padding:8px 14px;border:1px solid var(--primaria);
                  color:var(--primaria);background:var(--branco);border-radius:6px;cursor:pointer}

@media(max-width:620px){
  .grade-med{grid-template-columns:1fr}
  .ap-grupos{grid-template-columns:1fr}
  .componente-ap{grid-template-columns:1fr 80px 60px}
  .componente-ap span{display:none}
  .instrucao-campos,.instrucao-campos.dois{grid-template-columns:1fr 1fr}
  .organizar-catalogo,.destino-item{align-items:stretch;flex-direction:column}
}
